Skip to main content

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__
  • .log files
  • .tmp files
  • 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 --ext filters (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envnx_cli-0.1.1.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envnx_cli-0.1.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

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

Hashes for envnx_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3b2b8bd98bc7c2f3901757e0f6a4bf8941531701f41a38b818cd68178c9434bd
MD5 122c60025e45893b90573da9da611ff2
BLAKE2b-256 d64e44c4a971081785a76df453275fd7bb6f31dffc6b646e09c249329ba0f5e9

See more details on using hashes here.

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

Hashes for envnx_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 15ea98a92a6552215f4f01acb28eb4ef8cb36e14dee24d8501fdbb272562a067
MD5 1a935399c1dc2b0c365a2de8bb285af6
BLAKE2b-256 0c56d646e3a52a5314151d974347625769b08fed3f6cb460f96a751e31318ab7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page