Name | speedi JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | Speedi – A typed, stateful, high-performance CLI framework for Python |
upload_time | 2025-08-25 20:16:34 |
maintainer | None |
docs_url | None |
author | Muonry Team |
requires_python | >=3.10 |
license | MIT |
keywords |
cli
framework
typed
async
concurrency
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Speedi
A typed, stateful, high-performance CLI framework for Python.
- Declarative, Typer-like API
- Type-hint aware parsing and validation (Satya-ready stubs)
- Stateful session (in-memory, optional persistence)
- Async-first with simple parallel primitives
- Optional Rust core (PyO3) scaffold
## Quickstart (local, no install)
```bash
python examples/speedi_example.py --help
python examples/speedi_example.py greet Alice 30 --loud
```
Example output:
```
Hello Alice, age 30
HELLO ALICE
```
## Session (optional persistence)
```bash
python examples/speedi_example.py login alice
python examples/speedi_example.py whoami
```
To persist session between runs, pass `--persist` to commands that mutate session or set env `SPEEDI_PERSIST=1`.
Session file path (if persisted): `~/.speedi/session.json`
## Project Layout
- `speedi/` – core Python package
- `app.py` – `App` and command system
- `session.py` – session management
- `concurrency.py` – `parallel` helper
- `validation.py` – type validation stubs
- `engine.py` – optional Rust bridge (stub)
- `__init__.py` – exports
- `examples/` – example CLI
- `rust/speedi_core/` – optional Rust core (PyO3) scaffold
- `tests/` – minimal tests
## Rust core (optional)
A PyO3 stub is included under `rust/speedi_core`. It's not required to run the Python example.
## Colors
Speedi supports colored output via Rich with graceful fallback.
- Install extras: `pip install -e .[rich]`
- Auto-enabled on TTY; force with `SPEEDI_COLOR=1` or disable with `SPEEDI_COLOR=0`.
- Try: `python examples/speedi_example.py colors`
## Agent guide
See `AGENT.md` for integrating Speedi into your app/agent: commands, session, concurrency, and color helpers.
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "speedi",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "cli, framework, typed, async, concurrency",
"author": "Muonry Team",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/94/9e/d9239b88a6a0fd9ea61696442d8100c9f8f7df0f7c30bb1936a0eae76e56/speedi-0.1.0.tar.gz",
"platform": null,
"description": "# Speedi\n\nA typed, stateful, high-performance CLI framework for Python.\n\n- Declarative, Typer-like API\n- Type-hint aware parsing and validation (Satya-ready stubs)\n- Stateful session (in-memory, optional persistence)\n- Async-first with simple parallel primitives\n- Optional Rust core (PyO3) scaffold\n\n## Quickstart (local, no install)\n\n```bash\npython examples/speedi_example.py --help\npython examples/speedi_example.py greet Alice 30 --loud\n```\n\nExample output:\n\n```\nHello Alice, age 30\nHELLO ALICE\n```\n\n## Session (optional persistence)\n\n```bash\npython examples/speedi_example.py login alice\npython examples/speedi_example.py whoami\n```\n\nTo persist session between runs, pass `--persist` to commands that mutate session or set env `SPEEDI_PERSIST=1`.\n\nSession file path (if persisted): `~/.speedi/session.json`\n\n## Project Layout\n\n- `speedi/` \u2013 core Python package\n - `app.py` \u2013 `App` and command system\n - `session.py` \u2013 session management\n - `concurrency.py` \u2013 `parallel` helper\n - `validation.py` \u2013 type validation stubs\n - `engine.py` \u2013 optional Rust bridge (stub)\n - `__init__.py` \u2013 exports\n- `examples/` \u2013 example CLI\n- `rust/speedi_core/` \u2013 optional Rust core (PyO3) scaffold\n- `tests/` \u2013 minimal tests\n\n## Rust core (optional)\n\nA PyO3 stub is included under `rust/speedi_core`. It's not required to run the Python example.\n\n## Colors\n\nSpeedi supports colored output via Rich with graceful fallback.\n\n- Install extras: `pip install -e .[rich]`\n- Auto-enabled on TTY; force with `SPEEDI_COLOR=1` or disable with `SPEEDI_COLOR=0`.\n- Try: `python examples/speedi_example.py colors`\n\n## Agent guide\n\nSee `AGENT.md` for integrating Speedi into your app/agent: commands, session, concurrency, and color helpers.\n\n## License\n\nMIT\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Speedi \u2013 A typed, stateful, high-performance CLI framework for Python",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/muonry/speedi",
"Issues": "https://github.com/muonry/speedi/issues",
"Repository": "https://github.com/muonry/speedi.git"
},
"split_keywords": [
"cli",
" framework",
" typed",
" async",
" concurrency"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2b7f04577b639c980b5125a9112343a7d9d10926846a4f0ea08f3981941484cf",
"md5": "e2d392442d705d1b7b437b48c7588bd4",
"sha256": "12517c27a82409a53d579ac0a4dad1ae78f72d982166ee5800142779f78ae525"
},
"downloads": -1,
"filename": "speedi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e2d392442d705d1b7b437b48c7588bd4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 228065,
"upload_time": "2025-08-25T20:16:32",
"upload_time_iso_8601": "2025-08-25T20:16:32.096360Z",
"url": "https://files.pythonhosted.org/packages/2b/7f/04577b639c980b5125a9112343a7d9d10926846a4f0ea08f3981941484cf/speedi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "949ed9239b88a6a0fd9ea61696442d8100c9f8f7df0f7c30bb1936a0eae76e56",
"md5": "8ae319678038dfcae411e59dca22029d",
"sha256": "573de1e2f0b3c5349850b70be36dd1f975c69116806f25143bab0f38068278ed"
},
"downloads": -1,
"filename": "speedi-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "8ae319678038dfcae411e59dca22029d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 11531,
"upload_time": "2025-08-25T20:16:34",
"upload_time_iso_8601": "2025-08-25T20:16:34.283475Z",
"url": "https://files.pythonhosted.org/packages/94/9e/d9239b88a6a0fd9ea61696442d8100c9f8f7df0f7c30bb1936a0eae76e56/speedi-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-25 20:16:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "muonry",
"github_project": "speedi",
"github_not_found": true,
"lcname": "speedi"
}