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 with the following 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 GoCD pipeline.
  11. Example GitHub actions.
  12. Python package publishing to PiPy.
  13. Docker image publishing to docker hub.
  14. Example usage of python package.
  15. Example usage of docker image.

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)

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

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.5.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

agileetc-0.0.5-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file agileetc-0.0.5.tar.gz.

File metadata

  • Download URL: agileetc-0.0.5.tar.gz
  • Upload date:
  • Size: 3.5 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.5.tar.gz
Algorithm Hash digest
SHA256 a7c42be81a7ffa122aa149d7734d9bac0337e6b950b7ab57442b20a8a3a3b63d
MD5 9cdabd564225f4cace29b90828f0ac94
BLAKE2b-256 3946783ca7fc4e8b46a06961277b445f6b08ad8e4eab84b1fca9e12631c362be

See more details on using hashes here.

File details

Details for the file agileetc-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: agileetc-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.8 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c251c52fb3e6aea3c2c2f19b30933cec08c67bfae3ba4478df114f48d6791aeb
MD5 a492071c997d769f79f4e23eeae7cda6
BLAKE2b-256 e905b98775bfaa8fdfbcc654a72c987de74b7814182b61d81d847b0124871894

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