Future Agile CICD tooling template
Project description
agileetc
Example python 3.9+ project where we can develop best practices and provide teams with a useful template.
Prerequisites
This project uses poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on, it will manage (install/update) them for you. Use the installer rather than pip:
installing-with-the-official-installer.
poetry self add poetry-bumpversion
poetry -V
Poetry (version 1.2.0)
Features
- Poetry packaged python project with example CLI entry point.
- Linux and Windows compatible project.
- Example read/write YML files.
- Example Unit Tests.
- Example flake8 linter configuration.
- Example line operation via click API allowing project to be ran from command line of from CICD pipelines.
- Example use of Fabric API to execute external commands.
- Example use of Texttable for pretty table output.
- Example Jenkins pipeline.
- Example GitHub actions.
- 11Python package publishing to PiPy.
- Docker image publishing to docker hub.
- Example usage of python package.
- Example usage of docker image.
Getting Started
poetry update
poetry install
Run
poetry run agileetc
Lint
poetry run flake8
Test
poetry run pytest
Publish
- By default we are using PYPI packages.
- Create yourself an access token for PYPI and then follow the instructions.
export PYPI_USERNAME=__token__
export PYPI_PASSWORD=<Your API Token>
poetry publish --build --username $PYPI_USERNAME --password $PYPI_PASSWORD
The build option will automatically build the release artifacts for you as shown below.
![](../../docs/images/Screenshot at 2022-09-10 10-41-06.png)
You can then verify that your newly released package has been published.
![](../../docs/images/Screenshot at 2022-09-10 11-16-41.png)
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Releasing
We are using poetry-bumpversion to manage release versions.
poetry version patch
Dependency
Once the release has been created it is now available for you to use in other python projects via:
pip install agileetc
And also for poetry projects via:
poetry add aigleetc
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
License
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file agileetc-0.0.4.tar.gz
.
File metadata
- Download URL: agileetc-0.0.4.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.0 CPython/3.9.2 Linux/5.18.0-14parrot1-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c21071ad4adbb50ee832c5f302c255a08d2e11430deb0a7e24d2369519648114 |
|
MD5 | a2818481dcdd2a687d1a9cbd9404b9b2 |
|
BLAKE2b-256 | 9b1e610c63c3449a3a7ccbacbc5052bca8a4cb5afeb1474e4b3a8a12b1736048 |
File details
Details for the file agileetc-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: agileetc-0.0.4-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.0 CPython/3.9.2 Linux/5.18.0-14parrot1-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ece3938b4842cc849da48f3e67d380c4b34ca6870f453d456532981b2af641ac |
|
MD5 | fcea08c8f6bb8d23ea9a8f35081e5962 |
|
BLAKE2b-256 | 5dacd3ceea0a0b2e7a30d454e7c73d690dd70f79ebd30487021b3cca022b2e62 |