PyArtNet is a python implementation of the ArtNet protocol using asyncio. Supported protocols are ArtNet, sACN and KiNet.
Docs and examples can be found here
- Breaking change:
Nodes now need to be run through an async context manager, e.g.:
async with ArtNetNode.create('IP') as node: ...
- Added support for transmitting multiple universes in sync
- Added support for transmitting SACN through the broadcast address
- ruff and typing fixes
- used UV
- Fixed an issue where consecutive fades would not start from the correct value
- renamed
channel.add_fadetochannel.set_fade(channel.add_fadewill issue aDeprecationWarning)
- Complete rework of library (breaking change)
- Add support for sACN and KiNet
- Added linear fade (closes #14)
- Updated max FPS (closes #17)
- All raised Errors inherit now from PyArtNetError
- Some refactoring and cleanup
- Activated tests for Python 3.10
- No more jumping fades when using output correction with bigger channels
- Reformatted files
- Using nonblocking sockets
- Added option to send frames to a broadcast address
- Fixed an issue with the max value for channels with 16bits and more
- Added support for channels with 16, 24 and 32bits
- renamed logger to
pyartnetto make it consistent with the module name - callbacks on the channel now get the channel passed in as an argument
- Adding the same channel multiple times or adding overlapping channels raises an exception
- Added
pyartnet.errors - optimized logging of sent frames
ArtnetNode.startis now an async functionArtnetNode.step_time_msrenamed toArtnetNode.step_time(shouldn't be used manually anyway)- removed support for python 3.6
- added more and better type hints
- switched to pytest
- small fixes
Art-Net™ Designed by and Copyright Artistic Licence Engineering Ltd