Contributing

Requirements

  • Python >= 3.9 - minimal runtime requirement for the project.

  • CPU architecture: x86_64.

  • Zig == 0.15.1 - required for building native libraries.

Important

Building the documentation locally requires Python >= 3.11.

Quickstart

  1. Fork the repository.

  2. Clone the repository and enter project directory.

  3. Create and activate a virtual environment.

  4. Install developer dependencies:

    pip install -r dev-requirements.txt
    
  5. Install the package in editable mode:

    pip install -e .
    

    Note

    Installing in editable mode will automatically trigger a build of the native libraries in release-mode. It is recommended to rebuild the libraries manually afterwards in debug-mode, following the steps in Building native libraries (Zig). Otherwise, you are ready to go.

Building native libraries (Zig)

  1. Install Zig 0.15.1 (download from the Zig website or use your package manager).

  2. Verify Zig’s version:

    zig version
    
  3. Build the native libraries:

    python build_libs.py
    

    Note

    If you make changes to the C-API, you must rebuild the libraries afterwards.

Running tests

  1. Run tests:

    pytest tests
    

Quality checks

  1. Run pylint:

    pylint zyntex
    
  2. Run pyright:

    pyright zyntex
    

Commit & PR guidelines

  • Keep PRs small and focused — one logical change per PR.

  • Ensure all tests pass locally before pushing.

  • Provide a short description of what the PR changes and why.

  • Link related issues or discussions in the PR description.