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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyconsole_portable-0.1.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyconsole_portable-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

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

Hashes for pyconsole_portable-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dcb12c40fcbbf74b9286c9b06b552dc448aba0741acc48e4fd45f4ccededc0da
MD5 54ac55d399061cb716a39ab01d3ce24b
BLAKE2b-256 2ae61423d43c2c1179426002adb09f67304b2014ffb4a99cb096bcffe387dce4

See more details on using hashes here.

File details

Details for the file pyconsole_portable-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyconsole_portable-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7d963ba5ddaecd5eb431b2694669b3de95c626e4d682e5e13fe1edf7876942f
MD5 7367d4dfd8a432c6eb5582b704a0b3a4
BLAKE2b-256 6ff502545b10e469ac26c0bbea27a846838f3db0aca471a272626c0f5b08815d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page