Helpers for asynchronous line processing. Some asynchronous readline implementations consume data if a readline() call times out. This is a wrapper for those implementations, guranteeing that either full lines are returned or nothing.
Project description
Atomic-Lines
Intro
A toy project, wrapping asynchronous one byte readers into a sane(?) readline semantic. If no end of line is found the request is considered timedout, and the data is kept in the buffer, otherwise lines are returned (without the EOL character) for further processing.
The main goal is to help wrap i.e. serial access or other apis which consume data if readline times out.
For more userfriendly documentation see https://maltevesper.github.io/atomiclines/.
Logging configuration
Logging can be configured by pointing the environment variable ATOMICLINES_LOG_CONFIG
to a yaml file.
ATOMICLINES_LOG_CONFIG=logging_configuration.yaml pytest
The yaml file, should contain a logging dict. Example file:
version: 1
disable_existing_loggers: true
formatters:
standard:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
error:
format: "%(levelname)s <PID %(process)d:%(processName)s> %(name)s.%(funcName)s(): %(message)s"
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: standard
stream: ext://sys.stdout
loggers:
atomiclines:
level: INFO
handlers: [console]
propogate: no
For Developers
Bash Completion for pytest
pip install argcomplete # is a dev dependency too
activate-global-python-argcomplete
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file atomic_lines-0.1.1rc6.tar.gz
.
File metadata
- Download URL: atomic_lines-0.1.1rc6.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4940bf07eee586669ed5450e12d0b87f9025977f6697c87b97106153072371ec |
|
MD5 | a88c36f5e2b9568bdcd945e8158d3a99 |
|
BLAKE2b-256 | e5f63cfe21f0ab94f50ccc8d9575ef02b8e184f2bd209cafae87e5aca3233d25 |
File details
Details for the file atomic_lines-0.1.1rc6-py3-none-any.whl
.
File metadata
- Download URL: atomic_lines-0.1.1rc6-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0e66a8a81c20e02ab83cb7369e2164f68ce5e343ea6b2ef483ec39305eba23d |
|
MD5 | 8d5f874d483cf0ad12fea0abab97b78b |
|
BLAKE2b-256 | cd2893cd9a1a455f32aca3e60e869ce6a823bb3a4a74ebdc63f5c4f994c93e6c |