Skip to main content

A collection of python utils used by the DPN

Project description

DPN Python Utils

A collection of python utils used by the DPN.

Target minimum python version: 3.12.x

High-level Design Notes

To be broadly compatible with running in synchronous or asynchronous mode.

The principles behind the modules are to:

  • Be dependable and provide least surprise
  • Fail safe and raise informative exceptions
  • Optimize code for readability and maintainability
  • Design for backwards compatibility

Major versions of dpn_pyutils releases track major Python versions in general availability

Modules

Module Name Module Description
cli Methods relating to command line input and output
common Methods relating to logging and shared system services
crypto Methods relating to cryptography and encoding
exceptions Exception classes for all modules
file Methods relating to file and path operations
http Methods relating to general HTTP/REST
money Methods relating to money, transactions, and formatting
time Methods relating to time management

Getting Started

The fastest way to get start is with a pyenv.

With pyenv installed on the system, check the latest version of the target python version.

pyenv update && pyenv install -l | grep 3.12

Install

Install with pip using:

pip install dpn_pyutils

Install manually

Install the target python version into pyenv and set up the virtualenv

pyenv install 3.12.1
pyenv virtualenv 3.12.1 dpn_pyutils
pyenv activate dpn_pyutils
pip install --upgrade pip poetry
poetry install

Upgrade versions

Upgrading is done by uninstalling the package and installing the upgraded version

pip install --upgrade dpn_pyutils

Building

Building dpn_pyutils can be done with python 3 and poetry

tox run-parallel
poetry build

The distribution-ready files will be in the dist/ directory.

Packaging and Distribution

Packaging after changes need the following to be executed:

Update the version number

Bump the version number

  • The MAJOR and MINOR versions should always match the minimum Python versions
  • The PATCH version should be an incremental counter of library versions
poetry check --lock
git commit -am"Updated requirements, pyproject and bumping version number for release"

Distribute

poetry build
poetry publish

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

dpn_pyutils-3.12.3.tar.gz (14.3 kB view hashes)

Uploaded Source

Built Distribution

dpn_pyutils-3.12.3-py3-none-any.whl (15.3 kB view hashes)

Uploaded Python 3

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