Install your custom python modules into any python environment without setup.py, pyproject.toml, or any other typical python packaging setup.
Use For:
- Personal scripts and utilities
- Prototyping, evaluating the usefulness of a module before putting the effort into packaging
- Sharing small utilities with your team, without maintaining a proper pip package or hosting an internal pip repository
Install a single Python file as a module:
Install multiple modules using glob patterns:
Install a directory as a package (will create __init__.py if needed):
Note: If you run nopkg install on a module or package that's already installed by nopkg, it will automatically update it instead of giving an error.
Use it in python:
Install your python file(s) as an importable module, and keep them exactly where they are. Changes to your files will take effect immediately without any re-installing.
nopkg installs modules and packages directly into Python's site-packages directory. It's much simpler than pip and works in one of two ways:
- Development mode (-e or --dev): Creates a .pth file in site-packages that points to your module's location. Changes to your files are immediately available without reinstalling.
- Copy mode (default): Copies your source files directly into site-packages.
nopkg maintains a simple registry file (~/.nopkg/registry.txt) to track installations, enabling the list, info, update, and uninstall commands.
All this means:
- No setup.py required
- No pyproject.toml needed
- No wheel building
Limitations:
- Cannot publish to PyPI (still need setup.py or pyproject.toml for that)
- No dependency management - you must manually ensure dependencies are installed
- Only works with local files and directories (no URL installation)
- Package directories are copied entirely, preserving all resource files and assets
nopkg is intended as a tool for personal utility management and prototyping, as well as sharing of ad-hoc utility modules within a team. nopkg is NOT intended as a pip replacement or production package management solution. It is a bridge that lets you get going quickly.
- URL Installation: nopkg install https://raw.githubusercontent.com/user/repo/main/utils.py
- CLI Python Interpreter Selection: nopkg install mymodule --python /path/to/python
- Environment Management: nopkg env current, nopkg env use /path/to/python
- Package Bootstrapping: nopkg pipify mymodule.py - Setup boilerplate for full Python packaging and PyPI publishing
- Dependency Detection: Automatically detect and warn about missing dependencies
MIT
.png)

