A FastAPI-like framework for building interactive shell applications with auto-completion and type safety
Reason this release was yanked:
This stable version is unstable through. Use 1.0.0a3 instead.
Project description
FastShell
A FastAPI-like framework for building interactive shell applications with automatic completion, type conversion, and subcommands.
Features
- 🚀 FastAPI-like decorators - Simple and intuitive API design
- 📝 Automatic parsing - Docstrings, function names, parameters, and type annotations
- 🔧 Auto-completion - Command and parameter completion with TUI support
- 🌳 Subcommands - Nested command structure support
- 🔄 Type conversion - Automatic parameter type conversion
- 🖥️ Cross-platform - Works on Windows, macOS, and Linux
- 🎨 Rich output - Beautiful terminal output with colors and formatting
Quick Start
from fastshell import FastShell
app = FastShell()
@app.command()
def hello(name: str = "World"):
"""Say hello to someone.
Args:
name: The name to greet
"""
print(f"Hello, {name}!")
@app.command()
def add(a: int, b: int):
"""Add two numbers.
Args:
a: First number
b: Second number
"""
result = a + b
print(f"{a} + {b} = {result}")
if __name__ == "__main__":
app.run()
Installation
pip install fastshell-framework
Development Installation
For development, clone the repository and install in editable mode:
git clone https://github.com/fastshell/fastshell.git
cd fastshell
pip install -e .
Development
pip install -e ".[dev]"
License
MIT License
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 fastshell-0.1.0.tar.gz.
File metadata
- Download URL: fastshell-0.1.0.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c048ab830c1f04259cc0ed7f827b38f7675da86b71196a0b8b788b3568c3a5a6
|
|
| MD5 |
8118d2b42beeef552bfae994ed540356
|
|
| BLAKE2b-256 |
db4999b115e0829fd5a94c62183ebfff601339fb922ba3df93114fa9b0e29ffa
|
File details
Details for the file fastshell-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fastshell-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94b55b02d1eb7f5ddd51c890bc94b34ef5cdeece2a9b151a26c550e4538bb1cd
|
|
| MD5 |
013436420bff46c3d042cfccb032cf67
|
|
| BLAKE2b-256 |
407b5db8427061f7b6f07b77fa40bc871687ddc27c946cc0df2d6f236f3c5db9
|