Last updated:
0 purchases
asynctail 0.2.0
async-tail
Asynchronous tailing library written in Rust.
Python wrapper around Rust linemux library, which uses the notify cross-platform filesystem notification library.
Uses PyO3 Rust bindings and PyO3-asyncio to manage Rust/Python event loops lifecycles.
Installation
async-tail requires Python 3.7 - 3.11.
pip install async-tail
Binaries are available for:
Linux: x86_64, aarch64, i686, armv7l, musl-x86_64, musl-aarch64, ppc64le & s390x
MacOS: x86_64 & arm64 (except python 3.7)
Windows: To be done
Otherwise, you can install from source which requires Rust stable to be installed.
Usage
Here are some examples of what async-tail can do:
tail Usage
from async_tail import tail
for line in tail('./path/to/file.log', './path/to/file_2.log'):
print(line)
atail Usage
import asyncio
from async_tail import atail
async def main():
async for line in atail('/path/to/file.txt', '/path/to/file_2.txt'):
print(line)
asyncio.run(main())
Notes
async-tail is a way for me to learn Rust and experiment Rust bindings from Python. It is inspired from the great Samuel COLVIN's work on watchfiles, which provides a Python wrapper around Rust notify crate. This is still under development. More things will come:
Write tests
Setup proper CI
Build wheels for Windows
Build and expose docs
Provide benchmarks
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.