plexcryptool/README.md

32 lines
1.6 KiB
Markdown

# plexcryptool
A collection of tools for cryptography uses.
# Hybrid Repository
This Repository uses a combination of python and rust code through pyo3 rust bindings.
The reason for this is that python is a tool dynamic language,
screwing around with datatypes a bit too much for my liking.
# Compiling
Parts of the python scripts in this repository use my library plexcryptool,
which is implemented in Rust. To compile follow [this guide](https://pyo3.rs/main/getting_started)
It boils down to the following steps:
- [Install Rust](https://www.rust-lang.org/tools/install), preferably through rustup, as that is the official Rust distribution. Your package manager might still be fine.
- Make sure you use the right Python version. I made this with Python 3.11 and PyO3 requires at least Python 3.7
- Create a virtual environment in the root of the repository. I used `python -m venv .venv` for this. Activate the venv.
- Install maturin `pip install maturin --user`
- compile the plexcryptool python module using `maturin develop -r` or `maturin build --release`
- install the module with pip: `pip install target/wheels/plexcryptool-X.X.X-cp311-cp311-manylinux_2_34_x86_64.whl`
- compile the plexcryptool executable using `cargo run --release` or install it to your system with `cargo install --path .`
Alternatively, you can use the install.sh script to install both the executable and python (pip) package to your system.
Thats it!
# License
MIT License
# Mirrored
This Repository is mirrored from my personal [Git Server](https://git.cscherr.de).
The upstream is [git.cscherr.de/PlexSheep/plexcryptool/](https://git.cscherr.de/PlexSheep/plexcryptool/).