22 releases (5 breaking)

0.7.4 Oct 16, 2024
0.7.3-alpha.2 Sep 7, 2024
0.6.0 Jul 9, 2024
0.5.1 May 13, 2024
0.1.6 Jul 18, 2023

#497 in Development tools

43 downloads per month
Used in 5 crates

GPL-3.0-or-later

125KB
251 lines

pt / libpt

Project badge Crates.io License GitHub Release GitHub language count Rust CI

pt-logo

pt stands for either one of "personal tool", "plex tool", "pete" or something among those lines. It is a collection of tools that i might or might not use. The intended purpose of this repo is that I program whatever i feel is worth having in a personal thing into it, then use it as either a lib, crate, python module or executable.

That was the original idea. pt has since become a sort of collection to make other libraries easier to use. Rust can sometimes be quite complicated to especially the newer developers, so maybe this project can help with that a bit.

I'm also deciding that pt means "plex tool", as this is created by "PlexSheep", and it's a sort of multiplexer for software.

Dependencies

Compiling & Installing from source

If you only want the rust library, you can simply build it with cargo build. Add it to your project like any other local dependency.

If you want to use the python variant too, you need to compile with maturing.

  • Install in venv: maturin develop --release
  • Install in system: maturin build --release && pip install target/wheels/libpt-x.x.x-*

Installing from pypi

The Python interface of libpt is currently not implemented, but it is planned to eventually re add it. Meanwhile, you can use a much older version if you really want.

⚠️ This will install a very old version

libpt has been packaged for pypi.org.

You can install it with pip install libpt

Installing from crates.io

libpt has been packaged for crates.io.

You can add the library to your project with cargo add libpt.

Installing from my personal package registry

libpt has been packaged for git.cscherr.de.

You can add the registry to your config.toml and then cargo add libpt

Package

Testing

Testing needs to be done separately for the rust and python parts:

  • Rust testing with cargo test
  • Python testing with ./scripts/pytests.sh or python -m unittest discover -fs tests/python

Documentation

The documentation can be automatically generated with cargo doc --open.

An up to date version of the Documentation can be found here

License

Pt is MIT Licensed

Dependencies

~0.1–9MB
~76K SLoC