{"id":28022,"library":"ouroboros-ai","title":"Ouroboros AI","description":"Ouroboros is a specification-first workflow engine for AI coding agents, integrating with Claude Code and Codex CLI. It allows you to define reusable workflows using YAML specs and execute them via agents. Current version is 0.36.0, with a fast release cadence and breaking changes between minor versions.","status":"active","version":"0.36.0","language":"python","source_language":"en","source_url":"https://github.com/ouroboros-ai/ouroboros","tags":["workflow engine","AI agents","claude code","codex cli","specification-first"],"install":[{"cmd":"pip install ouroboros-ai","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Used for data validation and settings management","package":"pydantic","optional":false},{"reason":"Required for reading YAML workflow specifications","package":"pyyaml","optional":false}],"imports":[{"wrong":"from ouroboros import WorkflowEngine","symbol":"WorkflowEngine","correct":"from ouroboros import WorkflowEngine"}],"quickstart":{"code":"import os\nfrom ouroboros import WorkflowEngine, load_workflow\n\nworkflow = load_workflow(\"my_workflow.yaml\")\nengine = WorkflowEngine(api_key=os.environ.get('ANTHROPIC_API_KEY', 'test-key'))\nresult = engine.run(workflow)\nprint(result)","lang":"python","description":"Load a YAML workflow specification and execute it using the engine."},"warnings":[{"fix":"Update calls from `engine.run(workflow)` to `engine.run(workflow=workflow)` or just `engine.run(workflow)` if using keyword (still works in 0.35+). Actually the signature changed: previous positional args may now be keyword-only. Check migration guide.","message":"In version 0.35.0, the 'run' method signature changed: it now requires 'workflow' as keyword argument, not positional.","severity":"breaking","affected_versions":"<0.35.0"},{"fix":"Rename 'tasks' top-level key to 'steps' in your YAML files, and adjust per-step field names.","message":"Workflow spec format changed from 'tasks' to 'steps' in version 0.30.0. Old YAML files will fail to load.","severity":"breaking","affected_versions":"<0.30.0"},{"fix":"Use `import ouroboros` or `from ouroboros import ...`.","message":"The package name on PyPI is 'ouroboros-ai' (with hyphen), but the importable module is 'ouroboros' (no hyphen). Common mistake: try to import from 'ouroboros_ai'.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.36.0':40 'agent':14,36,55 'ai':2,12,54 'allow':23 'break':47 'cadenc':45 'chang':48 'claud':17,56 'cli':21,59 'code':13,18,57 'codex':20,58 'current':37 'defin':26 'engin':10,53 'execut':33 'fast':43 'first':8,62 'integr':15 'minor':50 'ouroboro':1,3 'releas':44 'reusabl':27 'spec':31 'specif':7,61 'specification-first':6,60 'use':29 'version':38,51 'via':35 'workflow':9,28,52 'yaml':30","created_at":"2026-05-09T05:53:19.369635+00:00","updated_at":"2026-05-09T05:53:19.369635+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'WorkflowEngine' from 'ouroboros' (/tmp/tmpl755ykxt/venv/lib/python3.12/site-packages/ouroboros/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"ouroboros","cli_version":"","type":"library","homepage":"https://ouroboros-ai.dev","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/ouroboros-ai/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","workflow","ai-ml","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}