Metadata-Version: 2.1
Name: nwon_deployment
Version: 0.1.14
Summary: Helper for deployment and CI scripts
Home-page: https://nwon.de
License: MIT
Author: Reik Stiebeling
Author-email: reik.stiebeling@nwon.de
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: datamodel-code-generator (>=0.22.1,<0.23.0)
Requires-Dist: docker (>=6.1.3,<7.0.0)
Requires-Dist: httpx (>=0.25.0,<0.26.0)
Requires-Dist: mergedeep (>=1.3.4,<2.0.0)
Requires-Dist: nwon_baseline (>=0.2.12,<0.3.0)
Requires-Dist: pydantic (>=2.0.0,<3.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Project-URL: Repository, https://gitlab.com/nwon-group/nwon-tooling/pypi-packages/nwon-deployment
Description-Content-Type: text/markdown

# NWON Deployment

This package provides some basic functionality that we are using for our
deployment scripts and CIs.

Package is meant for internal use at [NWON](https://nwon.de) as breaking changes may occur on version changes. This may change at some point but not for now 😇.

## Development Setup

We recommend developing using poetry.

This are the steps to setup the project with a local virtual environment:

1. Tell poetry to create dependencies in a `.venv` folder withing the project: `poetry config virtualenvs.in-project true`
1. Create a virtual environment using the local python version: `poetry env use $(cat .python-version)`
1. Install dependencies: `poetry install`

## Prepare Package

As we want to include types with the package it is not as straight forward as just calling `poetry build` 😥.

We need to:

1. Clean dist folder
1. Bump up the version of the package
1. Build the package

Luckily we provide a script for doing all of this `python scripts/prepare.py patch`. Alternatively you can run the script in a poetry context `poetry run prepare patch`. The argument at the end defines whether you want a `patch`, `minor` or `major` version bump.

The final zipped data ends up in the `dist` folder.

## Publish Package

Before publishing the package we need to:

1. Add test PyPi repository: `poetry config repositories.testpypi https://test.pypi.org/legacy/`
2. Publish the package to the test repository: `poetry publish -r testpypi`
3. Test package: `pip install --index-url https://test.pypi.org/simple/ nwon_baseline`

If everything works fine publish the package via `poetry publish`.

