EnvNX – a small CLI toolkit for environment checks, project cleanup, code search, and config sync.
Project description
EnvNX CLI
A Lightweight Developer Workflow Toolkit for Environment, Project & Code Management
███████╗███╗ ██╗██╗ ╗██╗ ███╗ ██╗██╗ ██╗
██╔════╝████╗ ██║╚██╗ ╗██╔╝ ████╗ ██║╚██╗██╔╝
█████╗ ██╔██╗██║ ╚██ ██╔╝ ██╔██╗██║ ╚███╔╝
██╔══╝ ██║╚████║ ╚█ █╔╝ ██║╚████║ ██╔██╗
███████╗██║ ╚███║ ████║ ██║ ╚███║██╔╝ ██╗
╚══════╝╚═╝ ╚══╝ ╚═══╝ ╚═╝ ╚══╝╚═╝ ╚═╝
ENV-NX
EnvNX is a simple, fast, dependency-free command-line toolkit designed for developers who want clean projects, consistent environments, fast code searches, and shared environment configurations across multiple projects — without using heavy tools.
It works on Windows, macOS, and Linux.
Why EnvNX?
Developers often repeat the same tasks:
- Checking for missing or extra packages
- Cleaning project junk (
__pycache__, logs, temp files, etc.) - Searching code without using heavy tools
- Managing multiple Python environments with shared base packages
EnvNX solves these pain points in one small CLI.
No LLMs No external APIs No cloud No heavy dependencies
Just a pure Python development productivity toolkit.
Features
1. Environment Check (env-check)
Compare installed Python packages with requirements.txt.
- Shows missing packages
- Shows extra installed packages
- Helps maintain clean and reproducible environments
2. Project Cleanup (proj-clean)
Automatically removes common clutter:
__pycache__.logfiles.tmpfiles- Build artifacts
- Junk folders
Dry-run by default.
Use --apply to delete.
3. Code Search (code-search)
Fast and simple grep-style text search:
- Search for any pattern across code files
- Supports
--extfilters (e.g.,.py) - Ignores unwanted folders (
.git, venv,__pycache__)
4. Config Sync (config-sync)
A small environment-sharing system:
- One global base environment
- Multiple project-specific logical environments
- Sync project requirements against the base
- Stores project-specific extras
- Reduces disk usage by avoiding duplicate installs
Installation
Install from PyPI (recommended)
pip install envnx-cli
Check:
envnx --help
Install from GitHub
pip install https://github.com/saiadupa/Env-NX.git
Install Locally (development)
git clone https://github.com/saiadupa/Env-NX.git
cd envnx-cli
pip install -e .
Usage
View help:
envnx --help
Commands:
env-check Check Python env vs requirements.txt
proj-clean Clean project junk files
code-search Search inside code files
config-sync Manage shared env config
1. Environment Check
Default usage:
envnx env-check
With custom requirements file:
envnx env-check -r requirements-dev.txt
Output example:
Missing:
- numpy==1.26.4
Extra:
- setuptools==69.5.0
- click==8.3.1
2. Project Cleanup
Dry-run:
envnx proj-clean .
Delete junk:
envnx proj-clean . --apply
3. Code Search
Search for a function:
envnx code-search "train_model"
Limit to Python files:
envnx code-search "train_model" --ext .py
Ignore paths:
envnx code-search "token" --ignore venv .git
4. Config Sync
Initialize global config:
envnx config-sync init
Add a new environment:
envnx config-sync add-env projectA
List environments:
envnx config-sync list
Sync requirements:
envnx config-sync sync projectA -r requirements.txt
Activate instructions:
envnx config-sync activate projectA
Project Structure
envnx/
├── cli.py
├── env_check.py
├── proj_clean.py
├── code_search.py
├── config_sync.py
└── __init__.py
pyproject.toml
README.md
Development Guide
Install in editable mode:
pip install -e .
Build package:
python -m build
Upload to PyPI:
python -m twine upload dist/*
Versioning
EnvNX uses semantic versioning:
- Major: breaking changes
- Minor: new features
- Patch: fixes and improvements
License
EnvNX is licensed under the MIT License.
Author
Created and maintained by Nithin Sai Adupa.
For issues or contributions, please submit a pull request or open a GitHub issue.
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 envnx_cli-0.1.1.tar.gz.
File metadata
- Download URL: envnx_cli-0.1.1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b2b8bd98bc7c2f3901757e0f6a4bf8941531701f41a38b818cd68178c9434bd
|
|
| MD5 |
122c60025e45893b90573da9da611ff2
|
|
| BLAKE2b-256 |
d64e44c4a971081785a76df453275fd7bb6f31dffc6b646e09c249329ba0f5e9
|
File details
Details for the file envnx_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: envnx_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15ea98a92a6552215f4f01acb28eb4ef8cb36e14dee24d8501fdbb272562a067
|
|
| MD5 |
1a935399c1dc2b0c365a2de8bb285af6
|
|
| BLAKE2b-256 |
0c56d646e3a52a5314151d974347625769b08fed3f6cb460f96a751e31318ab7
|