Thanks for your interest in contributing! taskito is a hybrid Rust + Python project, so the dev setup involves both ecosystems.
git clone https://github.com/ByteVeda/taskito.git
cd taskito
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate
# Install in development mode (compiles Rust + installs Python package)
pip install maturin
maturin develop
# Install dev dependencies
pip install -e ".[dev]"If you modify any .rs file, re-run:
maturin developPython-only changes don't require a rebuild.
pytest tests/python/cargo test --manifest-path crates/taskito-core/Cargo.tomltaskito uses ruff for linting and formatting:
# Lint
ruff check py_src/
# Format
ruff format py_src/
# Auto-fix
ruff check --fix py_src/Type checking with mypy:
mypy py_src/taskito/cargo fmt --manifest-path crates/taskito-core/Cargo.toml
cargo clippy --manifest-path crates/taskito-core/Cargo.toml- Fork the repo and create a branch from
master - Make your changes
- Add or update tests as needed
- Run
ruff check,mypy, andpytestto verify - Run
cargo testandcargo clippyif you changed Rust code - Open a pull request against
master
Docs use Zensical. To preview locally:
pip install ".[docs]"
zensical serveThen open http://localhost:8000.
Open an issue on GitHub if you have questions or want to discuss a feature before implementing it.