A Python-first command runner
Project description
plz
plz is a python-first command runner.
plz allows you to define commands in python, and run them from the command line.
No more bash scripts, makefiles or copy pasting commands from the docs.
plz can be used for many things, but it is especially useful for python projects, as no other installation is required.
Installation
- Using python 3.9 or later, run
pip install plz - Create a
plzfile.pyin the root of your project - Using your terminal, execute
plzin the root of your project
Note: Development dependencies are best included in a
requirements.dev.txtfile, and installed withpip install -r requirements.dev.txt. Addplzto yourrequirements.dev.txtfile to make it available in development, out of the box.
Usage
Contribution
Installation
- Python 3.9
- Create a virtual environment:
python -m venv .venv - Activate the virtual environment:
- On macOS and Linux:
source .venv/bin/activate - On Windows:
.venv\Scripts\activate
- On macOS and Linux:
- Upgrade pip:
pip install --upgrade pip - Install dependencies:
pip install -r requirements.dev.txt - In the root directory:
pip install -e .
Features
[x] List with plz -l (and default) [x] Default [x] Help flags (-h and --help) [x] dependencies - single, list, with or without args [x] plz -h [x] running commands [ ] environment variables [x] .env file [ ] task definition [x] in-line [ ] plz scope (in config) [ ] verbosity level [ ] verbose loading env variables
Backlog Should
[x] move to toml based setup [x] arguments (support from command line and in docs) [x] test Task [x] test run_task [x] test main help [x] test task help [x] test dependencies [ ] test coverage [ ] CI with test [ ] CI with test coverage [ ] CD [ ] doc pages [ ] load specific file [ ] heirachial loading
Could
[ ] order commands
[ ] plz .create-demo
[ ] async commands
[ ] plz.progress
[ ] support options for commands
[ ] use argparse lib
[ ] "Did you mean?" offer another command if something resembles it.
Project details
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 pyplz-0.1.tar.gz.
File metadata
- Download URL: pyplz-0.1.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe4242880edb8cb0e397a741f4bc4180c0f5a7e12ef526bd726e07d9a6d8b32f
|
|
| MD5 |
ed5af104f31f2863b04dc4090c0c34b6
|
|
| BLAKE2b-256 |
ba21ca9d9f2ceeb13ee9accdc05f4669ac7a5cdfa39e078df1eefa2b030af49b
|
Provenance
The following attestation bundles were made for pyplz-0.1.tar.gz:
Publisher:
package_release.yml on oribarilan/plz
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyplz-0.1.tar.gz -
Subject digest:
fe4242880edb8cb0e397a741f4bc4180c0f5a7e12ef526bd726e07d9a6d8b32f - Sigstore transparency entry: 151685057
- Sigstore integration time:
-
Permalink:
oribarilan/plz@81f8001d8f9d4a39e1327e5a7270532be018cf97 -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/oribarilan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package_release.yml@81f8001d8f9d4a39e1327e5a7270532be018cf97 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyplz-0.1-py3-none-any.whl.
File metadata
- Download URL: pyplz-0.1-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a17293c517187272e5fe77eb97baba79874b898cae202889d935a6620d8e5129
|
|
| MD5 |
0f0dc2bdf994c21ed9d2e501535bf07b
|
|
| BLAKE2b-256 |
d00b3cfbf4a5b311bd40d94c465a1ddaf23e3b5b8e0d20270cbb9cc87359a9f9
|
Provenance
The following attestation bundles were made for pyplz-0.1-py3-none-any.whl:
Publisher:
package_release.yml on oribarilan/plz
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyplz-0.1-py3-none-any.whl -
Subject digest:
a17293c517187272e5fe77eb97baba79874b898cae202889d935a6620d8e5129 - Sigstore transparency entry: 151685060
- Sigstore integration time:
-
Permalink:
oribarilan/plz@81f8001d8f9d4a39e1327e5a7270532be018cf97 -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/oribarilan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package_release.yml@81f8001d8f9d4a39e1327e5a7270532be018cf97 -
Trigger Event:
release
-
Statement type: