Amend
Ensure your values are right
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)
| File | Size | Uploaded | |
|---|---|---|---|
| amend-0.3.1.tar.gz | 31.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|