Skip to main content

devset

A Swiss-army-knife CLI with the everyday tools every dev needs — plus a one-command bootstrapper that spins up a virtualenv with a curated set of Python packages already installed.

Install

git clone <this repo>
cd devset
pip install -e .

This registers the devset command on your PATH, and also pulls in a small set of core dependencies every dev tends to reach for — requests, python-dotenv, rich — so they're available immediately, both for devset's own commands (like net get) and for you to import in your own scripts once devset is on your PATH/venv.

Want more? Install extras for heavier, more specific toolsets:

pip install -e ".[dev]"    # pytest, black, ruff, mypy, ipython
pip install -e ".[web]"    # fastapi, uvicorn, httpx, pydantic
pip install -e ".[data]"   # numpy, pandas, matplotlib, jupyter, openpyxl
pip install -e ".[all]"    # everything above

The headline feature: devset setup

Get a fully wired-up Python environment in one command:

devset setup init                       # essentials profile -> .venv/
devset setup init --profile web         # fastapi, httpx, pydantic, ...
devset setup init --profile data        # numpy, pandas, matplotlib, jupyter
devset setup init --profile testing     # pytest, mypy, black, ruff
devset setup init -p web -e sqlalchemy  # add extra package(s) on top
devset setup profiles                   # see what's in each profile

This creates a .venv, installs the chosen package set, and writes a requirements.txt you can commit.

Everything else

Group Example
json devset json pretty file.json --sort-keys
b64 devset b64 encode "hello"
hash devset hash sha256 "text" / hash all
uuid devset uuid gen -n 5
git devset git summary / git clean-branches
text devset text slug "My Title" / text case
time devset time now / time from-unix 170...
gen devset gen password -l 24 / gen lorem
net devset net port host 443 / net get <url>
color devset color hex2rgb "#ff8800"
fs devset fs tree --depth 2

Run devset --help or devset COMMAND --help for full details.

Extending it

Each command group lives in its own file under devset/commands/ as a click.Group. To add a new one: create devset/commands/my_tools.py with a @click.group(), then register it in devset/cli.py.

Metadata

Release files for devset 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devset 0.2.0
File Size Uploaded Provenance Actions
devset-0.2.0.tar.gz 14.4 kB Without provenance Details for devset-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for devset 0.2.0
File Interpreter ABI Platform Actions
devset-0.2.0-py3-none-any.whl Python 3 none any Details for devset-0.2.0-py3-none-any.whl

Total release size: 30.4 kB

Release files / devset-0.2.0.tar.gz

Download URL devset-0.2.0.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fd2b215777cdf7dd9ced0076e7e71ed131a272e7c6beb97a94bc76539fe5aeee
BLAKE2b-256 checksum
How to use checksums
32416d41db1a8a32f25d74eb6e68671902515d2b5c9e565fb06c16360304bbb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Release files / devset-0.2.0-py3-none-any.whl

Download URL devset-0.2.0-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b78e51c17d1c4dc8c7b2e5df5902b32451b69c522c36a7d76f2cda14a61d889
BLAKE2b-256 checksum
How to use checksums
d7d90eb3488560163b011251d32aaa0031d35d30bf68daeaaf40047096d4829d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Security for devset 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page