* Add keyword arguments to Receiver.receive()
This change allows for more low level control of communication, e.g.
with serial devices.
* Rename line termination char and add to config.
* Remove deprecated Makefile
* Fix zmq test warning
* Fix type hints in config class.
* Update linting rules
* Remove filter group
* Update pre-commit hook
* Update file test to stop creating files in current dir
* Add yaml-types.
* Update README
* Fix mqtt background datastructure.
Use deque instead of queue, as there is just one producer and one
consumer. Maxsize automatically removes old values from queue. Default
queue size 1000.
* Back to asyncio.queue, emulate the queue overrun functionality.
* Add registry for all senders, receivers and config files.
Minor tweaks to signatures of SerialReceiver and ConsoleSender to
maintain compability with ather Senders and Receivers.
* fixed failing console test
* fixed import order
---------
Co-authored-by: Aljoscha Sander <aljoscha@flucto.tech>
* #129 AsyncTcpSource enhancements
- retry connection on startup (behavior is configurable)
- reconnect if data receiving fails (EOF received)
- add Python logging
- add unit tests
* remove syncronous implementations.
* WIP: Refactor packer/unpacker
* Refactor type hints and topic handling in console sink.
* Remove comma from tcp config enum definitions
* Remove references to deleted synchronous classes.
* Hopefully stable interface for Packer and Unpacker.
* WIP: Working with protocols and generics
* Finalized Sink, Source definition.
* Rename mqtt source and sink files
* Rename mqtt publisher and subscriber.
* Fix start function to async.
* Update documentation.
* Remove recursion from udp source.
* rename unpack to unpacker, stay consistent.
* Renaming in tests.
* Make MqttSource generic.
* Configure pyproject.toml to move to uv
* Add nox support.
* Update documentation with myst-parser and sphinx.
* Mess with autogeneration of __call__ signatures.
* Add dynamic versioning to hatch
* Asyncio wrapper for pyserial.
* Add docstrings for serial sink and source.
* Refactor config handling (#171)
* Removes deprecated "verbose" and "print_std" parameters
* Adds class methods for config generation from dictionary or file (yaml or json at this point)
* Run-time type checking via __post_init__() function
* Add serial dependency.
* WIP
* Move broker to bin/
* Update docs.
* WIP: Need to update docstrings to make ruff happy.
* Move source files to src/
* Fix tests for TcpSource.
* WIP: Remove old tests.
* Fix docstrings in mqtt classes.
* Make default tcp unpacker json_unpacker.
* No failed tests if there are no tests
* Update test pipeline
* Update ruff pre-commit
* Updated ruff formatting
* Format bin/
* Fix type hints
* No type checking
* Make stop() async
* Only test on ubuntu for now
* Don't be so strict about sphinx warnings.
* Rename TestConf for pytest naming compability.
* Install package in editable mode for ci tests.
* Update dependencies for docs generation.
* Add keepalive and will to mqtt, fixes#112.
* Update readme to reflect changes in usage.
* Requested fixes for console adapters.
* Raise correct errors in unpacker and packer.
* Correct logger name for mqtt sink.
* Add config options for stopbits and parity to Serial.
* Remove exception logging call from yaml parser.
* Add comments to clear up very implicit test.
* Rename Sink -> Sender, Source -> Receiver.
* Rename sink and source in tests.
* Fix tests.
---------
Co-authored-by: Adrian Weiler <a.weiler@aldea.de>
* Switch to pathlib for config paths.
* Run tests on windows platform.
* Fix test in zmq to mock Path object instead of str.
* Fix async zmq test.
* Revert "Run tests on windows platform."
This reverts commit ac4c47ef4ed13b7440521dc39c2224b09a4926bb.
* Change Serializable definition.
* Add iter and aiter methods to source types.
* Add filter baseclass and two implementations.
G-H filter, a simple observer.
Butterworth filter, can be high or low.
* Fix documentation of gh filter.