Skip to content

Latest commit

 

History

History
109 lines (69 loc) · 2.2 KB

File metadata and controls

109 lines (69 loc) · 2.2 KB

Contributing

This project is under active development. Feel free to create an issue to provide feedback.

Development

Installation from source

git clone https://github.com/fleming79/async-kernel.git
cd async-kernel
uv venv -p python@311
uv sync
# Activate the environment

update packages

uv lock --upgrade

Running tests

uv run pytest

Running tests with coverage

We are aiming for 100% code coverage on CI (Linux). Any new code should also update tests to maintain coverage.

uv run pytest -vv --cov

Code Styling

Async kernel uses ruff for code formatting. The pre-commit hook should take care of how it should look.

To install pre-commit, run the following:

pip install pre-commit
pre-commit install

You can invoke the pre-commit hook by hand at any time with:

pre-commit run

Type checking

Type checking is performed using basedpyright.

basedpyright

Documentation

Documentation is provided my Material for MkDocs . To start up a server for editing locally:

Install

uv sync --group docs
uv run async-kernel -a async-docs --cell_execute_timeout 0.1

Serve locally

mkdocs serve 

API / Docstrings

API documentation is included using mkdocstrings.

Docstrings are written in docstring format google-notypes. Typing information is included automatically by griff.

See also

Notebooks

Notebooks are included in the documentation with the plugin mkdocs-jupyter.

Useful links

These links are not relevant for docstrings.

Deploy manually

mkdocs gh-deploy --force

Releasing Async kernel

TODO