Self-contained Python app with urllib3 HTTP requests
Project description
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 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyconsole_portable-0.1.0.tar.gz.
File metadata
- Download URL: pyconsole_portable-0.1.0.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcb12c40fcbbf74b9286c9b06b552dc448aba0741acc48e4fd45f4ccededc0da
|
|
| MD5 |
54ac55d399061cb716a39ab01d3ce24b
|
|
| BLAKE2b-256 |
2ae61423d43c2c1179426002adb09f67304b2014ffb4a99cb096bcffe387dce4
|
File details
Details for the file pyconsole_portable-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyconsole_portable-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7d963ba5ddaecd5eb431b2694669b3de95c626e4d682e5e13fe1edf7876942f
|
|
| MD5 |
7367d4dfd8a432c6eb5582b704a0b3a4
|
|
| BLAKE2b-256 |
6ff502545b10e469ac26c0bbea27a846838f3db0aca471a272626c0f5b08815d
|