Name | sygaldry-cli JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | Production-ready AI components that you can copy and paste into your apps |
upload_time | 2025-07-13 04:31:44 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.12 |
license | MIT |
keywords |
ai
llm
agents
tools
components
mirascope
lilypad
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# sygaldry
**Beautiful, production-ready Mirascope components that you can copy and paste into your AI apps.**
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
## What is sygaldry
sygaldry is a component library specifically designed for Mirascope applications. Instead of being another framework, it's a CLI tool that helps you add production-ready Mirascope components directly to your codebase - components you own and can customize.
Inspired by [shadcn/ui](https://ui.shadcn.com)'s philosophy, sygaldry provides:
- **Pre-built Mirascope Agents** - Research assistants, code generators, data analysts, and more
- **Modular Mirascope Tools** - PDF search, web scraping, API integrations, document parsing
- **Optimized Prompt Templates** - Battle-tested Mirascope prompt templates
- **Response Models** - Pydantic models for Mirascope structured outputs
- **Evaluation Frameworks** - Test and validate your Mirascope applications
## Why sygaldry
### The Problem
Every Mirascope project involves writing the same patterns: PDF parsers, web scrapers, search tools, and agent architectures. You implement the same decorators, response models, and async patterns repeatedly.
### The Solution
sygaldry provides a registry of production-ready Mirascope components that follow best practices. Add them with a single command, customize the provider and model, and get clean code that becomes part of your project.
## How It Works
sygaldry uses a smart configuration system:
1. **Your Project Config (`sygaldry.json`)** - Tells sygaldry where to place components
2. **Component Metadata (`component.json`)** - Defines what files to copy and dependencies
3. **Component Documentation (`sygaldry.md`)** - Becomes part of your codebase
When you add a component:
- The CLI reads your project structure from `sygaldry.json`
- Downloads the component based on its `component.json`
- Places files in the correct directories by component type
- Applies your customizations (provider, model, Lilypad tracing)
- Installs required dependencies
## Installation
```bash
pip install sygaldry-cli
```
Or with uv (recommended):
```bash
uv pip install sygaldry-cli-cli
```
## Quick Start
### 1. Initialize your project
```bash
sygaldry init
```
This creates a `sygaldry.json` configuration file that maps component types to directories:
```json
{
"agentDirectory": "src/agents",
"toolDirectory": "src/tools",
"promptTemplateDirectory": "src/prompts",
"responseModelDirectory": "src/models",
"defaultProvider": "openai",
"defaultModel": "gpt-4o-mini"
}
```
### 2. Add components
```bash
# Add a PDF search tool to src/tools/pdf_search/
sygaldry add pdf_search_tool
# Add a research agent with Claude to src/agents/research_assistant/
sygaldry add research_assistant_agent --provider anthropic --model claude-3-opus
# Add with Lilypad observability
sygaldry add web_search_tool --with-lilypad
```
### 3. Use in your code
```python
from tools.pdf_search import search_pdf_content, PDFSearchArgs
from agents.research_assistant import research_topic
# Components are now part of YOUR codebase with proper Mirascope decorators
result = await search_pdf_content(PDFSearchArgs(
file_path="research.pdf",
query="machine learning"
))
# Agent with your chosen provider/model
research = await research_topic(
topic="quantum computing",
sources=["arxiv", "scholar"]
)
```
## Component Structure
Each component lives in its own directory, organized by type:
```
your_project/
├── sygaldry.json
├── src/
│ ├── agents/
│ │ └── research_assistant/
│ │ ├── __init__.py
│ │ ├── agent.py # Mirascope agent implementation
│ │ └── sygaldry.md # Documentation
│ ├── tools/
│ │ └── pdf_search/
│ │ ├── __init__.py
│ │ ├── tool.py # Mirascope tool implementation
│ │ └── sygaldry.md
│ └── prompts/
│ └── summarization/
│ ├── __init__.py
│ ├── prompt.py # Mirascope prompt template
│ └── sygaldry.md
```
## Available Components
Components use type suffixes to prevent naming conflicts:
### Agents
- `academic_research_agent` - Academic paper research with Mirascope agents
- `code_generation_execution_agent` - Generate and execute code safely
- `dataset_builder_agent` - Create datasets from various sources
- `hallucination_detector_agent` - Detect and prevent LLM hallucinations
- `market_intelligence_agent` - Market research and analysis
- `research_assistant_agent` - General-purpose research agent
- `sales_intelligence_agent` - Lead scoring and sales insights
- And many more...
### Tools
- `pdf_search_tool` - Fuzzy search within PDFs using Mirascope tools
- `web_search_tool` - Multi-provider web search
- `code_interpreter_tool` - Safe Python code execution
- `firecrawl_scrape_tool` - Advanced web scraping
- `git_repo_search_tool` - Search code repositories
- And many more...
## Key Features
### Mirascope Native
Components use proper Mirascope patterns - tools as functions, `@llm.call` with tools parameter, `@prompt_template` decorators, and async patterns.
### Provider Agnostic
Works with any Mirascope-supported provider - OpenAI, Anthropic, Google, Mistral, Groq, and more. Switch providers with a flag.
### Smart Dependencies
Each component declares its dependencies. The CLI handles installation automatically.
### Observability Ready
Optional Lilypad integration adds `@lilypad.trace()` decorators for tracing and monitoring.
### Best Practices Built-in
All components follow Mirascope best practices for prompts, tools, response models, and error handling.
## Example: Building a Research App
```bash
# Initialize project
sygaldry init
# Add Mirascope components
sygaldry add research_assistant_agent --provider openai
sygaldry add pdf_search_tool
sygaldry add web_search_tool --with-lilypad
# Your app is ready!
```
```python
# main.py - Clean Mirascope code
from agents.research_assistant import research_topic
from tools.pdf_search import search_pdf_content
# Components already configured with your provider/model
results = await research_topic("quantum computing applications")
pdf_insights = await search_pdf_content(...)
```
## Documentation
For comprehensive documentation, visit [sygaldry.ai/docs](https://sygaldry.ai/docs)
## Community
- GitHub: [github.com/sygaldry-ai/sygaldry](https://github.com/sygaldry-ai/sygaldry)
- Discord: [discord.gg/sygaldry](https://discord.gg/sygaldry)
- Twitter: [@sygaldry_ai](https://twitter.com/sygaldry_ai)
## License
MIT License - you're free to use sygaldry components in any project, commercial or otherwise.
---
**Stop writing boilerplate. Start building with Mirascope best practices.**
Raw data
{
"_id": null,
"home_page": null,
"name": "sygaldry-cli",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.12",
"maintainer_email": null,
"keywords": "ai, llm, agents, tools, components, mirascope, lilypad",
"author": null,
"author_email": "greyhaven-ai <info@sygaldry.ai>",
"download_url": "https://files.pythonhosted.org/packages/b0/ec/44c1afb8d77f9791043640904c0c8345c0b43daa12444cfcc715fb86bc9b/sygaldry_cli-0.1.0.tar.gz",
"platform": null,
"description": "# sygaldry\n\n**Beautiful, production-ready Mirascope components that you can copy and paste into your AI apps.**\n\n[](https://opensource.org/licenses/MIT)\n[](https://www.python.org/downloads/)\n\n## What is sygaldry\n\nsygaldry is a component library specifically designed for Mirascope applications. Instead of being another framework, it's a CLI tool that helps you add production-ready Mirascope components directly to your codebase - components you own and can customize.\n\nInspired by [shadcn/ui](https://ui.shadcn.com)'s philosophy, sygaldry provides:\n\n- **Pre-built Mirascope Agents** - Research assistants, code generators, data analysts, and more\n- **Modular Mirascope Tools** - PDF search, web scraping, API integrations, document parsing\n- **Optimized Prompt Templates** - Battle-tested Mirascope prompt templates\n- **Response Models** - Pydantic models for Mirascope structured outputs\n- **Evaluation Frameworks** - Test and validate your Mirascope applications\n\n## Why sygaldry\n\n### The Problem\n\nEvery Mirascope project involves writing the same patterns: PDF parsers, web scrapers, search tools, and agent architectures. You implement the same decorators, response models, and async patterns repeatedly.\n\n### The Solution\n\nsygaldry provides a registry of production-ready Mirascope components that follow best practices. Add them with a single command, customize the provider and model, and get clean code that becomes part of your project.\n\n## How It Works\n\nsygaldry uses a smart configuration system:\n\n1. **Your Project Config (`sygaldry.json`)** - Tells sygaldry where to place components\n2. **Component Metadata (`component.json`)** - Defines what files to copy and dependencies\n3. **Component Documentation (`sygaldry.md`)** - Becomes part of your codebase\n\nWhen you add a component:\n\n- The CLI reads your project structure from `sygaldry.json`\n- Downloads the component based on its `component.json`\n- Places files in the correct directories by component type\n- Applies your customizations (provider, model, Lilypad tracing)\n- Installs required dependencies\n\n## Installation\n\n```bash\npip install sygaldry-cli\n```\n\nOr with uv (recommended):\n```bash\nuv pip install sygaldry-cli-cli\n```\n\n## Quick Start\n\n### 1. Initialize your project\n\n```bash\nsygaldry init\n```\nThis creates a `sygaldry.json` configuration file that maps component types to directories:\n```json\n{\n \"agentDirectory\": \"src/agents\",\n \"toolDirectory\": \"src/tools\",\n \"promptTemplateDirectory\": \"src/prompts\",\n \"responseModelDirectory\": \"src/models\",\n \"defaultProvider\": \"openai\",\n \"defaultModel\": \"gpt-4o-mini\"\n}\n```\n\n### 2. Add components\n\n```bash\n# Add a PDF search tool to src/tools/pdf_search/\nsygaldry add pdf_search_tool\n\n# Add a research agent with Claude to src/agents/research_assistant/\nsygaldry add research_assistant_agent --provider anthropic --model claude-3-opus\n\n# Add with Lilypad observability\nsygaldry add web_search_tool --with-lilypad\n```\n\n### 3. Use in your code\n\n```python\nfrom tools.pdf_search import search_pdf_content, PDFSearchArgs\nfrom agents.research_assistant import research_topic\n\n# Components are now part of YOUR codebase with proper Mirascope decorators\nresult = await search_pdf_content(PDFSearchArgs(\n file_path=\"research.pdf\",\n query=\"machine learning\"\n))\n\n# Agent with your chosen provider/model\nresearch = await research_topic(\n topic=\"quantum computing\",\n sources=[\"arxiv\", \"scholar\"]\n)\n```\n\n## Component Structure\n\nEach component lives in its own directory, organized by type:\n\n```\nyour_project/\n\u251c\u2500\u2500 sygaldry.json\n\u251c\u2500\u2500 src/\n\u2502 \u251c\u2500\u2500 agents/\n\u2502 \u2502 \u2514\u2500\u2500 research_assistant/\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 agent.py # Mirascope agent implementation\n\u2502 \u2502 \u2514\u2500\u2500 sygaldry.md # Documentation\n\u2502 \u251c\u2500\u2500 tools/\n\u2502 \u2502 \u2514\u2500\u2500 pdf_search/\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 tool.py # Mirascope tool implementation\n\u2502 \u2502 \u2514\u2500\u2500 sygaldry.md\n\u2502 \u2514\u2500\u2500 prompts/\n\u2502 \u2514\u2500\u2500 summarization/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 prompt.py # Mirascope prompt template\n\u2502 \u2514\u2500\u2500 sygaldry.md\n```\n\n## Available Components\n\nComponents use type suffixes to prevent naming conflicts:\n\n### Agents\n\n- `academic_research_agent` - Academic paper research with Mirascope agents\n- `code_generation_execution_agent` - Generate and execute code safely\n- `dataset_builder_agent` - Create datasets from various sources\n- `hallucination_detector_agent` - Detect and prevent LLM hallucinations\n- `market_intelligence_agent` - Market research and analysis\n- `research_assistant_agent` - General-purpose research agent\n- `sales_intelligence_agent` - Lead scoring and sales insights\n- And many more...\n\n### Tools\n\n- `pdf_search_tool` - Fuzzy search within PDFs using Mirascope tools\n- `web_search_tool` - Multi-provider web search\n- `code_interpreter_tool` - Safe Python code execution\n- `firecrawl_scrape_tool` - Advanced web scraping\n- `git_repo_search_tool` - Search code repositories\n- And many more...\n\n## Key Features\n\n### Mirascope Native\n\nComponents use proper Mirascope patterns - tools as functions, `@llm.call` with tools parameter, `@prompt_template` decorators, and async patterns.\n\n### Provider Agnostic\n\nWorks with any Mirascope-supported provider - OpenAI, Anthropic, Google, Mistral, Groq, and more. Switch providers with a flag.\n\n### Smart Dependencies\n\nEach component declares its dependencies. The CLI handles installation automatically.\n\n### Observability Ready\n\nOptional Lilypad integration adds `@lilypad.trace()` decorators for tracing and monitoring.\n\n### Best Practices Built-in\n\nAll components follow Mirascope best practices for prompts, tools, response models, and error handling.\n\n## Example: Building a Research App\n\n```bash\n# Initialize project\nsygaldry init\n\n# Add Mirascope components\nsygaldry add research_assistant_agent --provider openai\nsygaldry add pdf_search_tool\nsygaldry add web_search_tool --with-lilypad\n\n# Your app is ready!\n```\n\n```python\n# main.py - Clean Mirascope code\nfrom agents.research_assistant import research_topic\nfrom tools.pdf_search import search_pdf_content\n\n# Components already configured with your provider/model\nresults = await research_topic(\"quantum computing applications\")\npdf_insights = await search_pdf_content(...)\n```\n\n## Documentation\n\nFor comprehensive documentation, visit [sygaldry.ai/docs](https://sygaldry.ai/docs)\n\n## Community\n\n- GitHub: [github.com/sygaldry-ai/sygaldry](https://github.com/sygaldry-ai/sygaldry)\n- Discord: [discord.gg/sygaldry](https://discord.gg/sygaldry)\n- Twitter: [@sygaldry_ai](https://twitter.com/sygaldry_ai)\n\n## License\n\nMIT License - you're free to use sygaldry components in any project, commercial or otherwise.\n\n---\n\n**Stop writing boilerplate. Start building with Mirascope best practices.** \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Production-ready AI components that you can copy and paste into your apps",
"version": "0.1.0",
"project_urls": {
"documentation": "https://sygaldry.ai/docs",
"homepage": "https://sygaldry.ai",
"repository": "https://github.com/sygaldry-ai/sygaldry"
},
"split_keywords": [
"ai",
" llm",
" agents",
" tools",
" components",
" mirascope",
" lilypad"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b75454b7d7258919663046bb2b72018bb3075c77ef67519946dd92cc67d13891",
"md5": "97f77fbcffeae7c3dc2a521da90d2989",
"sha256": "29cdf7692adc9ace7dcebc4de85a538442c9d94bbfd77a1f620ba606717e159e"
},
"downloads": -1,
"filename": "sygaldry_cli-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "97f77fbcffeae7c3dc2a521da90d2989",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.12",
"size": 39659,
"upload_time": "2025-07-13T04:31:43",
"upload_time_iso_8601": "2025-07-13T04:31:43.532342Z",
"url": "https://files.pythonhosted.org/packages/b7/54/54b7d7258919663046bb2b72018bb3075c77ef67519946dd92cc67d13891/sygaldry_cli-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b0ec44c1afb8d77f9791043640904c0c8345c0b43daa12444cfcc715fb86bc9b",
"md5": "e4d27404e5c95fb368c08724d166c59e",
"sha256": "98a9f7f3c8b22556d5100b88fe88f3ff03068a0bc16b97c35b16cbcfbbf667ed"
},
"downloads": -1,
"filename": "sygaldry_cli-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e4d27404e5c95fb368c08724d166c59e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.12",
"size": 43601,
"upload_time": "2025-07-13T04:31:44",
"upload_time_iso_8601": "2025-07-13T04:31:44.910463Z",
"url": "https://files.pythonhosted.org/packages/b0/ec/44c1afb8d77f9791043640904c0c8345c0b43daa12444cfcc715fb86bc9b/sygaldry_cli-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-13 04:31:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sygaldry-ai",
"github_project": "sygaldry",
"github_not_found": true,
"lcname": "sygaldry-cli"
}