Skip to main content

Amend

Ensure your values are right

GitHub License

GitHub Tag

GitHub Repo stars GitHub Downloads (all assets, all releases) GitHub repo size

Motivation

Often times I write a lot of boilerplate code to validate and correct certain values. I have decided to create a package to stop doing it for some of the things I use. The goals of this package:

  • perform routine type validation and correction (amend!)
  • do not rely on third-party libraries
    • if it's outside standard Python, amends should be handled by package maintainers
  • do not overcomplicate things
    • what can easily be done with a processing pipeline should be done with a processing pipeline

Using this, hopefully, writing argument parsers and ensuring correctness in functionality should be slightly easier, while forcing people to explicitly handle more elaborate and specific use cases.

Installation

You can install this with pip:

pip install amend

Alternatively, you can install this from source:

git clone git@github.com:suflaj/amend.git
cd amend
pip install .

Running tests

Amend uses your run-of-the-mill unittest. Therefore, to test the whole package, you can simply do:

python3 -m unittest amend.testing

If you wish to test some specific module you can reference the testing module with unittest. For example, if you want to unit test built-in amendments, do:

python3 -m unittest amend.testing.unit.built_in

For more info on how to use unittest, look here.

Things to do

This package is in beta. For it to reach a full release it will need to receive:

  • ReadTheDocs documentations
  • usage examples
  • some actual usage (will start to substitute my boilerplate for it)

Currently, it wasn't battle tested. I put in some effort to write it well, but not necessarily optimally. However, even though I do not recommend you use this for production, you can use it for many things, and presumably it should work. If it doesn't, create an issue. The format doesn't really matter currently.

Release files for amend 0.3.1

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

Source distribution (sdist)

Source distribution for amend 0.3.1
File Size Uploaded
amend-0.3.1.tar.gz 31.4 kB Details

Built distribution (wheel)

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

Total release size: 81.2 kB

Release files / amend-0.3.1.tar.gz

Download URL amend-0.3.1.tar.gz
Size 31.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9138dcfc727aae2d96f7ddbb5b35242c6152b929775b8dc3f9fbd264f0d766a1
BLAKE2b-256 checksum
How to use checksums
9ae116a6d96f0373ba525be9200bf67eaa2ee6f59788a625c6b9e82bc3753af2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.19

Release files / amend-0.3.1-py3-none-any.whl

Download URL amend-0.3.1-py3-none-any.whl
Size 49.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b89d9fefd06cb049ad5ad9f5a81c4c8ea36d2f10a0c1b6b005ee94b92b2c1b1
BLAKE2b-256 checksum
How to use checksums
ef4ad7b438168d294c86549f077f30a23a6365a316568f36f2c6615a32e0f42a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.19

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.2.0

2 release files

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