PyConsole
Smart Python application runner that automatically sets up virtual environments and manages dependencies for seamless deployment.
✅ CI/CD Status
All tests passing! Automated publishing workflow ready.
What This Does
Creates an intelligent executable that:
- Single-file deployment: Just copy the executable, nothing else needed
- Auto-environment setup: Automatically creates
.venvand installs dependencies on first run - Dual-mode operation:
- Bundled mode: All dependencies included for immediate execution
- Development mode: Auto-creates virtual environment when
pyproject.tomlis present
- Smart dependency management: Handles large ML libraries by letting users manage their own
.venv - Cross-platform: Works on Windows, Linux, and macOS
Quick Start
Prerequisites
- Python 3.8+
- uv package manager (install guide)
Build Portable Executable
# Install dependencies
uv sync
# Build self-contained executable
python build_exe.py
Deploy Anywhere
Copy just ONE file to any system:
pyconsole-portable.exe(Windows) orpyconsole-portable(Linux/macOS)
That's it! The executable handles everything automatically.
Project Structure
pyconsole/
├── app.py # Main application with auto-venv setup
├── build_exe.py # Build script
├── pyproject.toml # Project config and dependencies
├── CLAUDE.md # Development guide for Claude Code
└── README.md # This file
How It Works
Bundled Mode (Single File)
When you run the standalone executable:
- All dependencies are bundled inside the executable
- No external files or internet connection required
- Runs immediately on any system
Development Mode (Auto-Venv)
When running from source or with pyproject.toml present:
- First run: Automatically creates
.venvand installs dependencies - Subsequent runs: Uses the existing virtual environment
- Dependency changes: Auto-updates the virtual environment
- Large libraries: Perfect for ML libraries - users manage their own
.venv
Smart Features
- Environment detection: Automatically detects if running from executable or source
- uv first: Uses
uvfor faster dependency management when available - Fallback support: Gracefully falls back to standard
venvifuvis not available - Error handling: Continues even if venv setup fails
- Cross-platform: Works on Windows, Linux, and macOS
Development
# Run in development (auto-sets up venv)
python app.py
# Force rebuild venv
rm -rf .venv && python app.py
# Build executable
python build_exe.py
Use Cases
- Distributing Python apps to end users: Single file, no technical knowledge required
- ML/AI applications: Users can manage large dependencies in their own
.venv - Corporate environments: Restricted installations, no admin rights needed
- Demos and prototypes: "Just works" without setup hassle
- CI/CD pipelines: Automated testing and deployment
- Education: Students can run Python apps without installation
Future Plans
- pip package:
pip install pyconsole-portable - uvx support:
uvx pyconsole-portable(run without installation) - Plugin system: Extendable architecture for different application types
- GUI support: Windowed applications with auto-dependency management
Benefits Over Traditional Approaches
| Traditional PyInstaller | PyConsole |
|---|---|
| Large executable size | Smart bundling |
| Manual dependency management | Automatic venv setup |
| No development mode | Dual-mode operation |
| Static dependencies | Dynamic dependency management |
| Single-use | Reusable across projects |
Metadata
Release files for pyconsole-portable 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyconsole_portable-0.1.0.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyconsole_portable-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.2 kB
Release files / pyconsole_portable-0.1.0.tar.gz
| Download URL | pyconsole_portable-0.1.0.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcb12c40fcbbf74b9286c9b06b552dc448aba0741acc48e4fd45f4ccededc0da
|
|
BLAKE2b-256 checksum How to use checksums |
2ae61423d43c2c1179426002adb09f67304b2014ffb4a99cb096bcffe387dce4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|
Release files / pyconsole_portable-0.1.0-py3-none-any.whl
| Download URL | pyconsole_portable-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7d963ba5ddaecd5eb431b2694669b3de95c626e4d682e5e13fe1edf7876942f
|
|
BLAKE2b-256 checksum How to use checksums |
6ff502545b10e469ac26c0bbea27a846838f3db0aca471a272626c0f5b08815d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|