Name | yaapp-core JSON |
Version |
0.0.40
JSON |
| download |
home_page | None |
Summary | yaapp-core - Minimal core functionality for yaapp framework |
upload_time | 2025-08-03 16:07:07 |
maintainer | None |
docs_url | None |
author | yaapp Team |
requires_python | >=3.8 |
license | None |
keywords |
cli
framework
plugin
core
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# yaapp-core
**Minimal core functionality for yaapp framework**
## What's included:
### ✅ Core Framework
- `app.py` - Main Yaapp class
- `core.py` - YaappCore functionality
- `expose.py` - @expose decorator
- `result.py` - Result type (Ok/Err)
- `async_compat.py` - Async compatibility
- `execution_strategy.py` - Execution strategies
- `context_tree.py` - Context management
- `exposers/` - Complete exposer system
- `reflection.py` - CLI reflection system
- `config.py` - Configuration management
- `discovery.py` - Plugin discovery
- `run.py` - Main run function
### ✅ Example Runner
- `runners/click/` - Click CLI runner
### ✅ Example Plugin
- `plugins/calculator/` - Simple calculator plugin
## Usage:
### Basic Example:
```python
from yaapp import run
run() # Auto-discovers plugins and runs CLI
```
### Manual Example:
```python
from yaapp.app import Yaapp
app = Yaapp(auto_discover=False)
# Load calculator plugin manually
import yaapp.plugins.calculator.plugin
from yaapp.expose import apply_pending_registrations
apply_pending_registrations(app)
# Use programmatically
result = app._execute_from_registry("calculator")
calc = result.unwrap()
print(calc.add(2, 3)) # 5
```
### CLI Usage:
```bash
python cli_example.py calculator add --x 5 --y 3
python cli_example.py calculator get-history --limit 5
```
## Dependencies:
- `click` (for CLI runner)
- `pyyaml` (for config)
## What's NOT included:
- Other runners (prompt, rich, server, etc.)
- Other plugins (storage, docker, etc.)
- CLI builders and complex discovery
- Non-essential utilities
This is the **minimal working core** that demonstrates:
1. ✅ Plugin system working
2. ✅ Runner system working
3. ✅ Exposer system working
4. ✅ CLI generation working
Raw data
{
"_id": null,
"home_page": null,
"name": "yaapp-core",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "cli, framework, plugin, core",
"author": "yaapp Team",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/fe/c5/fd217461a65b1e0a604f2146198bec480f98a61ae0208e458d5df54a1fde/yaapp_core-0.0.40.tar.gz",
"platform": null,
"description": "# yaapp-core\n\n**Minimal core functionality for yaapp framework**\n\n## What's included:\n\n### \u2705 Core Framework\n- `app.py` - Main Yaapp class\n- `core.py` - YaappCore functionality \n- `expose.py` - @expose decorator\n- `result.py` - Result type (Ok/Err)\n- `async_compat.py` - Async compatibility\n- `execution_strategy.py` - Execution strategies\n- `context_tree.py` - Context management\n- `exposers/` - Complete exposer system\n- `reflection.py` - CLI reflection system\n- `config.py` - Configuration management\n- `discovery.py` - Plugin discovery\n- `run.py` - Main run function\n\n### \u2705 Example Runner\n- `runners/click/` - Click CLI runner\n\n### \u2705 Example Plugin \n- `plugins/calculator/` - Simple calculator plugin\n\n## Usage:\n\n### Basic Example:\n```python\nfrom yaapp import run\nrun() # Auto-discovers plugins and runs CLI\n```\n\n### Manual Example:\n```python\nfrom yaapp.app import Yaapp\n\napp = Yaapp(auto_discover=False)\n\n# Load calculator plugin manually\nimport yaapp.plugins.calculator.plugin\nfrom yaapp.expose import apply_pending_registrations\napply_pending_registrations(app)\n\n# Use programmatically\nresult = app._execute_from_registry(\"calculator\")\ncalc = result.unwrap()\nprint(calc.add(2, 3)) # 5\n```\n\n### CLI Usage:\n```bash\npython cli_example.py calculator add --x 5 --y 3\npython cli_example.py calculator get-history --limit 5\n```\n\n## Dependencies:\n- `click` (for CLI runner)\n- `pyyaml` (for config)\n\n## What's NOT included:\n- Other runners (prompt, rich, server, etc.)\n- Other plugins (storage, docker, etc.)\n- CLI builders and complex discovery\n- Non-essential utilities\n\nThis is the **minimal working core** that demonstrates:\n1. \u2705 Plugin system working\n2. \u2705 Runner system working \n3. \u2705 Exposer system working\n4. \u2705 CLI generation working\n",
"bugtrack_url": null,
"license": null,
"summary": "yaapp-core - Minimal core functionality for yaapp framework",
"version": "0.0.40",
"project_urls": {
"Homepage": "https://github.com/yaapp-team/yaapp-core",
"Issues": "https://github.com/yaapp-team/yaapp-core/issues",
"Repository": "https://github.com/yaapp-team/yaapp-core"
},
"split_keywords": [
"cli",
" framework",
" plugin",
" core"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fe45815abe618801b41500a01b02cf29bc9aa1fb0e361fb0b5bd2b993e4eb9c7",
"md5": "593b8d9e684d0f73653b5cb851a03334",
"sha256": "4fc114e15c6b67465fdddf6c183a07d950a4b74a09b72845b21853d470491482"
},
"downloads": -1,
"filename": "yaapp_core-0.0.40-py3-none-any.whl",
"has_sig": false,
"md5_digest": "593b8d9e684d0f73653b5cb851a03334",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 44928,
"upload_time": "2025-08-03T16:07:05",
"upload_time_iso_8601": "2025-08-03T16:07:05.678777Z",
"url": "https://files.pythonhosted.org/packages/fe/45/815abe618801b41500a01b02cf29bc9aa1fb0e361fb0b5bd2b993e4eb9c7/yaapp_core-0.0.40-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fec5fd217461a65b1e0a604f2146198bec480f98a61ae0208e458d5df54a1fde",
"md5": "266e1b33f9e6d2edb7cc0fa36686c86b",
"sha256": "483675f38544d08fc2d29d296b055e8c44c1e1e97eb361fa10f4a67663125717"
},
"downloads": -1,
"filename": "yaapp_core-0.0.40.tar.gz",
"has_sig": false,
"md5_digest": "266e1b33f9e6d2edb7cc0fa36686c86b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 36865,
"upload_time": "2025-08-03T16:07:07",
"upload_time_iso_8601": "2025-08-03T16:07:07.845201Z",
"url": "https://files.pythonhosted.org/packages/fe/c5/fd217461a65b1e0a604f2146198bec480f98a61ae0208e458d5df54a1fde/yaapp_core-0.0.40.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-03 16:07:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yaapp-team",
"github_project": "yaapp-core",
"github_not_found": true,
"lcname": "yaapp-core"
}