pydantic-cli
clidantic
Our great sponsors
pydantic-cli | clidantic | |
---|---|---|
8 | 2 | |
125 | 22 | |
- | - | |
0.0 | 0.6 | |
10 months ago | 27 days ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pydantic-cli
- argparse_dataclass: declarative CLIs with argparse and dataclasses (e.g. similar to Rust's structopt)
-
Yet another command line tool: clidantic, typed CLIs with click and pydantic
A comparison with https://github.com/mpkocher/pydantic-cli is welcome.
- Stop Hardcoding Sensitive Data in Your Python Applications - use python-dotenv instead!
-
Mypy 0.940 Released
pydantic-cli
- Anyone know a CLI parser like plac that is being maintained?
-
Am I making things harder for myself by not using any OO stuff?
Also, the new type annotations/hints feature added to Python is an extremely useful mechanism to clearly communicate interfaces when leveraging functions as first class citizens. This can dramatically help readability and maintainability. Here's an example library designed leveraging functional centric concepts + type annotations.
-
What's the status of MyPy?
Depending on the strictness level of adoption of mypy, this can sometimes (often?) requires changing how you write code. You can see some contortions here. However, having strict type analysis enables catching a lot of issues.
-
We hand-picked the best Python libraries released in 2020
https://github.com/mpkocher/pydantic-cli#other-related-tools
clidantic
-
Argdantic: typed CLIs with Argparse and Pydantic
I know you want to know it. I chose argparse for two main reasons: first and foremost, this was a personal exercise, as both in-depth look into the standard library and project implementation effort. Second, despite its flaws, argparse remains the go-to choice for many use cases. E.g., from my personal experience in the machine learning field, it's absolutely common to see parsers everywhere. This library is a simple attempt to tidy up and provide a "simpler/cleaner" UX. If you're interested, I also made a click-based version. It is not up to speed with argdantic since I don't use click that much, but it's on my TODO list.
-
Yet another command line tool: clidantic, typed CLIs with click and pydantic
Here's a link to the project, ideas and suggestions are of course welcome: https://github.com/edornd/clidantic
What are some alternatives?
Python Fire - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
argdantic - Typed command line interfaces with argparse and pydantic
Functional-Programming-Techniques-In-Python - Exploring functional centric designs and patterns in Python
python-dotenv - Reads key-value pairs from a .env file and can set them as environment variables. It helps in developing applications following the 12-factor principles.
pylsp-mypy - Mypy plugin for the Python LSP Server.
pydantic-aioredis - A Declarative ORM for Redis using Pydantic Models and aioredis
snakemake - This is the development home of the workflow management system Snakemake. For general information, see
tasmotizer - ESP... The time has come to... Tasmotize!
pendfetch - Double Pendulum visualised with fetching system information in Python.
awesome-functional-python - A curated list of awesome things related to functional programming in Python.
DearPyGui - Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
argparse_dataclass - Declarative CLIs with argparse and dataclasses