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. Zero-Await Session Management

Interact with your session without the async tax:

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

2. Immediate Feedback

Stop calling print() or vars(). Just evaluate the variable:

alchemist  user
# Renders a clean table with all column values

3. Native Async Queries

Full auto-await support when you need complex queries:

alchemist  orders = (await db.execute(select(Order))).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.0.tar.gz (6.2 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.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: alchemist_shell-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.12.3 Linux/6.17.0-19-generic

File hashes

Hashes for alchemist_shell-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2180e2bafb414788fb42c7e662848b329819ed7d9bf9201a82f99e762e4cc457
MD5 c1289fb935974f5ed67b0f9cfa0a469e
BLAKE2b-256 9c604384dd6228b56902e2f497245d753144e8d5acc9e6391a90d9655fb9ed39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: alchemist_shell-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.12.3 Linux/6.17.0-19-generic

File hashes

Hashes for alchemist_shell-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d7cba3173f654819826d9ba33813eb836c72b577d1697376464be13b0bf320b
MD5 c18ea7af848f86f6b98219260f1a717a
BLAKE2b-256 df006a1598a9185b5f092dc4f6ab7b2cc729d74a0b119230fc5a69e40efb8a71

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