Skip to main content

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

  1. Poetry packaged python project with example CLI entry point.
  2. Linux and Windows compatible project.
  3. Example read/write YML files.
  4. Example Unit Tests.
  5. Example flake8 linter configuration.
  6. Example line operation via click API allowing project to be ran from command line of from CICD pipelines.
  7. Example use of Fabric API to execute external commands.
  8. Example use of Texttable for pretty table output.
  9. Example Jenkins pipeline.
  10. Example GitHub actions.
  11. 11Python package publishing to PiPy.
  12. Docker image publishing to docker hub.
  13. Example usage of python package.
  14. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agileetc-0.0.4.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

agileetc-0.0.4-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

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

Hashes for agileetc-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c21071ad4adbb50ee832c5f302c255a08d2e11430deb0a7e24d2369519648114
MD5 a2818481dcdd2a687d1a9cbd9404b9b2
BLAKE2b-256 9b1e610c63c3449a3a7ccbacbc5052bca8a4cb5afeb1474e4b3a8a12b1736048

See more details on using hashes here.

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

Hashes for agileetc-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ece3938b4842cc849da48f3e67d380c4b34ca6870f453d456532981b2af641ac
MD5 fcea08c8f6bb8d23ea9a8f35081e5962
BLAKE2b-256 5dacd3ceea0a0b2e7a30d454e7c73d690dd70f79ebd30487021b3cca022b2e62

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page