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 git+https://github.com/<your-username>/envnx-cli.git

Install Locally (development)

git clone https://github.com/<your-username>/envnx-cli.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.0.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.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file envnx_cli-0.1.0.tar.gz.

File metadata

  • Download URL: envnx_cli-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 5bcda866539444c8d521a56254c28140442d202d7d19a34bc5c3e250acb02b58
MD5 4b6f8906a56dc990dab48e5b42205bc1
BLAKE2b-256 cb5523aad8d6334c804b50bb568f1fc7323cfd9be34e77047875f7388a1d41fc

See more details on using hashes here.

File details

Details for the file envnx_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: envnx_cli-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04fa1ec636308f4bae50f99b3aa25350eef10edc1b986c6ae5a2497e2b4aca3a
MD5 ca259ee0f56bb3ef480ab159d348dd7b
BLAKE2b-256 c88a63cc6ba3ce98f8f796fbc9069e02a74d88829a3ad536c473d4f7920f1eb0

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