Skip to main content

agileetc

Example python 3.9+ project where we can develop best practices and provide teams with a useful template with the following 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 run 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 GoCD pipeline.
  • Example GitHub actions.
  • Python package publishing to PiPy.
  • Docker image publishing to docker hub.
  • Example usage of python package.
  • 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

Continuous Integration

The objects of each of the example CI pipelines here are to:

  • Lint the python code.
  • Run Unit Tests
  • Build package.
  • Release package, bumping the version.
  • Publishing in new package version.

GitHub Actions

The example GitHub actions CI for this project is located in file .github/workflows/python-ci.yml and is available from the GitHub dashboard. This CI is setup to run via a local runner which should be configured.

Jenkins

GoCD

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

Metadata

Release files for agileetc 0.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agileetc 0.0.12
File Size Uploaded Provenance Actions
agileetc-0.0.12.tar.gz 4.5 kB Without provenance Details for agileetc-0.0.12.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agileetc 0.0.12
File Interpreter ABI Platform Actions
agileetc-0.0.12-py3-none-any.whl Python 3 none any Details for agileetc-0.0.12-py3-none-any.whl

Total release size: 9.6 kB

Release files / agileetc-0.0.12.tar.gz

Download URL agileetc-0.0.12.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
37271f0af253b883d0a2e07fc252d2978290bcaef54b65cf432f82e46354fb20
BLAKE2b-256 checksum
How to use checksums
7a8f1e11994b66c6ccd2a5f293b355064bbd4dfffd14201a2dd976b67923b416
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.0 CPython/3.9.2 Linux/5.18.0-14parrot1-amd64

Release files / agileetc-0.0.12-py3-none-any.whl

Download URL agileetc-0.0.12-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
694cf52dcc250a65f342657d0e42df2edfa19e3585c5fe4aec1bd85509836b65
BLAKE2b-256 checksum
How to use checksums
559e77941f53f7454a712ac147796b489cdde06323710c45bdd8272c10d1a650
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.0 CPython/3.9.2 Linux/5.18.0-14parrot1-amd64

Security for agileetc 0.0.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page