sugarai


Namesugarai JSON
Version 2.0.3 PyPI version JSON
download
home_pageNone
SummarySugar 🍰 - A dev team that never stops. Delegate full tasks to AI in the background.
upload_time2025-10-15 20:23:24
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords claude autonomous development ai automation
VCS
bugtrack_url
requirements aiosqlite pyyaml watchdog gitpython structlog click python-dotenv
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Sugar 🍰

A dev team that never stops.

Delegate full tasks to AI in the background. Sugar builds features, fixes bugs, and ships code while you focus on what matters.

## What It Does

Think of Sugar as **Claude Code with persistence**. Instead of one-off interactions:

- **Continuous execution** - Runs 24/7, working through your task queue
- **Delegate from Claude** - Hand off tasks during interactive sessions
- **Builds features** - Takes specs, implements, tests, commits working code
- **Fixes bugs** - Reads error logs, investigates, implements fixes
- **GitHub integration** - Creates PRs, updates issues, tracks progress
- **Smart discovery** - Finds work from errors, issues, and code analysis

You plan the work. Sugar executes it.

## Install

```bash
pip install sugarai
```

Or use uv (much faster):
```bash
uv pip install sugarai
```

## Quick Start

```bash
# Initialize in your project
cd your-project
sugar init

# Add tasks to the queue
sugar add "Fix authentication timeout" --type bug_fix --urgent
sugar add "Add user profile settings" --type feature

# Start the loop
sugar run
```

Sugar will:
1. Pick up tasks from the queue
2. Execute them using Claude Code
3. Run tests and verify changes
4. Commit working code
5. Move to the next task

It keeps going until the queue is empty (or you stop it).

**Or delegate from Claude Code:**
```
/sugar-task "Fix login timeout" --type bug_fix --urgent
```
Sugar picks it up and works on it while you keep coding.

## Real Example

**Simple tasks:**
```bash
# Quick task creation
sugar add "Fix authentication timeout" --type bug_fix --urgent
sugar add "Add user profile settings" --type feature --priority 4
```

**Complex tasks with rich context** (recommended for best results):
```bash
sugar add "User Dashboard Redesign" --json --description '{
  "priority": 5,
  "type": "feature",
  "context": "Complete overhaul of user dashboard with modern UI/UX patterns",
  "business_context": "User feedback shows dashboard is confusing. Goal: reduce support tickets by 40%",
  "technical_requirements": [
    "React 18 with TypeScript",
    "Responsive design (mobile-first)",
    "Real-time data updates via WebSocket",
    "Accessibility compliance (WCAG 2.1 AA)"
  ],
  "agent_assignments": {
    "ux_design_specialist": "Design system and user flows",
    "frontend_developer": "Implementation and optimization",
    "qa_test_engineer": "Testing and validation"
  },
  "success_criteria": [
    "Dashboard loads in < 2 seconds",
    "Mobile responsive on all breakpoints",
    "Passes accessibility audit",
    "User testing shows 90%+ satisfaction"
  ],
  "requirements": [
    "Dark mode support",
    "Customizable widget layout",
    "Export dashboard data to PDF"
  ]
}'
```

**Why JSON format?** Rich context gives Claude Code everything it needs to build production-quality features autonomously. The more detail you provide, the better the results.

```bash
# Start autonomous mode
sugar run

# Check progress anytime
sugar status
sugar list --status completed

# Sugar handles:
# - Writing the code
# - Running tests
# - Making commits
# - Creating PRs (if configured)
# - Updating GitHub issues
```

## Features

**Task Management**
- Rich task context with priorities and metadata
- Custom task types for your workflow
- Queue management and filtering

**Autonomous Execution**
- Specialized Claude agents (UX, backend, QA)
- Automatic retries on failures
- Quality checks and testing

**GitHub Integration**
- Reads issues, creates PRs
- Updates issue status automatically
- Commits with proper messages

**Smart Discovery**
- Monitors error logs
- Analyzes code quality
- Identifies missing tests
- Auto-creates tasks from findings

## How It Works

```
┌─────────────────────────────────────────────────────────┐
│                    The Sugar Loop                       │
└─────────────────────────────────────────────────────────┘

  You                    Priority Queue               Sugar
   │                          │                         │
   │  sugar add "task"        │                         │
   ├─────────────────────────>│                         │
   │                          │                         │
   │                          │  Picks highest priority │
   │                          │<────────────────────────┤
   │                          │                         │
   │                          │                         │
   │                     Claude Code                    │
   │                          │                         │
   │                          │  Executes in background │
   │                          │  (uses agents, tests)   │
   │                          │                         │
   │                          ▼                         │
   │                     Completes Work                 │
   │                          │                         │
   │                          │  Commits, updates       │
   │                          │                         │
   │                          │  Back to queue ────────>│
   │                          │                         │
   └──────────────────────────┴─────────────────────────┘
                              ↻ Repeat
```

**The continuous execution loop:**

1. **You assign** - Add tasks with priorities and context
2. **Sugar picks up** - Grabs highest priority work from the queue
3. **Claude Code executes** - Runs in background, uses specialized agents as needed
4. **Completes work** - Tests, commits, moves to next task
5. **Repeat** - Continuous execution until queue is empty

## Configuration

`.sugar/config.yaml` is auto-generated on `sugar init`. Key settings:

```yaml
sugar:
  dry_run: false              # Set to true for testing
  loop_interval: 300          # 5 minutes between cycles
  max_concurrent_work: 3      # Parallel task execution

claude:
  enable_agents: true         # Use specialized Claude agents

discovery:
  github:
    enabled: true
    repo: "user/repository"
  error_logs:
    enabled: true
    paths: ["logs/errors/"]
  code_quality:
    enabled: true
```

## Use Sugar from Claude Code

**Sugar has native Claude Code integration!** Delegate work to Sugar directly from your Claude sessions.

### Install the Plugin

```
/plugin install sugar@cdnsteve
```

### Delegate Work from Claude

**Inside a Claude Code session:**

```
You: "I'm working on authentication but need to fix these test failures.
Can you handle the test fixes while I finish the auth flow?"

Claude: "I'll create a Sugar task for the test fixes so you can keep coding."

/sugar-task "Fix authentication test failures" --type test --urgent
```

**Why this is powerful:** Claude Code handles your interactive work while Sugar autonomously fixes the tests in the background. No context switching.

### Example Workflow

```
You: "Found a memory leak in the cache module. Add it to the queue."

Claude:
/sugar-task "Fix memory leak in cache module" --json --description '{
  "priority": 5,
  "type": "bug_fix",
  "context": "Memory usage grows unbounded in production",
  "technical_requirements": ["Profile memory usage", "Add cleanup cycle"],
  "agent_assignments": {
    "tech_lead": "Investigate root cause and fix"
  }
}'

Task created! You can check progress with /sugar-status
```

### Available Slash Commands

- `/sugar-task` - Create tasks with rich context
- `/sugar-status` - Check queue and progress
- `/sugar-run` - Start autonomous mode
- `/sugar-review` - Review pending tasks
- `/sugar-analyze` - Analyze code for potential work

### MCP Server Integration

Sugar includes an MCP server for advanced integration:

```json
// In your Claude Code MCP settings
{
  "mcpServers": {
    "sugar": {
      "command": "sugar",
      "args": ["mcp"]
    }
  }
}
```

Enables:
- Real-time task queue access
- Direct task manipulation from prompts
- System status monitoring
- Seamless tool integration

## Requirements

- Python 3.11+
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)

## Documentation

- **[Quick Start](docs/user/quick-start.md)** - Get running in 5 minutes
- **[CLI Reference](docs/user/cli-reference.md)** - All commands
- **[GitHub Integration](docs/user/github-integration.md)** - Connect to GitHub
- **[Configuration Guide](docs/user/configuration-best-practices.md)** - Best practices
- **[Claude Code Plugin](.claude-plugin/README.md)** - Native integration

## Advanced Usage

**Custom Task Types**
```bash
sugar task-type add deployment --name "Deployment" --emoji "🚀"
sugar add "Deploy to staging" --type deployment
```

**Complex Tasks with Context**
```bash
sugar add "User Dashboard" --json --description '{
  "priority": 5,
  "context": "Complete dashboard redesign",
  "agent_assignments": {
    "ux_design_specialist": "UI/UX design",
    "frontend_developer": "Implementation",
    "qa_test_engineer": "Testing"
  }
}'
```

**Multiple Projects**
```bash
# Run Sugar on multiple projects simultaneously
cd /path/to/project-a && sugar run &
cd /path/to/project-b && sugar run &
cd /path/to/project-c && sugar run &
```

## Troubleshooting

**Sugar not finding Claude CLI?**
```bash
# Specify Claude path in .sugar/config.yaml
claude:
  command: "/full/path/to/claude"
```

**Tasks not executing?**
```bash
# Check dry_run is disabled
cat .sugar/config.yaml | grep dry_run

# Monitor logs
tail -f .sugar/sugar.log

# Test single cycle
sugar run --once
```

**Need help?**
- [Troubleshooting Guide](docs/user/troubleshooting.md)
- [GitHub Issues](https://github.com/cdnsteve/sugar/issues)

## Contributing

Contributions welcome! See [CONTRIBUTING.md](docs/dev/contributing.md) for guidelines.

```bash
# Development setup
git clone https://github.com/cdnsteve/sugar.git
cd sugar

# Install with uv (recommended)
uv pip install -e ".[dev,test,github]"

# Or with pip
pip install -e ".[dev,test,github]"

# Run tests
pytest tests/ -v

# Format code
black .
```

## License

MIT - see [LICENSE](LICENSE) and [TERMS.md](TERMS.md)

---

**Sugar v2.0.1** - Autonomous development for any project

> ⚠️ Sugar is provided "AS IS" without warranty. Review all AI-generated code before use. See [TERMS.md](TERMS.md) for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sugarai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "claude, autonomous, development, ai, automation",
    "author": null,
    "author_email": "Steven Leggett <contact@roboticforce.io>",
    "download_url": "https://files.pythonhosted.org/packages/a5/e3/ae8b21dc53b1da4e8279f82155efb05271fa04476bba28ee8e9886cb340e/sugarai-2.0.3.tar.gz",
    "platform": null,
    "description": "# Sugar \ud83c\udf70\n\nA dev team that never stops.\n\nDelegate full tasks to AI in the background. Sugar builds features, fixes bugs, and ships code while you focus on what matters.\n\n## What It Does\n\nThink of Sugar as **Claude Code with persistence**. Instead of one-off interactions:\n\n- **Continuous execution** - Runs 24/7, working through your task queue\n- **Delegate from Claude** - Hand off tasks during interactive sessions\n- **Builds features** - Takes specs, implements, tests, commits working code\n- **Fixes bugs** - Reads error logs, investigates, implements fixes\n- **GitHub integration** - Creates PRs, updates issues, tracks progress\n- **Smart discovery** - Finds work from errors, issues, and code analysis\n\nYou plan the work. Sugar executes it.\n\n## Install\n\n```bash\npip install sugarai\n```\n\nOr use uv (much faster):\n```bash\nuv pip install sugarai\n```\n\n## Quick Start\n\n```bash\n# Initialize in your project\ncd your-project\nsugar init\n\n# Add tasks to the queue\nsugar add \"Fix authentication timeout\" --type bug_fix --urgent\nsugar add \"Add user profile settings\" --type feature\n\n# Start the loop\nsugar run\n```\n\nSugar will:\n1. Pick up tasks from the queue\n2. Execute them using Claude Code\n3. Run tests and verify changes\n4. Commit working code\n5. Move to the next task\n\nIt keeps going until the queue is empty (or you stop it).\n\n**Or delegate from Claude Code:**\n```\n/sugar-task \"Fix login timeout\" --type bug_fix --urgent\n```\nSugar picks it up and works on it while you keep coding.\n\n## Real Example\n\n**Simple tasks:**\n```bash\n# Quick task creation\nsugar add \"Fix authentication timeout\" --type bug_fix --urgent\nsugar add \"Add user profile settings\" --type feature --priority 4\n```\n\n**Complex tasks with rich context** (recommended for best results):\n```bash\nsugar add \"User Dashboard Redesign\" --json --description '{\n  \"priority\": 5,\n  \"type\": \"feature\",\n  \"context\": \"Complete overhaul of user dashboard with modern UI/UX patterns\",\n  \"business_context\": \"User feedback shows dashboard is confusing. Goal: reduce support tickets by 40%\",\n  \"technical_requirements\": [\n    \"React 18 with TypeScript\",\n    \"Responsive design (mobile-first)\",\n    \"Real-time data updates via WebSocket\",\n    \"Accessibility compliance (WCAG 2.1 AA)\"\n  ],\n  \"agent_assignments\": {\n    \"ux_design_specialist\": \"Design system and user flows\",\n    \"frontend_developer\": \"Implementation and optimization\",\n    \"qa_test_engineer\": \"Testing and validation\"\n  },\n  \"success_criteria\": [\n    \"Dashboard loads in < 2 seconds\",\n    \"Mobile responsive on all breakpoints\",\n    \"Passes accessibility audit\",\n    \"User testing shows 90%+ satisfaction\"\n  ],\n  \"requirements\": [\n    \"Dark mode support\",\n    \"Customizable widget layout\",\n    \"Export dashboard data to PDF\"\n  ]\n}'\n```\n\n**Why JSON format?** Rich context gives Claude Code everything it needs to build production-quality features autonomously. The more detail you provide, the better the results.\n\n```bash\n# Start autonomous mode\nsugar run\n\n# Check progress anytime\nsugar status\nsugar list --status completed\n\n# Sugar handles:\n# - Writing the code\n# - Running tests\n# - Making commits\n# - Creating PRs (if configured)\n# - Updating GitHub issues\n```\n\n## Features\n\n**Task Management**\n- Rich task context with priorities and metadata\n- Custom task types for your workflow\n- Queue management and filtering\n\n**Autonomous Execution**\n- Specialized Claude agents (UX, backend, QA)\n- Automatic retries on failures\n- Quality checks and testing\n\n**GitHub Integration**\n- Reads issues, creates PRs\n- Updates issue status automatically\n- Commits with proper messages\n\n**Smart Discovery**\n- Monitors error logs\n- Analyzes code quality\n- Identifies missing tests\n- Auto-creates tasks from findings\n\n## How It Works\n\n```\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                    The Sugar Loop                       \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n  You                    Priority Queue               Sugar\n   \u2502                          \u2502                         \u2502\n   \u2502  sugar add \"task\"        \u2502                         \u2502\n   \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500>\u2502                         \u2502\n   \u2502                          \u2502                         \u2502\n   \u2502                          \u2502  Picks highest priority \u2502\n   \u2502                          \u2502<\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n   \u2502                          \u2502                         \u2502\n   \u2502                          \u2502                         \u2502\n   \u2502                     Claude Code                    \u2502\n   \u2502                          \u2502                         \u2502\n   \u2502                          \u2502  Executes in background \u2502\n   \u2502                          \u2502  (uses agents, tests)   \u2502\n   \u2502                          \u2502                         \u2502\n   \u2502                          \u25bc                         \u2502\n   \u2502                     Completes Work                 \u2502\n   \u2502                          \u2502                         \u2502\n   \u2502                          \u2502  Commits, updates       \u2502\n   \u2502                          \u2502                         \u2502\n   \u2502                          \u2502  Back to queue \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500>\u2502\n   \u2502                          \u2502                         \u2502\n   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                              \u21bb Repeat\n```\n\n**The continuous execution loop:**\n\n1. **You assign** - Add tasks with priorities and context\n2. **Sugar picks up** - Grabs highest priority work from the queue\n3. **Claude Code executes** - Runs in background, uses specialized agents as needed\n4. **Completes work** - Tests, commits, moves to next task\n5. **Repeat** - Continuous execution until queue is empty\n\n## Configuration\n\n`.sugar/config.yaml` is auto-generated on `sugar init`. Key settings:\n\n```yaml\nsugar:\n  dry_run: false              # Set to true for testing\n  loop_interval: 300          # 5 minutes between cycles\n  max_concurrent_work: 3      # Parallel task execution\n\nclaude:\n  enable_agents: true         # Use specialized Claude agents\n\ndiscovery:\n  github:\n    enabled: true\n    repo: \"user/repository\"\n  error_logs:\n    enabled: true\n    paths: [\"logs/errors/\"]\n  code_quality:\n    enabled: true\n```\n\n## Use Sugar from Claude Code\n\n**Sugar has native Claude Code integration!** Delegate work to Sugar directly from your Claude sessions.\n\n### Install the Plugin\n\n```\n/plugin install sugar@cdnsteve\n```\n\n### Delegate Work from Claude\n\n**Inside a Claude Code session:**\n\n```\nYou: \"I'm working on authentication but need to fix these test failures.\nCan you handle the test fixes while I finish the auth flow?\"\n\nClaude: \"I'll create a Sugar task for the test fixes so you can keep coding.\"\n\n/sugar-task \"Fix authentication test failures\" --type test --urgent\n```\n\n**Why this is powerful:** Claude Code handles your interactive work while Sugar autonomously fixes the tests in the background. No context switching.\n\n### Example Workflow\n\n```\nYou: \"Found a memory leak in the cache module. Add it to the queue.\"\n\nClaude:\n/sugar-task \"Fix memory leak in cache module\" --json --description '{\n  \"priority\": 5,\n  \"type\": \"bug_fix\",\n  \"context\": \"Memory usage grows unbounded in production\",\n  \"technical_requirements\": [\"Profile memory usage\", \"Add cleanup cycle\"],\n  \"agent_assignments\": {\n    \"tech_lead\": \"Investigate root cause and fix\"\n  }\n}'\n\nTask created! You can check progress with /sugar-status\n```\n\n### Available Slash Commands\n\n- `/sugar-task` - Create tasks with rich context\n- `/sugar-status` - Check queue and progress\n- `/sugar-run` - Start autonomous mode\n- `/sugar-review` - Review pending tasks\n- `/sugar-analyze` - Analyze code for potential work\n\n### MCP Server Integration\n\nSugar includes an MCP server for advanced integration:\n\n```json\n// In your Claude Code MCP settings\n{\n  \"mcpServers\": {\n    \"sugar\": {\n      \"command\": \"sugar\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\nEnables:\n- Real-time task queue access\n- Direct task manipulation from prompts\n- System status monitoring\n- Seamless tool integration\n\n## Requirements\n\n- Python 3.11+\n- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)\n\n## Documentation\n\n- **[Quick Start](docs/user/quick-start.md)** - Get running in 5 minutes\n- **[CLI Reference](docs/user/cli-reference.md)** - All commands\n- **[GitHub Integration](docs/user/github-integration.md)** - Connect to GitHub\n- **[Configuration Guide](docs/user/configuration-best-practices.md)** - Best practices\n- **[Claude Code Plugin](.claude-plugin/README.md)** - Native integration\n\n## Advanced Usage\n\n**Custom Task Types**\n```bash\nsugar task-type add deployment --name \"Deployment\" --emoji \"\ud83d\ude80\"\nsugar add \"Deploy to staging\" --type deployment\n```\n\n**Complex Tasks with Context**\n```bash\nsugar add \"User Dashboard\" --json --description '{\n  \"priority\": 5,\n  \"context\": \"Complete dashboard redesign\",\n  \"agent_assignments\": {\n    \"ux_design_specialist\": \"UI/UX design\",\n    \"frontend_developer\": \"Implementation\",\n    \"qa_test_engineer\": \"Testing\"\n  }\n}'\n```\n\n**Multiple Projects**\n```bash\n# Run Sugar on multiple projects simultaneously\ncd /path/to/project-a && sugar run &\ncd /path/to/project-b && sugar run &\ncd /path/to/project-c && sugar run &\n```\n\n## Troubleshooting\n\n**Sugar not finding Claude CLI?**\n```bash\n# Specify Claude path in .sugar/config.yaml\nclaude:\n  command: \"/full/path/to/claude\"\n```\n\n**Tasks not executing?**\n```bash\n# Check dry_run is disabled\ncat .sugar/config.yaml | grep dry_run\n\n# Monitor logs\ntail -f .sugar/sugar.log\n\n# Test single cycle\nsugar run --once\n```\n\n**Need help?**\n- [Troubleshooting Guide](docs/user/troubleshooting.md)\n- [GitHub Issues](https://github.com/cdnsteve/sugar/issues)\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](docs/dev/contributing.md) for guidelines.\n\n```bash\n# Development setup\ngit clone https://github.com/cdnsteve/sugar.git\ncd sugar\n\n# Install with uv (recommended)\nuv pip install -e \".[dev,test,github]\"\n\n# Or with pip\npip install -e \".[dev,test,github]\"\n\n# Run tests\npytest tests/ -v\n\n# Format code\nblack .\n```\n\n## License\n\nMIT - see [LICENSE](LICENSE) and [TERMS.md](TERMS.md)\n\n---\n\n**Sugar v2.0.1** - Autonomous development for any project\n\n> \u26a0\ufe0f Sugar is provided \"AS IS\" without warranty. Review all AI-generated code before use. See [TERMS.md](TERMS.md) for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Sugar \ud83c\udf70 - A dev team that never stops. Delegate full tasks to AI in the background.",
    "version": "2.0.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/cdnsteve/sugar/issues",
        "Documentation": "https://docs.roboticforce.io/sugar",
        "Homepage": "https://github.com/cdnsteve/sugar",
        "Repository": "https://github.com/cdnsteve/sugar"
    },
    "split_keywords": [
        "claude",
        " autonomous",
        " development",
        " ai",
        " automation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a44f82fb92176b32a498616795cab7f021c8fe6164ad365f159815a61f0c80b9",
                "md5": "d445ff36bd8a5427777b4dcbf7e0b6fe",
                "sha256": "4b158b9c57cbd99e5a7c32b5dd71c28e261d367dd1ef937d23e87952b1e0f91f"
            },
            "downloads": -1,
            "filename": "sugarai-2.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d445ff36bd8a5427777b4dcbf7e0b6fe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 94296,
            "upload_time": "2025-10-15T20:23:23",
            "upload_time_iso_8601": "2025-10-15T20:23:23.155629Z",
            "url": "https://files.pythonhosted.org/packages/a4/4f/82fb92176b32a498616795cab7f021c8fe6164ad365f159815a61f0c80b9/sugarai-2.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a5e3ae8b21dc53b1da4e8279f82155efb05271fa04476bba28ee8e9886cb340e",
                "md5": "8d8e245bdf1dea72185238453b144881",
                "sha256": "8678185822c659f3d621a6515d12e1ddc941f9cf2f152bbf59f75d335ac00905"
            },
            "downloads": -1,
            "filename": "sugarai-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "8d8e245bdf1dea72185238453b144881",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 100860,
            "upload_time": "2025-10-15T20:23:24",
            "upload_time_iso_8601": "2025-10-15T20:23:24.880060Z",
            "url": "https://files.pythonhosted.org/packages/a5/e3/ae8b21dc53b1da4e8279f82155efb05271fa04476bba28ee8e9886cb340e/sugarai-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-15 20:23:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cdnsteve",
    "github_project": "sugar",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiosqlite",
            "specs": [
                [
                    ">=",
                    "0.19.0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    ">=",
                    "6.0"
                ]
            ]
        },
        {
            "name": "watchdog",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "gitpython",
            "specs": [
                [
                    ">=",
                    "3.1.40"
                ]
            ]
        },
        {
            "name": "structlog",
            "specs": [
                [
                    ">=",
                    "23.0.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.1.0"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        }
    ],
    "lcname": "sugarai"
}
        
Elapsed time: 2.37993s