Metadata-Version: 2.4
Name: julee-ceap
Version: 0.1.0
Summary: Capture, Extract, Assemble, Publish: document processing for julee solutions
Author-email: Pyx Industries <chris@pyx.io>
License-Expression: GPL-3.0
Keywords: julee,document-processing,temporal,ai
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: julee[api,minio,temporal]>=0.3.0
Requires-Dist: anthropic>=0.66.0
Requires-Dist: jsonschema>=4.0.0
Requires-Dist: jsonpointer>=3.0.0
Requires-Dist: multihash>=0.1.1
Requires-Dist: six>=1.16.0
Requires-Dist: PyYAML>=6.0.0
Requires-Dist: httpx>=0.27.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=1.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.3.0; extra == "dev"
Requires-Dist: factory-boy>=3.2.0; extra == "dev"
Requires-Dist: hypothesis>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.7.0; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: types-jsonschema; extra == "dev"
Requires-Dist: black>=24.0.0; extra == "dev"
Requires-Dist: ruff>=0.5.0; extra == "dev"
Requires-Dist: julee[doctrine]>=0.3.0; extra == "dev"

# julee-ceap

Capture, Extract, Assemble, Publish — document processing for
[julee](https://github.com/pyx-industries/julee) solutions.

```toml
[tool.julee]
kits = ["ceap"]
```

A document arrives; a knowledge service extracts what it can find in it;
the results are assembled against a specification; the assembly is
validated against a policy; the result is published. Each step is a use
case, and each runs durably as a Temporal pipeline.

The kit provides:

- **Domain models:** `Document`, `Assembly`, `AssemblySpecification`,
  `Policy`, `DocumentPolicyValidation`, `KnowledgeServiceConfig`,
  `KnowledgeServiceQuery`.
- **Use cases:** `ExtractAssembleDataUseCase`, `ValidateDocumentUseCase`,
  `InitializeSystemDataUseCase`.
- **Infrastructure:** in-memory and MinIO repositories, Temporal proxies,
  and a knowledge service backed by Anthropic (with an in-memory one for
  tests).
- **Apps:** a FastAPI application and a Temporal worker.

Fixtures for a demonstration run ship in `src/julee_ceap/fixtures/`.

## The demonstration

`deploy/` holds a Docker Compose stack that runs the whole pipeline — the
API, the worker, a demo UI, and the Temporal and MinIO they need. See
[deploy/README.md](deploy/README.md).

## Releasing

The kits release on their own tags, `ceap-vX.Y.Z` and `polling-vX.Y.Z`.
The workflow checks the tag against the version in the kit's
`pyproject.toml` and refuses a mismatch.
