async-tail 0.2.0

Last updated:

0 purchases

async-tail 0.2.0 Image
async-tail 0.2.0 Images
Add to Cart

Description:

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

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.