Skip to main content

Handy utility code, such as coloured logging.

Project description

Dazbo Commons

Table of Contents

Overview

A reusable utility library.

dazbo-commons/
│
├── src/
│   └── dazbo_commons/
│       ├── __init__.py
│       └── colored_logging.py
│
├── tests/
│   └── test_colored_logging.py
│
├── .env
├── .gitignore
├── LICENSE
├── pyproject.toml
├── README.md
└── requirements.txt

To Install and Use

You can simply install the package from PyPi. There's no need to clone this repo.

pip install --upgrade dazbo-commons

Then, in your Python code, include this import:

import dazbo_commons as dc

Coloured Logging Module

This module provides a function to retrieve a logger that logs to the console, with colour.

Example:

import logging
import dazbo_commons as dc

logger_name = __name__ # or just pass in a str
logger = dc.retrieve_console_logger(logger_name)
logger.setLevel(logging.INFO) # Set threshold. E.g. INFO, DEBUG, or whatever

logger.info("Some msg") # log at info level

File Locations Module

This module is used to retrieve a Locations class, which stores directory paths based on the location of a specified script. This makes it convenient to manage and access different file and directory paths relative to a given script's location.

Example:

import dazbo_commons as dc
APPNAME = "My_App"

locations = get_locations(APP_NAME)

with open(locations.input_file, mode="rt") as f:
    input_data = f.read().splitlines()

To Build From Package Source

  1. Create a Python virtual environment and activate. E.g.
python3 -m venv .dazbo-commons-env
source .dazbo-commons-env/bin/activate
  1. Install dependent packages:
py -m pip install -r requirements.txt
  1. Run tests. E.g.
# Set env var so that the tests know how to find dazbo-commons
export PYTHONPATH=src

py -m unittest discover -v -s tests -p '*.py'

# Or, with pytest:
py -m pip install pytest
pytest
  1. Install packages for actually creating the build. (If nto already included in requirements.txt):
py -m pip install twine
py -m pip install --upgrade build
  1. Make any required updates to the pyproject.toml file. E.g. the version attribute.

  2. Build the package.

py -m build

This generates a dist folder in your project folder.

  1. Upload the package to PyPi.

Notes:

  • You'll need to create a free account, if you haven't done so already.
  • You'll need to generate an API token in Account Settings, for uploading to the API.
  • You may want to delete any previous builds.
py -m twine upload dist/*

You'll be prompted for your API token. In my experience, when doing this from a terminal inside VS Code, Ctrl-V doesn't work here. So I use Paste from the menu, and this works.

And we're done!

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

dazbo_commons-0.1.4.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dazbo_commons-0.1.4-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file dazbo_commons-0.1.4.tar.gz.

File metadata

  • Download URL: dazbo_commons-0.1.4.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for dazbo_commons-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9e2953aab7a08a91b004ad4f04a3faedeff0fe315b62cc597926c4481d637bba
MD5 816205f15f4a6e88fded2ce11cd22318
BLAKE2b-256 884521b8fbd098292e5c02ec9584e07fbb9a17cb4854e7ccf7f03c159cd1800b

See more details on using hashes here.

File details

Details for the file dazbo_commons-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: dazbo_commons-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for dazbo_commons-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 65088fe52d7599da86130761b1f5bf3cfb5b98e2e0343decec854ce3310a4fa2
MD5 8533e9d958c2c383d6c02df2c0dd1d95
BLAKE2b-256 5c8da2f2a3bd294c66421fe7dc32c1d6dadf6d8b9e8793a15661998c8aa25e0c

See more details on using hashes here.

Supported by

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