crispy

crispy is my take on parsing command-line arguments. It is a dead simple tool that allows you to define your own keys for systematically gathering variables.
In just 5 simple steps, you can start parsing any complicated user input into a dictionary—simple and predictable. It can't get more versatile than that, can it?
Capabilities
| Feature | Support | Version |
|---|---|---|
| String, integer, float, and boolean type arguments | ✅ | v1.0.0 |
| Custom exceptions for tracking user errors in input | ✅ | v1.0.0 |
| Custom subcommands | ✅ | v2.0.0 |
| Positional arguments | ✅ | v2.1.0 |
Treating quoted strings as single input in parse_string() |
TO DO | ... |
Usage
- To start using
crispy-parserin your projects, install it from PyPI:
$ pip install crispy-parser
- Import the parser into your source code:
from crispy.crispy import Crispy
- Add your arguments:
c = Crispy()
c.add_variable("name", str)
c.add_variable("age", int)
c.add_variable("salary", float)
- Throw any user-inputted string or argument list at it!
result = c.parse_string("--name John -a=21 --salary=30000.45")
print(result)
{'name': 'John', 'age': 21, 'salary': 30000.45}
Or parse sys.argv:
arguments = c.parse_arguments(sys.argv[1:])
print(arguments)
{'message': 'message.txt', 'targets': 'targets.txt', 'url_format': 'api.txt'}
Contributing
I welcome contributions to enhance and improve this library! Whether you want to fix a bug, add a new feature, or suggest an improvement, your contributions are highly appreciated.
Just so you know, by contributing to this project, you agree to license your contributions under the same license governing this library. If you're unsure or have questions about the contribution process, please get in touch with me by opening an issue.
Credits
Feel free to contact me for collaboration on anything!
Ferit Yiğit BALABAN, <fyb@fybx.dev>
My Website • My Bento • X • LinkedIn
2023
Metadata
Release files for crispy-parser 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crispy-parser-2.1.0.tar.gz | 16.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crispy_parser-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.2 kB
Release files / crispy-parser-2.1.0.tar.gz
| Download URL | crispy-parser-2.1.0.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0660dfac2596a07a2973081d367c64a3e0c5662942b7fa9cc312864cb40b3a98
|
|
BLAKE2b-256 checksum How to use checksums |
6937540270bcbeef29aed0c7fe8a5bc4a7719c6214074855a30474cb08d04e61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / crispy_parser-2.1.0-py3-none-any.whl
| Download URL | crispy_parser-2.1.0-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f2202c6902e9d52be5dbcc2b5046633e60f3db94193363dd9564a31df076d517
|
|
BLAKE2b-256 checksum How to use checksums |
b7e96ac7d51bdc4ef5508de5b07b1675c8cbb980245c05dadd2ad1398345e7de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|