codex-platform 0.5.1__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- codex_platform-0.6.0/.agents/skills/codex-platform-maintainer/SKILL.md +12 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/AGENTS.md +4 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/CHANGELOG.md +23 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/PKG-INFO +32 -19
- {codex_platform-0.5.1 → codex_platform-0.6.0}/README.md +24 -11
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/index.md +2 -1
- codex_platform-0.6.0/docs/en/api/messaging/audience.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/campaigns/dto.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/campaigns/index.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/campaigns/protocols.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/channels.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/clients/smtp.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/delivery/arq.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/delivery/base.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/delivery/direct.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/dto.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/index.md +8 -0
- codex_platform-0.6.0/docs/en/api/messaging/orchestrator.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/registry.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/renderer.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/threading.md +5 -0
- codex_platform-0.6.0/docs/en/api/messaging/workers_contract.md +5 -0
- codex_platform-0.6.0/docs/en/api/notifications/index.md +8 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/notifications/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/notifications/data_flow.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/redis_service/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/redis_service/data_flow.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/streams/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/streams/data_flow.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/workers/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/architecture/workers/data_flow.md +1 -1
- codex_platform-0.6.0/docs/en/guides/agent-skills.md +27 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/index.md +11 -9
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/notifications/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/notifications/data_flow.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/redis_service/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/redis_service/data_flow.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/streams/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/streams/data_flow.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/workers/README.md +1 -1
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/ru/architecture/workers/data_flow.md +1 -1
- codex_platform-0.6.0/docs/ru/guides/agent-skills.md +25 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/mkdocs.yml +22 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/pyproject.toml +4 -4
- codex_platform-0.6.0/src/codex_platform/agent_skills/__init__.py +1 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/__main__.py +4 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/cli.py +39 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/fs_transaction.py +183 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/manifest_rules.py +153 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/orchestrator.py +225 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/resources/SKILL.md +19 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/resources/__init__.py +1 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/resources/references/arq.md +20 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/resources/references/messaging.md +35 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/resources/references/redis.md +18 -0
- codex_platform-0.6.0/src/codex_platform/agent_skills/resources/references/streams.md +22 -0
- codex_platform-0.6.0/src/codex_platform/messaging/__init__.py +68 -0
- codex_platform-0.6.0/src/codex_platform/messaging/audience.py +23 -0
- codex_platform-0.6.0/src/codex_platform/messaging/campaigns/__init__.py +6 -0
- codex_platform-0.6.0/src/codex_platform/messaging/campaigns/dto.py +46 -0
- codex_platform-0.6.0/src/codex_platform/messaging/campaigns/protocols.py +18 -0
- {codex_platform-0.5.1/src/codex_platform/notifications → codex_platform-0.6.0/src/codex_platform/messaging}/channels.py +1 -5
- {codex_platform-0.5.1/src/codex_platform/notifications → codex_platform-0.6.0/src/codex_platform/messaging}/clients/__init__.py +2 -0
- {codex_platform-0.5.1/src/codex_platform/notifications → codex_platform-0.6.0/src/codex_platform/messaging}/clients/smtp.py +30 -48
- codex_platform-0.6.0/src/codex_platform/messaging/delivery/__init__.py +11 -0
- codex_platform-0.6.0/src/codex_platform/messaging/delivery/arq.py +38 -0
- codex_platform-0.6.0/src/codex_platform/messaging/delivery/base.py +16 -0
- codex_platform-0.6.0/src/codex_platform/messaging/delivery/direct.py +76 -0
- codex_platform-0.6.0/src/codex_platform/messaging/dto.py +60 -0
- {codex_platform-0.5.1/src/codex_platform/notifications → codex_platform-0.6.0/src/codex_platform/messaging}/interfaces.py +6 -8
- codex_platform-0.6.0/src/codex_platform/messaging/orchestrator.py +101 -0
- codex_platform-0.6.0/src/codex_platform/messaging/registry.py +48 -0
- codex_platform-0.6.0/src/codex_platform/messaging/renderer.py +71 -0
- codex_platform-0.6.0/src/codex_platform/messaging/threading.py +65 -0
- codex_platform-0.6.0/src/codex_platform/messaging/workers_contract.py +14 -0
- codex_platform-0.6.0/src/codex_platform/notifications/__init__.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/channels.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/clients/__init__.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/clients/smtp.py +19 -0
- codex_platform-0.6.0/src/codex_platform/notifications/delivery/__init__.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/delivery/arq.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/delivery/base.py +13 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/notifications/delivery/direct.py +16 -36
- codex_platform-0.6.0/src/codex_platform/notifications/dto.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/interfaces.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/orchestrator.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/registry.py +13 -0
- codex_platform-0.6.0/src/codex_platform/notifications/renderer.py +13 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/consumer.py +9 -3
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/processor.py +7 -2
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/runtime.py +2 -0
- codex_platform-0.6.0/tests/unit/test_agent_skills.py +374 -0
- codex_platform-0.6.0/tests/unit/test_messaging_api.py +185 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_stream_consumer.py +39 -2
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_stream_processor.py +41 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/uv.lock +113 -80
- codex_platform-0.5.1/docs/en/api/notifications/index.md +0 -5
- codex_platform-0.5.1/src/codex_platform/notifications/__init__.py +0 -48
- codex_platform-0.5.1/src/codex_platform/notifications/delivery/__init__.py +0 -18
- codex_platform-0.5.1/src/codex_platform/notifications/delivery/arq.py +0 -69
- codex_platform-0.5.1/src/codex_platform/notifications/delivery/base.py +0 -39
- codex_platform-0.5.1/src/codex_platform/notifications/dto.py +0 -63
- codex_platform-0.5.1/src/codex_platform/notifications/orchestrator.py +0 -116
- codex_platform-0.5.1/src/codex_platform/notifications/registry.py +0 -71
- codex_platform-0.5.1/src/codex_platform/notifications/renderer.py +0 -112
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.agents/rules/graphify.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.github/workflows/ci.yml +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.github/workflows/docs.yml +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.github/workflows/publish.yml +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.gitignore +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.pre-commit-config.yaml +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/.python-version +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/CLAUDE.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/changelog.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/00_overview.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/01_core_dtos_and_protocols.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/02_channels_and_registry.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/03_renderer_and_templates.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/04_threading_and_headers.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/05_workers_contract.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/dev/messaging/06_migration_from_notifications.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/channels.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/delivery/arq.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/delivery/base.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/delivery/direct.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/dto.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/orchestrator.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/registry.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/notifications/renderer.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/base.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/index.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/keys.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/hash.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/json_module.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/json_string.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/list_.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/pipeline.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/set_.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/string.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/operations/zset.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/redis_service/service.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/streams/consumer.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/streams/dispatcher.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/streams/index.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/streams/processor.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/streams/producer.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/streams/router.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/workers/arq/base.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/workers/arq/config.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/workers/arq/index.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/workers/arq/task_utils.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/en/api/workers/arq/types.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/docs/stylesheets/extra.css +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/project_structure.txt +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/redis-backends-recovery.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/py.typed +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/base.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/exceptions.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/keys.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/managers/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/managers/base_manager.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/managers/site_settings.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/hash.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/json_module.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/json_string.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/list_.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/pipeline.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/set_.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/string.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/sync_hash.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/sync_string.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/operations/zset.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/redis_service/service.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/codec.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/dispatcher.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/producer.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/streams/router.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/workers/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/workers/arq/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/workers/arq/base.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/workers/arq/config.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/workers/arq/task_utils.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/src/codex_platform/workers/arq/types.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/integration/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/integration/conftest.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/integration/test_docs_build.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/integration/test_redis_service.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/integration/test_streams.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/conftest.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_arq_base.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_arq_config.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_arq_public_api.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_arq_task_utils.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_adapters.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_channels.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_dto.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_orchestrator.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_registry.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_renderer.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_notification_smtp.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_base.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_hash.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_keys.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_list.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_manager.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_pipeline.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_service.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_set.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_string.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_redis_zset.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_site_settings_manager.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_stream_dispatcher.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_stream_producer.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_stream_router.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_stream_runtime.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tests/unit/test_sync_operations.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tools/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tools/dev/README.md +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tools/dev/__init__.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tools/dev/check.py +0 -0
- {codex_platform-0.5.1 → codex_platform-0.6.0}/tools/dev/generate_project_tree.py +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: codex-platform-maintainer
|
|
3
|
+
description: Use for maintaining this repository's Redis, Streams, ARQ, messaging, packaging, or release integration.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# codex-platform maintenance
|
|
7
|
+
|
|
8
|
+
This repository publishes the `codex-platform` library. Keep framework-independent infrastructure in `src/codex_platform/`; application policy and business rules belong to consumers. The public API is exposed by each component's `__init__.py`. Inspect those exports and the corresponding unit tests before changing a contract.
|
|
9
|
+
|
|
10
|
+
Components are independent optional surfaces: `redis_service` needs Redis, `streams` uses Redis Streams, `workers.arq` needs ARQ, and `messaging` handles notification primitives. `notifications` is deprecated compatibility code; new behavior belongs in `messaging` and compatibility changes need explicit tests.
|
|
11
|
+
|
|
12
|
+
The canonical consumer skill lives in `src/codex_platform/agent_skills/resources/`. Treat its installed copies in other projects as managed output. When changing installer behavior, exercise install, update, delete, and status in a temporary consumer directory and inspect wheel and sdist payloads. Run focused tests and configured lint/types for affected code. The root `AGENTS.md` requires refreshing the shared graph after code changes.
|
|
@@ -7,3 +7,7 @@ Rules:
|
|
|
7
7
|
- If `../graphify-out/wiki/index.md` exists, navigate it instead of reading raw files.
|
|
8
8
|
- For cross-module questions, prefer `graphify query`, `graphify path`, or `graphify explain` (run from root or via MCP) over grep.
|
|
9
9
|
- After modifying code files in this session, run `graphify update .` from the **workspace root** to keep the global graph current.
|
|
10
|
+
|
|
11
|
+
## Project maintenance
|
|
12
|
+
|
|
13
|
+
For maintenance of this library, use [codex-platform-maintainer](.agents/skills/codex-platform-maintainer/SKILL.md). The distributable consumer guidance is maintained separately in `src/codex_platform/agent_skills/resources/`.
|
|
@@ -5,6 +5,29 @@ Grouped by `Added` · `Changed` · `Deprecated` · `Removed` · `Fixed`.
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.6.0] - 2026-10-09
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Added an optional offline installer for the `codex-platform` consumer agent skill, with versioned ownership and safe install, update, status, and delete operations.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- Raised the `codex-core` baseline to the published `0.5.0` release.
|
|
15
|
+
- Raised the minimum supported `aiosmtplib`, `mkdocs-material`, and development `pip` versions to patched releases and refreshed the lockfile for vulnerable transitive dependencies.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- Corrected architecture-guide links and refreshed installation examples for the `0.6.x` release line.
|
|
19
|
+
|
|
20
|
+
## [0.5.2] - 2026-05-07
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- Added the framework-agnostic `codex_platform.messaging` package with notification delivery, campaign, threading, renderer, and SMTP primitives.
|
|
24
|
+
|
|
25
|
+
### Deprecated
|
|
26
|
+
- Deprecated `codex_platform.notifications` modules in favor of `codex_platform.messaging` compatibility re-exports.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- Reduced Redis Streams consumer latency by using configurable blocking `XREADGROUP` reads instead of relying on the processor polling interval for normal wakeups.
|
|
30
|
+
|
|
8
31
|
## [0.5.1] - 2026-04-30
|
|
9
32
|
|
|
10
33
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: codex-platform
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Modular async infrastructure (Redis, Streams, ARQ, Notifications) built for Codex, designed for independent use.
|
|
5
5
|
Project-URL: Homepage, https://github.com/codexdlc/codex-platform
|
|
6
6
|
Project-URL: Documentation, https://codexdlc.github.io/codex-platform/
|
|
@@ -15,17 +15,17 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
17
|
Requires-Python: >=3.12
|
|
18
|
-
Requires-Dist: codex-core<0.10.0,>=0.
|
|
18
|
+
Requires-Dist: codex-core<0.10.0,>=0.5.0
|
|
19
19
|
Requires-Dist: pydantic<3.0,>=2.0
|
|
20
20
|
Provides-Extra: all
|
|
21
|
-
Requires-Dist: aiosmtplib>=
|
|
21
|
+
Requires-Dist: aiosmtplib>=5.1.2; extra == 'all'
|
|
22
22
|
Requires-Dist: arq>=0.25; extra == 'all'
|
|
23
23
|
Requires-Dist: jinja2>=3.1; extra == 'all'
|
|
24
24
|
Requires-Dist: redis>=5.0; extra == 'all'
|
|
25
25
|
Provides-Extra: arq
|
|
26
26
|
Requires-Dist: arq>=0.25; extra == 'arq'
|
|
27
27
|
Provides-Extra: dev
|
|
28
|
-
Requires-Dist: aiosmtplib>=
|
|
28
|
+
Requires-Dist: aiosmtplib>=5.1.2; extra == 'dev'
|
|
29
29
|
Requires-Dist: arq>=0.25; extra == 'dev'
|
|
30
30
|
Requires-Dist: bandit>=1.7; extra == 'dev'
|
|
31
31
|
Requires-Dist: detect-secrets>=1.5; extra == 'dev'
|
|
@@ -34,7 +34,7 @@ Requires-Dist: jinja2>=3.1; extra == 'dev'
|
|
|
34
34
|
Requires-Dist: lupa>2.6; extra == 'dev'
|
|
35
35
|
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
36
36
|
Requires-Dist: pip-audit>=2.7; extra == 'dev'
|
|
37
|
-
Requires-Dist: pip>=26.1; extra == 'dev'
|
|
37
|
+
Requires-Dist: pip>=26.2.1; extra == 'dev'
|
|
38
38
|
Requires-Dist: pre-commit>=3.0; extra == 'dev'
|
|
39
39
|
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
|
|
40
40
|
Requires-Dist: pytest-cov; extra == 'dev'
|
|
@@ -44,11 +44,11 @@ Requires-Dist: ruff>=0.4; extra == 'dev'
|
|
|
44
44
|
Provides-Extra: docs
|
|
45
45
|
Requires-Dist: mike>=2.0; extra == 'docs'
|
|
46
46
|
Requires-Dist: mkdocs-include-markdown-plugin; extra == 'docs'
|
|
47
|
-
Requires-Dist: mkdocs-material>=9.
|
|
47
|
+
Requires-Dist: mkdocs-material>=9.7.7; extra == 'docs'
|
|
48
48
|
Requires-Dist: mkdocs<2.0,>=1.5; extra == 'docs'
|
|
49
49
|
Requires-Dist: mkdocstrings[python]>=0.24; extra == 'docs'
|
|
50
50
|
Provides-Extra: notifications
|
|
51
|
-
Requires-Dist: aiosmtplib>=
|
|
51
|
+
Requires-Dist: aiosmtplib>=5.1.2; extra == 'notifications'
|
|
52
52
|
Requires-Dist: jinja2>=3.1; extra == 'notifications'
|
|
53
53
|
Provides-Extra: redis
|
|
54
54
|
Requires-Dist: redis>=5.0; extra == 'redis'
|
|
@@ -61,7 +61,7 @@ Description-Content-Type: text/markdown
|
|
|
61
61
|
[](https://pypi.org/project/codex-platform/)
|
|
62
62
|
[](https://pypi.org/project/codex-platform/)
|
|
63
63
|
[](https://github.com/codexdlc/codex-platform/actions/workflows/ci.yml)
|
|
64
|
-
[](LICENSE)
|
|
64
|
+
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
65
65
|
|
|
66
66
|
`codex-platform` is a modular, async infrastructure library. Originally built as the foundation for the Codex ecosystem, it is designed from the ground up to be completely independent. You can use it in any Python project to get a typed Redis abstraction, a Redis Streams event bus, structured ARQ background workers, or a multi-channel notification engine. Every component is completely independent and can be installed as a separate extra.
|
|
67
67
|
|
|
@@ -70,27 +70,27 @@ Description-Content-Type: text/markdown
|
|
|
70
70
|
## Install
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
# codex-platform 0.
|
|
74
|
-
pip install "codex-platform>=0.
|
|
73
|
+
# codex-platform 0.6.x
|
|
74
|
+
pip install "codex-platform>=0.6.0,<0.7.0"
|
|
75
75
|
|
|
76
76
|
# With Redis support
|
|
77
|
-
pip install "codex-platform[redis]>=0.
|
|
77
|
+
pip install "codex-platform[redis]>=0.6.0,<0.7.0"
|
|
78
78
|
|
|
79
79
|
# With ARQ background workers
|
|
80
|
-
pip install "codex-platform[arq]>=0.
|
|
80
|
+
pip install "codex-platform[arq]>=0.6.0,<0.7.0"
|
|
81
81
|
|
|
82
82
|
# With async SMTP notifications
|
|
83
|
-
pip install "codex-platform[notifications]>=0.
|
|
83
|
+
pip install "codex-platform[notifications]>=0.6.0,<0.7.0"
|
|
84
84
|
|
|
85
85
|
# Redis Streams
|
|
86
|
-
pip install "codex-platform[streams]>=0.
|
|
86
|
+
pip install "codex-platform[streams]>=0.6.0,<0.7.0"
|
|
87
87
|
|
|
88
88
|
# Everything
|
|
89
|
-
pip install "codex-platform[all]>=0.
|
|
89
|
+
pip install "codex-platform[all]>=0.6.0,<0.7.0"
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
Requires Python 3.12 or newer.
|
|
93
|
-
Installs `codex-core>=0.
|
|
93
|
+
Installs `codex-core>=0.5.0,<0.10.0` automatically as a dependency.
|
|
94
94
|
|
|
95
95
|
## Development
|
|
96
96
|
|
|
@@ -122,7 +122,20 @@ data = await service.hash.get_json("user:42", "profile")
|
|
|
122
122
|
| `redis_service` | `[redis]` | Typed async Redis abstraction — Hash, String, List, Set, ZSet, JSON, Pipeline |
|
|
123
123
|
| `streams` | `[streams]` | Redis Streams producer/consumer with consumer groups, retry, and DLQ |
|
|
124
124
|
| `workers.arq` | `[arq]` | ARQ worker base infrastructure — health probes, DLQ retry, CORE_FUNCTIONS |
|
|
125
|
-
| `
|
|
125
|
+
| `messaging` | `[notifications]` | Multi-channel notification primitives — SMTP, ARQ/direct delivery, Jinja2 renderer; `notifications` remains a deprecated compatibility import |
|
|
126
|
+
|
|
127
|
+
## Optional agent skill (starting in 0.6.0)
|
|
128
|
+
|
|
129
|
+
Starting with `codex-platform` 0.6.0, the package includes an offline coding-agent skill for its Redis, Streams, ARQ, and messaging APIs. Installing the Python package does not change a project. To copy the skill into an existing project, run these commands from the Python environment where `codex-platform` is installed:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
python -m codex_platform.agent_skills install --project /path/to/project
|
|
133
|
+
python -m codex_platform.agent_skills status --project /path/to/project
|
|
134
|
+
python -m codex_platform.agent_skills update --project /path/to/project
|
|
135
|
+
python -m codex_platform.agent_skills delete --project /path/to/project
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
The installer manages `.agents/skills/codex-platform/` and a bounded reference block in the project's root `AGENTS.md`. It preserves unrelated project guidance, tracks package version and file hashes, and refuses to overwrite locally edited managed files. See the [agent skill guide](docs/en/guides/agent-skills.md) for lifecycle and recovery details.
|
|
126
139
|
|
|
127
140
|
## Documentation
|
|
128
141
|
|
|
@@ -135,7 +148,7 @@ Full docs with architecture, API reference, and data flow diagrams:
|
|
|
135
148
|
| Package | Role |
|
|
136
149
|
| :--- | :--- |
|
|
137
150
|
| [codex-core](https://github.com/codexdlc/codex-core) | Foundation — immutable DTOs, PII masking, env settings |
|
|
138
|
-
| **codex-platform** | Infrastructure — Redis, Streams, ARQ workers,
|
|
151
|
+
| **codex-platform** | Infrastructure — Redis, Streams, ARQ workers, messaging |
|
|
139
152
|
| [codex-ai](https://github.com/codexdlc/codex-ai) | LLM layer — unified async interface for OpenAI, Gemini, Anthropic |
|
|
140
153
|
| [codex-services](https://github.com/codexdlc/codex-services) | Business logic — Booking engine, CRM, Calendar |
|
|
141
154
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://pypi.org/project/codex-platform/)
|
|
4
4
|
[](https://pypi.org/project/codex-platform/)
|
|
5
5
|
[](https://github.com/codexdlc/codex-platform/actions/workflows/ci.yml)
|
|
6
|
-
[](LICENSE)
|
|
6
|
+
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
7
7
|
|
|
8
8
|
`codex-platform` is a modular, async infrastructure library. Originally built as the foundation for the Codex ecosystem, it is designed from the ground up to be completely independent. You can use it in any Python project to get a typed Redis abstraction, a Redis Streams event bus, structured ARQ background workers, or a multi-channel notification engine. Every component is completely independent and can be installed as a separate extra.
|
|
9
9
|
|
|
@@ -12,27 +12,27 @@
|
|
|
12
12
|
## Install
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
# codex-platform 0.
|
|
16
|
-
pip install "codex-platform>=0.
|
|
15
|
+
# codex-platform 0.6.x
|
|
16
|
+
pip install "codex-platform>=0.6.0,<0.7.0"
|
|
17
17
|
|
|
18
18
|
# With Redis support
|
|
19
|
-
pip install "codex-platform[redis]>=0.
|
|
19
|
+
pip install "codex-platform[redis]>=0.6.0,<0.7.0"
|
|
20
20
|
|
|
21
21
|
# With ARQ background workers
|
|
22
|
-
pip install "codex-platform[arq]>=0.
|
|
22
|
+
pip install "codex-platform[arq]>=0.6.0,<0.7.0"
|
|
23
23
|
|
|
24
24
|
# With async SMTP notifications
|
|
25
|
-
pip install "codex-platform[notifications]>=0.
|
|
25
|
+
pip install "codex-platform[notifications]>=0.6.0,<0.7.0"
|
|
26
26
|
|
|
27
27
|
# Redis Streams
|
|
28
|
-
pip install "codex-platform[streams]>=0.
|
|
28
|
+
pip install "codex-platform[streams]>=0.6.0,<0.7.0"
|
|
29
29
|
|
|
30
30
|
# Everything
|
|
31
|
-
pip install "codex-platform[all]>=0.
|
|
31
|
+
pip install "codex-platform[all]>=0.6.0,<0.7.0"
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Requires Python 3.12 or newer.
|
|
35
|
-
Installs `codex-core>=0.
|
|
35
|
+
Installs `codex-core>=0.5.0,<0.10.0` automatically as a dependency.
|
|
36
36
|
|
|
37
37
|
## Development
|
|
38
38
|
|
|
@@ -64,7 +64,20 @@ data = await service.hash.get_json("user:42", "profile")
|
|
|
64
64
|
| `redis_service` | `[redis]` | Typed async Redis abstraction — Hash, String, List, Set, ZSet, JSON, Pipeline |
|
|
65
65
|
| `streams` | `[streams]` | Redis Streams producer/consumer with consumer groups, retry, and DLQ |
|
|
66
66
|
| `workers.arq` | `[arq]` | ARQ worker base infrastructure — health probes, DLQ retry, CORE_FUNCTIONS |
|
|
67
|
-
| `
|
|
67
|
+
| `messaging` | `[notifications]` | Multi-channel notification primitives — SMTP, ARQ/direct delivery, Jinja2 renderer; `notifications` remains a deprecated compatibility import |
|
|
68
|
+
|
|
69
|
+
## Optional agent skill (starting in 0.6.0)
|
|
70
|
+
|
|
71
|
+
Starting with `codex-platform` 0.6.0, the package includes an offline coding-agent skill for its Redis, Streams, ARQ, and messaging APIs. Installing the Python package does not change a project. To copy the skill into an existing project, run these commands from the Python environment where `codex-platform` is installed:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
python -m codex_platform.agent_skills install --project /path/to/project
|
|
75
|
+
python -m codex_platform.agent_skills status --project /path/to/project
|
|
76
|
+
python -m codex_platform.agent_skills update --project /path/to/project
|
|
77
|
+
python -m codex_platform.agent_skills delete --project /path/to/project
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The installer manages `.agents/skills/codex-platform/` and a bounded reference block in the project's root `AGENTS.md`. It preserves unrelated project guidance, tracks package version and file hashes, and refuses to overwrite locally edited managed files. See the [agent skill guide](docs/en/guides/agent-skills.md) for lifecycle and recovery details.
|
|
68
81
|
|
|
69
82
|
## Documentation
|
|
70
83
|
|
|
@@ -77,7 +90,7 @@ Full docs with architecture, API reference, and data flow diagrams:
|
|
|
77
90
|
| Package | Role |
|
|
78
91
|
| :--- | :--- |
|
|
79
92
|
| [codex-core](https://github.com/codexdlc/codex-core) | Foundation — immutable DTOs, PII masking, env settings |
|
|
80
|
-
| **codex-platform** | Infrastructure — Redis, Streams, ARQ workers,
|
|
93
|
+
| **codex-platform** | Infrastructure — Redis, Streams, ARQ workers, messaging |
|
|
81
94
|
| [codex-ai](https://github.com/codexdlc/codex-ai) | LLM layer — unified async interface for OpenAI, Gemini, Anthropic |
|
|
82
95
|
| [codex-services](https://github.com/codexdlc/codex-services) | Business logic — Booking engine, CRM, Calendar |
|
|
83
96
|
|
|
@@ -6,7 +6,8 @@ Auto-generated from source docstrings (Google style). If code behavior contradic
|
|
|
6
6
|
|
|
7
7
|
| Module | Description |
|
|
8
8
|
| :--- | :--- |
|
|
9
|
-
| [
|
|
9
|
+
| [messaging](messaging/index.md) | Framework-agnostic messaging engine |
|
|
10
|
+
| [notifications](notifications/index.md) | Deprecated compatibility path for messaging |
|
|
10
11
|
| [redis_service](redis_service/index.md) | Async Redis abstraction with typed operations |
|
|
11
12
|
| [streams](streams/index.md) | Redis Streams producer/consumer event bus |
|
|
12
13
|
| [workers.arq](workers/arq/index.md) | ARQ background worker base infrastructure |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Agent skill installer
|
|
2
|
+
|
|
3
|
+
Starting in version 0.6.0, `codex-platform` includes an optional offline consumer skill. The package owns its source in `codex_platform.agent_skills.resources`; installation copies it into an existing project at `.agents/skills/codex-platform/` and adds a bounded reference block to that project's root `AGENTS.md`. Runtime use of the library does not require installing the skill.
|
|
4
|
+
|
|
5
|
+
Use the Python environment containing `codex-platform`:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
python -m codex_platform.agent_skills install --project /path/to/project
|
|
9
|
+
python -m codex_platform.agent_skills status --project /path/to/project
|
|
10
|
+
python -m codex_platform.agent_skills update --project /path/to/project
|
|
11
|
+
python -m codex_platform.agent_skills delete --project /path/to/project
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
`--project` must name an existing directory. `install` is idempotent for a current installation. After a package upgrade, `status` reports that the copy needs an update; run `update` to refresh it. `status` exits with code 0 only when the installed version, payload hashes, and `AGENTS.md` block are current. Absence, edits, or corruption return code 1.
|
|
15
|
+
|
|
16
|
+
The installer tracks owned file hashes and the package version in `.agents/skills/codex-platform/.manifest.json`. It preserves unrelated `AGENTS.md` text and unowned files under the skill directory. `update` and `delete` refuse to change locally edited or missing managed files. If that happens, back up the changed files, move custom guidance into a separate project skill, and restore the original managed bytes from the same installed package version before retrying. For a damaged marker, back up `AGENTS.md` and repair the bounded block from the installer documentation before retrying. Do not edit the manifest hashes to accept changes. Unowned path collisions, malformed manifests or markers, symlinks, and Windows reparse points also stop the operation. Writes are staged with best-effort rollback for ordinary errors; this is not a crash-safe multi-file transaction or a concurrency lock.
|
|
17
|
+
|
|
18
|
+
The managed block is exactly the following four lines (with the project's line endings); the separator value is `0` when the block did not need a leading newline and `1` when it did:
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
<!-- codex-platform:skill:start -->
|
|
22
|
+
<!-- codex-platform:skill:separator=0 -->
|
|
23
|
+
Use [codex-platform](.agents/skills/codex-platform/SKILL.md) for codex_platform work.
|
|
24
|
+
<!-- codex-platform:skill:end -->
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The installed skill guides use of the public Redis, Streams, ARQ, and messaging APIs. It does not own a consumer's business rules, data keys, service adapters, or runtime configuration.
|
|
@@ -2,34 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
# codex-platform
|
|
4
4
|
|
|
5
|
-
Infrastructure library for the Codex WaaS toolkit. Provides background task workers (ARQ), Redis service abstraction, Redis Streams event bus, and
|
|
5
|
+
Infrastructure library for the Codex WaaS toolkit. Provides background task workers (ARQ), Redis service abstraction, Redis Streams event bus, and framework-independent messaging primitives.
|
|
6
6
|
|
|
7
7
|
Built to be dropped into any Python 3.12+ service as a set of composable, independently installable extras.
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
# codex-platform 0.
|
|
13
|
-
pip install "codex-platform>=0.
|
|
12
|
+
# codex-platform 0.6.x
|
|
13
|
+
pip install "codex-platform>=0.6.0,<0.7.0"
|
|
14
14
|
|
|
15
15
|
# With Redis support
|
|
16
|
-
pip install "codex-platform[redis]>=0.
|
|
16
|
+
pip install "codex-platform[redis]>=0.6.0,<0.7.0"
|
|
17
17
|
|
|
18
18
|
# With ARQ worker support
|
|
19
|
-
pip install "codex-platform[arq]>=0.
|
|
19
|
+
pip install "codex-platform[arq]>=0.6.0,<0.7.0"
|
|
20
20
|
|
|
21
21
|
# With async SMTP notifications
|
|
22
|
-
pip install "codex-platform[notifications]>=0.
|
|
22
|
+
pip install "codex-platform[notifications]>=0.6.0,<0.7.0"
|
|
23
23
|
|
|
24
24
|
# Redis Streams
|
|
25
|
-
pip install "codex-platform[streams]>=0.
|
|
25
|
+
pip install "codex-platform[streams]>=0.6.0,<0.7.0"
|
|
26
26
|
|
|
27
27
|
# Everything
|
|
28
|
-
pip install "codex-platform[all]>=0.
|
|
28
|
+
pip install "codex-platform[all]>=0.6.0,<0.7.0"
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Requires Python 3.12 or newer.
|
|
32
|
-
Installs `codex-core>=0.
|
|
32
|
+
Installs `codex-core>=0.5.0,<0.10.0` automatically as a dependency.
|
|
33
33
|
|
|
34
34
|
## Quick Start
|
|
35
35
|
|
|
@@ -48,6 +48,8 @@ data = await service.hash.get_json("user:42", "profile")
|
|
|
48
48
|
|
|
49
49
|
## Navigation
|
|
50
50
|
|
|
51
|
+
The optional offline [agent skill](en/guides/agent-skills.md) is available starting in 0.6.0. Its installer manages a library-owned skill and a bounded `AGENTS.md` link in an existing project.
|
|
52
|
+
|
|
51
53
|
| Section | Description |
|
|
52
54
|
| :--- | :--- |
|
|
53
55
|
| [Guide (EN)](en/architecture/notifications/README.md) | Architecture overviews and data-flow pages in English |
|