Skip to content

Project Structure

Folder overview

├── docs/               # documentation source files in Markdown format
├── nhs_number/         # Python package source code
├── tests/              # Python package tests
├── __init__.py
├── LICENSE             # MIT License
├── mkdocs.yml          # Configuration file for the Material for MkDocs documentation site
├── netlify.toml        # Netlify build file - required for Netlify to build the documentation site
├── pyproject.toml      # Poetry configuration file - defines dependencies, etc
├── pytest.ini          # pytest configuration file - defines test discovery, etc
├── README.md
├── requirements.txt
├── runtime.txt         # Python version specification for Netlify
└── setup.cfg

Testing

This project uses pytest for testing. The test suite can be run with:

poetry run pytest

Publishing to PyPi

This project uses Poetry for dependency management and packaging.

Any edit MUST have a new version number otherwise it will be rejected by PyPi.

To publish a new version to PyPi, update the version number in pyproject.toml.

Also add a note to the docs/changelog.md file to explain the updates.

Publication to PyPi is handled by GitHub Actions. The workflows are defined in the .github/workflows folder.

Pushes of code to the staging branch will trigger a publication to Test PyPi.

Pushes of code to the main branch will trigger a publication to live PyPi.