containr is a command-line interface (CLI) tool designed to create fully self-contained project environments. It isolates project dependencies and cache files within the project folder, preventing clutter and pollution of system directories such as the user’s AppData or global package caches.
- Supports project scaffolding for Python, Node.js, React, and React Native.
- Automatically detects installed Python versions and fetches available Node.js, React, and React Native versions.
- Creates isolated folders for caches, virtual environments, and dependencies.
- Interactive CLI interface for selecting project type, version, and name.
- Provides commands to delete or move projects easily.
- Allows manual version input for flexibility with legacy or specific versions.
- Keeps all environment files and caches contained within the project directory.
Clone the repository and install the package using pip:
git clone https://github.com/NatromeTex/containr.git
cd containr
pip install .Alternatively, once published on PyPI, install via:
pip install containrcontainr createThis command launches an interactive menu to select the project type, version, and name. It creates a fully self-contained project folder under the default workspace directory.
containr -d <project_name>Deletes the specified project folder and all its contents.
containr -m <project_name> <new_path>Moves the project folder to the specified new path.
The created project folder contains the following:
.cache/— cache files for the project..venv/(Python projects) — local virtual environment directory.node_modules/(Node.js, React, React Native projects) — local package directory.cache/(Node.js family) — additional cache storage.project.meta— metadata file storing project type and version information.
Contributions are welcome. Please open issues or submit pull requests with improvements, bug fixes, or feature suggestions.
This project is licensed under the MIT License. See the LICENSE file for details.