Skip to content

NillionNetwork/nilvm-client-py

Repository files navigation

Python Nillion client

Nillion-client is a Python client for building on top of the Nillion Network. It can be used to manage Nada programs, store and retrieve values, and run computations.

See the official Nillion documentation site for more about Nillion Clients, Python Client Examples and the Python Client Reference.

How to develop

This project uses uv to manage itself. Be sure that you have it installed.

To install dependencies and setup project

uv sync

Run tests

First ensure that you have the nillion-devnet running

./tests/resources/scripts/run_devnet.sh

Then in a new terminal

uv run pytest

Format code and Linting

This project uses ruff as linter and formatter, it gets installed as a dependency.

To format code:

uv run ruff format

To lint:

uv run ruff check

Generating docs

In order to generate the documentation first install the dependencies and set up the project:

uv sync

Then activate the virtual environment:

source .venv/bin/activate

# Use .venv/bin/activate.fish if you're using fish shell

And finally run:

./docs/generate.sh output_directory

The docs will be generated in output_directory.

Release Process

Release Candidates

Release candidates are published on every merge to the main branch

Stable Releases

To release a new version of the client non rc, follow these steps:

run:

just release

and bump the version in the pyproject.toml file for the new rc.