Skip to main content

The missing interactive shell for SQLAlchemy projects.

Project description

🔮 Alchemist Shell

The missing interactive shell for SQLAlchemy.

Working with SQLAlchemy in a standard REPL is painful. You have to manually manage imports, handle async event loops, and deal with unreadable object representations. Alchemist Shell turns your terminal into a powerful, zero-setup database workbench.


🛠 Why this exists?

The current workflow for inspecting SQLAlchemy projects in the terminal is broken:

  1. Manual Setup
    You shouldn't have to manually import every model and session helper just to check a record.

  2. Manual Session Management
    In interactive environments, setting up and managing a session is repetitive boilerplate.
    Creating engines, instantiating sessions, and keeping them alive just to run a few queries breaks the flow.

  3. Bad Visibility
    Default object reprs like <User 1> tell you nothing. You deserve to see your data clearly.


✨ DX Features

  • Auto-Discovery
    Recursively scans your project and injects all models into the namespace instantly.

  • Pre-loaded Toolkit
    select, func, text, and other SQLAlchemy essentials are available on startup.

  • Auto-Formatting
    Model instances render as high-fidelity rich tables when evaluated.

  • Modern Shell
    Powered by IPython with completion, syntax highlighting, and history-based autosuggestions.


📦 Installation

pip install alchemist-shell

🧪 The Workflow

1. Initialize the shell

Interact with your db having to manually load your session:

alchemist shell

2. Run queries directly on the terminal

All your SQLAlchemy models are autodiscovered and imported:

alchemist  user = User(username="alchemist")
alchemist  await db.add(user)
alchemist  await db.commit()

2. Immediate Feedback

View your database objects as a formated table without creating a sophisticated __repr__ method:

alchemist  user
# Renders a clean table with all column values

3. Native Async Queries

Full auto-await support when you need complex queries:

alchemist  results = await db.execute(select(Order))
alchemist  orders = results.scalars().all()

📜 License

MIT License. Permissive and simple.


Built to make SQLAlchemy development suck less.

Project details


Download files

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

Source Distribution

alchemist_shell-0.1.3.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.

alchemist_shell-0.1.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file alchemist_shell-0.1.3.tar.gz.

File metadata

  • Download URL: alchemist_shell-0.1.3.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.14.4 Linux/7.0.0-27-generic

File hashes

Hashes for alchemist_shell-0.1.3.tar.gz
Algorithm Hash digest
SHA256 30990c5c4a24bc17628c8c8e561f2fc09e76dc6903e0b49ed6290b93a6400744
MD5 a580f6bddc679aabc893d92624f9defc
BLAKE2b-256 278fb05c3bd129e795781df99bf59e530476b3b87afc507b20ad4f5ca571b876

See more details on using hashes here.

File details

Details for the file alchemist_shell-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: alchemist_shell-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.14.4 Linux/7.0.0-27-generic

File hashes

Hashes for alchemist_shell-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d1b1efbb7df29ed9b16b728c3b91ea8ae7486d3622eaea11aac78eb34747e3a5
MD5 97e3eaa202f99b40e0f64b3c24045c5e
BLAKE2b-256 60ef4509cc59254e0417cf07c9c67ec62af80f909a016cef6c696375ab90a248

See more details on using hashes here.

Supported by

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