Common utils for Digital Marketplace apps.
Project description
Digital Marketplace utils
What's in here?
- Digital Marketplace API clients
- Formatting utilities for Digital Marketplace
- Digital Marketplace logging for Flask using JSON Logging
- Utility functions/libraries for Amazon S3, Mailchimp, Notify, Cloudwatch
- Helper code for Flask configuration
- A formed version of Flask Feature Flags
Logging from applications
When logging from applications you should write your message as a format
string and pass any required
arguments to the log method in the extra
named argument. This allows our logging to use them as
separate fields in our JSON logs making it much easier to search and aggregate on them.
logger.info("the user {user_id} did the thing '{thing}'", extra={
'user_id': user_id, 'thing': thing
})
Note that apart from not getting the benefit, passing the formatted message can be dangerous. User
generated content may be passed, unescaped to the .format
method.
Versioning
Releases of this project follow semantic versioning, ie
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
To make a new version:
- update the version in the
dmutils/__init__.py
file - if you are making a major change, also update the change log;
When the pull request is merged a GitHub Action will tag the new version.
Pre-commit hooks
This project has a pre-commit hook to do some general file checks and check the pyproject.toml
.
Follow the Quick start to see how to set this up in your local checkout of this project.
Licence
Unless stated otherwise, the codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation.
The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ccs_digitalmarketplace_utils-69.0.0.tar.gz
.
File metadata
- Download URL: ccs_digitalmarketplace_utils-69.0.0.tar.gz
- Upload date:
- Size: 68.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4988ff0f47251c29a5f65c0d911b916aa0af84032ac610b1edfaa6fe947a41d7 |
|
MD5 | 4b0047c4ee409e00a963025633fc2256 |
|
BLAKE2b-256 | 7eebe1f3e61f578eeab046588fdcfa483090a7d8f7c07f1e937b661636e73c0f |
File details
Details for the file ccs_digitalmarketplace_utils-69.0.0-py3-none-any.whl
.
File metadata
- Download URL: ccs_digitalmarketplace_utils-69.0.0-py3-none-any.whl
- Upload date:
- Size: 86.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22db4545e49bed55045a8152849280df09a7381728e37d3ae61345cc93b1a407 |
|
MD5 | d59841471c63cde1f24651e2acb30c05 |
|
BLAKE2b-256 | ec294ab49092ccc13bbc5e48506f81941feb51fa3542eba4634739a3d798cbf9 |