Skip to main content

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 .venv and installs dependencies on first run
  • Dual-mode operation:
    • Bundled mode: All dependencies included for immediate execution
    • Development mode: Auto-creates virtual environment when pyproject.toml is 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

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) or pyconsole-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:

  1. First run: Automatically creates .venv and installs dependencies
  2. Subsequent runs: Uses the existing virtual environment
  3. Dependency changes: Auto-updates the virtual environment
  4. 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 uv for faster dependency management when available
  • Fallback support: Gracefully falls back to standard venv if uv is 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)

Source distribution for pyconsole-portable 0.1.0
File Size Uploaded
pyconsole_portable-0.1.0.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyconsole-portable 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page