Dynamic CLI tool to manage project-specific commands using pyproject.toml configuration
Project description
ppcli
ppcli stands for pyproject CLI. It is a Python package designed to provide an easy way to specify and manage auxiliary commands within a pyproject.toml file for any Python project.
Purpose
The primary purpose of ppcli is to allow developers to define and manage common project tasks, such as test, lint, and migration commands, directly within the pyproject.toml file. This ensures that all project-specific commands are centralized and easily accessible.
Installation
You can install ppcli via pip:
pip install ppcli
Usage
After installing ppcli, you can define your project-specific commands within your pyproject.toml file under the [tool.ppcli] section.
Example pyproject.toml Configuration
[tool.ppcli]
lint="black --check --diff ."
fmt="black ."
clean = [
"find . -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir",
"coverage erase",
]
test = [
"clean",
"pytest --cov --blockage -x -s --no-header -ra",
]
Defining and Combining Commands
- Single Command: Each key under [tool.ppcli] represents a command that can be executed. The value can be a single command string or a list of commands.
- Combined Commands: Use the keys of other commands to create combined tasks. In the example above, the test command executes the clean command followed by pytest.
Running Commands
To execute the defined commands, simply run the ppcli tool followed by the command name:
ppcli <command>
For example:
ppcli lint
ppcli fmt
ppcli test
Contributing
Contributions are welcome! Please open an issue or a pull request to contribute.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ppcli-0.0.2.tar.gz.
File metadata
- Download URL: ppcli-0.0.2.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b784842dc60491b717145aa758d372c78837e6b34b47fed88c8afeb9c7ba3e6e
|
|
| MD5 |
79e98ed33b834ac66826e91604bad9d3
|
|
| BLAKE2b-256 |
b4f9005d5c02347bdcbc3f121f29b440bb0ef37fbafd64f56f4cf2acac88d9a5
|
File details
Details for the file ppcli-0.0.2-py3-none-any.whl.
File metadata
- Download URL: ppcli-0.0.2-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6094dd2c49b8d1dfee9201ea5ff81724b3f9ae1095c670ad912cbfa19cf28abe
|
|
| MD5 |
de7d1222934089627fe9c0dd51f98569
|
|
| BLAKE2b-256 |
f228c6ef915dbbd927b22febd2a57bdbeebed7176bb152e9ff6bdbbf17e96722
|