/yanga

Yet Another Ninja Generator

Primary LanguagePythonMIT LicenseMIT

README

CI Status Documentation Status Test coverage percentage

Poetry ruff pre-commit

PyPI Version Supported Python versions License

Yet another ninja generator to build C/CPP projects.

Installation

Install this via pip (or your favourite package manager):

pip install yanga

Start developing

The project uses Poetry for dependencies management and packaging. If you do not have Poetry installed, you can run the bootstrap.ps1 script. This will install Scoop, Python and start bootstrap.py to create the Python virtual environment.

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser -Force
.\bootstrap.ps1

To install the development dependencies in a virtual environment, type:

poetry install

This will also generate a poetry.lock file, you should track this file in version control. To execute the test suite, call pytest inside Poetry's virtual environment via poetry run:

poetry run pytest

Check out the Poetry documentation for more information on the available commands.

For those using VS Code there are tasks defined for the most common commands:

  • install development dependencies
  • run tests
  • run all checks configured for pre-commit
  • generate documentation

See the .vscode/tasks.json for more details.

Committing changes

This repository uses commitlint for checking if the commit message meets the conventional commit format.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

This package was created with Copier and the browniebroke/pypackage-template project template.