Commit Graph

144 Commits

Author SHA1 Message Date
dependabot[bot]
874da2d46d Bump nox from 2023.4.22 to 2025.5.1 in /.github/workflows (#224)
Bumps [nox](https://github.com/wntrblm/nox) from 2023.4.22 to 2025.5.1.
- [Release notes](https://github.com/wntrblm/nox/releases)
- [Changelog](https://github.com/wntrblm/nox/blob/main/CHANGELOG.md)
- [Commits](https://github.com/wntrblm/nox/compare/2023.04.22...2025.05.01)

---
updated-dependencies:
- dependency-name: nox
  dependency-version: 2025.5.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 10:28:54 +02:00
dependabot[bot]
14587b4562 Bump astral-sh/setup-uv from 4 to 6 (#222)
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 4 to 6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v4...v6)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 10:27:09 +02:00
dependabot[bot]
5563ec854c Bump virtualenv from 20.29.1 to 20.31.2 in /.github/workflows (#228)
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.29.1 to 20.31.2.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.29.1...20.31.2)

---
updated-dependencies:
- dependency-name: virtualenv
  dependency-version: 20.31.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 10:26:53 +02:00
dependabot[bot]
86f340d4d4 Bump pip from 25.0 to 25.1.1 in /.github/workflows (#229)
Bumps [pip](https://github.com/pypa/pip) from 25.0 to 25.1.1.
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/25.0...25.1.1)

---
updated-dependencies:
- dependency-name: pip
  dependency-version: 25.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 10:26:30 +02:00
dependabot[bot]
5597e70941 Bump codecov/codecov-action from 4 to 5 (#223)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 10:26:11 +02:00
dependabot[bot]
03b373d8df Bump crazy-max/ghaction-github-labeler from 4.1.0 to 5.3.0 (#221)
Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from 4.1.0 to 5.3.0.
- [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases)
- [Commits](https://github.com/crazy-max/ghaction-github-labeler/compare/v4.1.0...v5.3.0)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-github-labeler
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 10:24:26 +02:00
Aljoscha Sander
816aca6208 added ConsoleConf to top level __init__.py (#230)
* added ConsoleConf to top level __init__.py

* Apply isort.

---------

Co-authored-by: Felix Weiler-Detjen <felix@flucto.tech>
2025-06-02 19:36:37 +02:00
Felix Weiler
2767dceddb Add keyword arguments to Receiver.receive() (#214)
* 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.
2025-05-06 13:40:11 +02:00
Felix Weiler
e95cbda207 Fix receiver aiter and anext interface. (#215) 2025-05-06 13:37:39 +02:00
Felix Weiler
317a09972f Repo houskeeping (#220)
* 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
2025-05-06 13:35:16 +02:00
Felix Weiler
6feec59b81 Rename argument to SerialSender from pack to packer. Fixes #200. (#216) 2025-04-25 13:14:48 +02:00
P-Bent
2bd5399049 Fixed config and sender in order for the UWB-Module integration (#210)
* fix serial sender connected state

---------

Co-authored-by: Bent Prellberg <bent@flucto.tech>
2025-04-11 14:39:32 +02:00
Felix Weiler
571251aa90 Fix mqtt background datastructure. (#208)
* 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.
2025-03-03 12:54:15 +01:00
Felix Weiler
7971d09147 Correctly check literal values in configuration. (#205) 2025-02-15 16:29:40 +01:00
Felix Weiler
50e2fda5f1 Fix Filewriter (#197)
* Add heisskleber.file to __init__.

* Refactor FileWriter with background loop that handles all write operations.

* Add batch_interval to FileConf.
2025-02-07 18:19:29 +01:00
Felix Weiler
1e771709ef Merge pull request #201 from flucto-gmbh/fix/documentation
Rename classes in docs reference.
2025-02-05 12:16:05 +01:00
Felix Weiler-Detjen
f887416610 Rename classes in docs reference. 2025-02-05 12:15:09 +01:00
Felix Weiler
03b018f5b8 Merge pull request #190 from flucto-gmbh/development
Development
2025-01-24 16:36:50 +00:00
Felix Weiler
a9e7d55191 Merge pull request #189 from flucto-gmbh/feature/files
File Sender and Receiver
2025-01-24 16:34:25 +00:00
Felix Weiler-Detjen
454e4144c7 Fix file test 2025-01-24 16:19:38 +00:00
Felix Weiler-Detjen
440b08ea6e Fix log call in retry util. 2025-01-24 16:18:44 +00:00
Felix Weiler-Detjen
4ee69cb69c Register file classes. 2025-01-24 16:18:30 +00:00
Felix Weiler-Detjen
0c76cde830 Update csv util to adhere to rfc 4180. 2025-01-24 15:00:34 +00:00
Felix Weiler-Detjen
15d7eff3a0 Improve test to assert empty fields. 2025-01-24 11:59:39 +00:00
Felix Weiler-Detjen
008a75cbe5 Add format specifiers for filewriter
Allows to configure csv, json for automatic Sender setup.
User configuration allowed via __init__ parameters packer, header_func.
2025-01-24 11:54:56 +00:00
Felix Weiler-Detjen
7c29fb2ca0 Add freezegun to test dependencies 2025-01-23 16:40:56 +00:00
Felix Weiler-Detjen
81a3feebe5 Satisfy the ruff overlord. 2025-01-23 16:37:46 +00:00
Felix Weiler-Detjen
4c68c5f266 Add smarter csv packer. 2025-01-23 16:33:01 +00:00
Felix Weiler-Detjen
8bd332d27c Handle payload based on type in all senders. 2025-01-23 16:32:53 +00:00
Felix Weiler-Detjen
1dd91517a7 First implementation of FileReceiver 2025-01-23 16:30:52 +00:00
Felix Weiler-Detjen
030c23a9cb Add tests for FileSender rollover functionality. 2025-01-23 16:30:52 +00:00
Felix Weiler-Detjen
6facd5e8a7 WIP: file sender. 2025-01-23 16:30:52 +00:00
Felix Weiler-Detjen
c69a9ec051 WIP: implement file sender and receiver. 2025-01-23 16:30:52 +00:00
Felix Weiler
cf0f8e73c2 Add registry for all senders, receivers and config files. (#188)
* 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>
2025-01-23 14:24:37 +01:00
Felix Weiler
d2f4233c98 Fix #183, MqttSender now correctly raises PackerError. (#184) 2025-01-18 11:52:24 +01:00
Felix Weiler
2580ceda35 Merge pull request #181 from flucto-gmbh/fix/mqtt-ssl
Fix mqtt sender not sending any messages via ssl.
2025-01-13 10:57:01 +00:00
Felix Weiler-Detjen
37cd50c41c Add tls parameters to mqtt receiver. 2025-01-13 10:45:43 +00:00
Felix Weiler-Detjen
4e6adfca1a Fix error in release.yml 2025-01-10 14:53:59 +00:00
Felix Weiler-Detjen
f5945af65d Sort __init__.py 2025-01-10 14:51:57 +00:00
Felix Weiler-Detjen
6c210bdf78 Fix mqtt sender not sending any messages via ssl. 2025-01-10 14:43:46 +00:00
Felix Weiler
f3dab17d19 Merge pull request #179 from flucto-gmbh/fix/error-naming
Rename UnpackError to UnpackerError
2024-12-11 12:17:26 +01:00
Felix Weiler-Detjen
af767078bf Rename UnpackError to UnpackerError 2024-12-11 12:16:13 +01:00
Felix Weiler
98099f5b00 Refactor heisskleber core, remove synchronous implementations (#156)
* #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>
2024-12-09 19:32:34 +01:00
Felix Weiler
1f6e17bd42 Switch to pathlib for config paths. (#128)
* 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.
2024-05-29 15:41:12 +02:00
Felix Weiler
9ea27403a4 Add documentation for mqtt.yaml usage. (#127) 2024-05-27 14:08:19 +02:00
Felix Weiler
26406110e5 Feature/filters (#110)
* 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.
2024-04-09 09:34:51 +08:00
Felix Weiler
04fc291b27 Turn sources into iterators (#109)
* Change Serializable definition.

* Add iter and aiter methods to source types.
2024-04-09 09:33:37 +08:00
Felix Weiler
26a1127ac5 Add source_id to MqttConf (#102)
* Introduced source_id field in mqtt config, added config export.

* Bump patch version.
2024-03-11 17:15:09 +08:00
Felix Weiler-Detjen
d33e3a64fb Bump patch version. 2024-03-09 19:25:24 +08:00
Felix Weiler
a183f28cad Fix mqtt publisher connection issue. (#100) 2024-03-09 11:33:53 +08:00