julee 0.1.4__py3-none-any.whl → 0.1.5__py3-none-any.whl

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.
Files changed (64) hide show
  1. julee/__init__.py +1 -1
  2. julee/api/tests/routers/test_assembly_specifications.py +2 -0
  3. julee/api/tests/routers/test_documents.py +2 -0
  4. julee/api/tests/routers/test_knowledge_service_configs.py +2 -0
  5. julee/api/tests/routers/test_knowledge_service_queries.py +2 -0
  6. julee/api/tests/routers/test_system.py +2 -0
  7. julee/api/tests/routers/test_workflows.py +2 -0
  8. julee/api/tests/test_app.py +2 -0
  9. julee/api/tests/test_dependencies.py +2 -0
  10. julee/api/tests/test_requests.py +2 -0
  11. julee/contrib/polling/__init__.py +22 -19
  12. julee/contrib/polling/apps/__init__.py +17 -0
  13. julee/contrib/polling/apps/worker/__init__.py +17 -0
  14. julee/contrib/polling/apps/worker/pipelines.py +288 -0
  15. julee/contrib/polling/domain/__init__.py +7 -9
  16. julee/contrib/polling/domain/models/__init__.py +6 -7
  17. julee/contrib/polling/domain/models/polling_config.py +18 -1
  18. julee/contrib/polling/domain/services/__init__.py +6 -5
  19. julee/contrib/polling/domain/services/poller.py +1 -1
  20. julee/contrib/polling/infrastructure/__init__.py +9 -8
  21. julee/contrib/polling/infrastructure/services/__init__.py +6 -5
  22. julee/contrib/polling/infrastructure/services/polling/__init__.py +6 -5
  23. julee/contrib/polling/infrastructure/services/polling/http/__init__.py +6 -5
  24. julee/contrib/polling/infrastructure/services/polling/http/http_poller_service.py +5 -2
  25. julee/contrib/polling/infrastructure/temporal/__init__.py +12 -12
  26. julee/contrib/polling/infrastructure/temporal/activities.py +1 -1
  27. julee/contrib/polling/infrastructure/temporal/manager.py +291 -0
  28. julee/contrib/polling/infrastructure/temporal/proxies.py +1 -1
  29. julee/contrib/polling/tests/unit/apps/worker/test_pipelines.py +580 -0
  30. julee/contrib/polling/tests/unit/infrastructure/services/polling/http/test_http_poller_service.py +40 -2
  31. julee/contrib/polling/tests/unit/infrastructure/temporal/__init__.py +7 -0
  32. julee/contrib/polling/tests/unit/infrastructure/temporal/test_manager.py +475 -0
  33. julee/domain/models/assembly/tests/test_assembly.py +2 -0
  34. julee/domain/models/assembly_specification/tests/test_assembly_specification.py +2 -0
  35. julee/domain/models/assembly_specification/tests/test_knowledge_service_query.py +2 -0
  36. julee/domain/models/custom_fields/tests/test_custom_fields.py +2 -0
  37. julee/domain/models/document/tests/test_document.py +2 -0
  38. julee/domain/models/policy/tests/test_document_policy_validation.py +2 -0
  39. julee/domain/models/policy/tests/test_policy.py +2 -0
  40. julee/domain/use_cases/tests/test_extract_assemble_data.py +2 -0
  41. julee/domain/use_cases/tests/test_initialize_system_data.py +2 -0
  42. julee/domain/use_cases/tests/test_validate_document.py +2 -0
  43. julee/maintenance/release.py +10 -5
  44. julee/repositories/memory/tests/test_document.py +2 -0
  45. julee/repositories/memory/tests/test_document_policy_validation.py +2 -0
  46. julee/repositories/memory/tests/test_policy.py +2 -0
  47. julee/repositories/minio/tests/test_assembly.py +2 -0
  48. julee/repositories/minio/tests/test_assembly_specification.py +2 -0
  49. julee/repositories/minio/tests/test_client_protocol.py +3 -0
  50. julee/repositories/minio/tests/test_document.py +2 -0
  51. julee/repositories/minio/tests/test_document_policy_validation.py +2 -0
  52. julee/repositories/minio/tests/test_knowledge_service_config.py +2 -0
  53. julee/repositories/minio/tests/test_knowledge_service_query.py +2 -0
  54. julee/repositories/minio/tests/test_policy.py +2 -0
  55. julee/services/knowledge_service/anthropic/tests/test_knowledge_service.py +2 -0
  56. julee/services/knowledge_service/memory/test_knowledge_service.py +2 -0
  57. julee/services/knowledge_service/test_factory.py +2 -0
  58. julee/util/tests/test_decorators.py +2 -0
  59. julee-0.1.5.dist-info/METADATA +103 -0
  60. {julee-0.1.4.dist-info → julee-0.1.5.dist-info}/RECORD +63 -56
  61. julee-0.1.4.dist-info/METADATA +0 -197
  62. {julee-0.1.4.dist-info → julee-0.1.5.dist-info}/WHEEL +0 -0
  63. {julee-0.1.4.dist-info → julee-0.1.5.dist-info}/licenses/LICENSE +0 -0
  64. {julee-0.1.4.dist-info → julee-0.1.5.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,8 @@ from julee.repositories.minio.document import MinioDocumentRepository
23
23
 
24
24
  from .fake_client import FakeMinioClient
25
25
 
26
+ pytestmark = pytest.mark.unit
27
+
26
28
 
27
29
  @pytest.fixture
28
30
  def fake_minio_client() -> FakeMinioClient:
@@ -21,6 +21,8 @@ from julee.repositories.minio.document_policy_validation import (
21
21
 
22
22
  from .fake_client import FakeMinioClient
23
23
 
24
+ pytestmark = pytest.mark.unit
25
+
24
26
 
25
27
  @pytest.fixture
26
28
  def fake_client() -> FakeMinioClient:
@@ -20,6 +20,8 @@ from julee.repositories.minio.knowledge_service_config import (
20
20
 
21
21
  from .fake_client import FakeMinioClient
22
22
 
23
+ pytestmark = pytest.mark.unit
24
+
23
25
 
24
26
  @pytest.fixture
25
27
  def fake_client() -> FakeMinioClient:
@@ -19,6 +19,8 @@ from julee.repositories.minio.knowledge_service_query import (
19
19
 
20
20
  from .fake_client import FakeMinioClient
21
21
 
22
+ pytestmark = pytest.mark.unit
23
+
22
24
 
23
25
  @pytest.fixture
24
26
  def fake_client() -> FakeMinioClient:
@@ -15,6 +15,8 @@ from julee.repositories.minio.policy import MinioPolicyRepository
15
15
 
16
16
  from .fake_client import FakeMinioClient
17
17
 
18
+ pytestmark = pytest.mark.unit
19
+
18
20
 
19
21
  @pytest.fixture
20
22
  def fake_client() -> FakeMinioClient:
@@ -27,6 +27,8 @@ from julee.services.knowledge_service.anthropic import (
27
27
  knowledge_service as anthropic_ks_module,
28
28
  )
29
29
 
30
+ pytestmark = pytest.mark.unit
31
+
30
32
 
31
33
  @pytest.fixture
32
34
  def test_document() -> Document:
@@ -23,6 +23,8 @@ from julee.domain.models.knowledge_service_config import (
23
23
  from ..knowledge_service import QueryResult
24
24
  from .knowledge_service import MemoryKnowledgeService
25
25
 
26
+ pytestmark = pytest.mark.unit
27
+
26
28
 
27
29
  @pytest.fixture
28
30
  def test_document() -> Document:
@@ -26,6 +26,8 @@ from julee.services.knowledge_service.factory import (
26
26
  knowledge_service_factory,
27
27
  )
28
28
 
29
+ pytestmark = pytest.mark.unit
30
+
29
31
 
30
32
  @pytest.fixture
31
33
  def test_document() -> Document:
@@ -34,6 +34,8 @@ from julee.util.temporal.decorators import (
34
34
  temporal_workflow_proxy,
35
35
  )
36
36
 
37
+ pytestmark = pytest.mark.unit
38
+
37
39
 
38
40
  @runtime_checkable
39
41
  class MockBaseRepositoryProtocol(Protocol):
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.4
2
+ Name: julee
3
+ Version: 0.1.5
4
+ Summary: Julee - Clean architecture for accountable and transparent digital supply chains
5
+ Author-email: Pyx Industries <chris@pyx.io>
6
+ License: GPL-3.0
7
+ Project-URL: Homepage, https://github.com/pyx-industries/julee
8
+ Project-URL: Repository, https://github.com/pyx-industries/julee
9
+ Project-URL: Documentation, https://github.com/pyx-industries/julee#readme
10
+ Project-URL: Issues, https://github.com/pyx-industries/julee/issues
11
+ Keywords: temporal,workflow,document-processing,ai,supply-chain
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: >=3.11
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: fastapi>=0.100.0
23
+ Requires-Dist: uvicorn>=0.20.0
24
+ Requires-Dist: python-multipart
25
+ Requires-Dist: fastapi-pagination>=0.12.0
26
+ Requires-Dist: pydantic>=2.0.0
27
+ Requires-Dist: temporalio[pydantic]>=1.3.0
28
+ Requires-Dist: minio>=7.0.0
29
+ Requires-Dist: anthropic>=0.66.0
30
+ Requires-Dist: click>=0.8.0
31
+ Requires-Dist: Jinja2>=3.0.0
32
+ Requires-Dist: PyYAML>=6.0.0
33
+ Requires-Dist: python-magic>=0.4.27
34
+ Requires-Dist: multihash>=0.1.1
35
+ Requires-Dist: six>=1.16.0
36
+ Requires-Dist: jsonschema>=4.0.0
37
+ Requires-Dist: jsonpointer>=3.0.0
38
+ Provides-Extra: dev
39
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
40
+ Requires-Dist: pytest-asyncio>=1.0.0; extra == "dev"
41
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
42
+ Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
43
+ Requires-Dist: hypothesis>=6.0.0; extra == "dev"
44
+ Requires-Dist: factory-boy>=3.2.0; extra == "dev"
45
+ Requires-Dist: mypy>=1.7.0; extra == "dev"
46
+ Requires-Dist: types-PyYAML; extra == "dev"
47
+ Requires-Dist: types-jsonschema; extra == "dev"
48
+ Requires-Dist: types-python-dateutil; extra == "dev"
49
+ Requires-Dist: black>=24.0.0; extra == "dev"
50
+ Requires-Dist: ruff>=0.5.0; extra == "dev"
51
+ Requires-Dist: pre-commit>=3.0.0; extra == "dev"
52
+ Requires-Dist: bandit; extra == "dev"
53
+ Requires-Dist: pip-tools>=7.0.0; extra == "dev"
54
+ Requires-Dist: asyncpg; extra == "dev"
55
+ Provides-Extra: docs
56
+ Requires-Dist: sphinx>=7.0.0; extra == "docs"
57
+ Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
58
+ Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
59
+ Requires-Dist: furo>=2023.9.10; extra == "docs"
60
+ Requires-Dist: sphinx-autodoc-typehints>=1.25.0; extra == "docs"
61
+ Requires-Dist: sphinxcontrib-mermaid>=0.9.2; extra == "docs"
62
+ Requires-Dist: sphinxcontrib-plantuml>=0.25; extra == "docs"
63
+ Requires-Dist: sphinx-autoapi>=3.0.0; extra == "docs"
64
+ Dynamic: license-file
65
+
66
+ # Julee
67
+
68
+ Clean architecture for accountable and transparent digital supply chains.
69
+
70
+ Julee is a Python framework for building resilient, auditable business processes using Temporal workflows. Solutions are organized around your business domain—your bounded contexts become "accelerators" that speak your business language, not framework jargon.
71
+
72
+ **Use Julee when:** processes must be done correctly, may be complex or long-running, need compliance audit trails (responsible AI, algorithmic due-diligence), or depend on unreliable services that may fail, timeout, or be rate-limited.
73
+
74
+ **Core concepts:** Accelerators are collections of pipelines that automate a business area. Pipelines are use cases wrapped with Temporal, providing durability (survives crashes), reliability (automatic retries), observability (complete execution history), and supply chain provenance (audit trails that become "digital product passports").
75
+
76
+ ## Installation
77
+
78
+ ```bash
79
+ pip install julee
80
+ ```
81
+
82
+ ## Runtime Dependencies
83
+
84
+ Julee applications require: [Temporal](https://temporal.io/) (workflow orchestration), S3-compatible object storage (e.g. MinIO), PostgreSQL (for Temporal).
85
+
86
+ ## Documentation
87
+
88
+ Full documentation at [julee.readthedocs.io](https://julee.readthedocs.io), package on [PyPI](https://pypi.org/project/julee/).
89
+
90
+ ## Example
91
+
92
+ This repository includes a Docker Compose example demonstrating a meeting minutes extraction system:
93
+
94
+ ```bash
95
+ cp .env.example .env # Add your ANTHROPIC_API_KEY
96
+ docker compose up --build
97
+ ```
98
+
99
+ See the `demo-ui/` directory for the UI source.
100
+
101
+ ## License
102
+
103
+ GPL-3.0 — see [LICENSE](LICENSE) for details.
@@ -1,4 +1,4 @@
1
- julee/__init__.py,sha256=8XYQJwEwJdGsPw23i7Zi_8hYCqNqRVrcPTlM0tkTO4g,111
1
+ julee/__init__.py,sha256=vG46rbd6qYeNtSgP3Awo8RqA2n7Qka3HlsGutEc7sZM,111
2
2
  julee/worker.py,sha256=26k7LkpLft8emjVsSRCK7VmbtTEaBxjokX_5CC52LDM,7231
3
3
  julee/api/__init__.py,sha256=bJECAJifuV-pochMVeDqKhQ63jvXel3W4Y0_NK9gn8s,801
4
4
  julee/api/app.py,sha256=I4a7fi9rE_0r92jmMusOxlcMalFnTy8qb4yyxKYg6-Q,4955
@@ -15,39 +15,46 @@ julee/api/routers/workflows.py,sha256=k7Qcw28sJRcJUAbM9pj3Y81h6gBHvYHW6mSxihQFq8
15
15
  julee/api/services/__init__.py,sha256=YSzraaC6qD7pkEUXqbhlJH3dhwvGusywztnYnIOqJbM,660
16
16
  julee/api/services/system_initialization.py,sha256=V3CGizs4Vvi6jGzW2fPuftkEHaw80y14Z_Ync5U3w40,6915
17
17
  julee/api/tests/__init__.py,sha256=SAJjurDfB0ac0AUIzRvBsGEupR6BOp2dqNdfNeyXoTQ,411
18
- julee/api/tests/test_app.py,sha256=PiQGKOzSr3x-8Q9t5NaPLcpTxZVmpwB2JFE5ZOIQx9U,9874
19
- julee/api/tests/test_dependencies.py,sha256=BpMGWilh9wbWW4aYuu_Agw7LL7YjfLVGqnIofWS_zEs,9245
20
- julee/api/tests/test_requests.py,sha256=JxiSL38VDoo-6pdoWy9iJrXWbTJa18enoN5jI79COcE,9877
18
+ julee/api/tests/test_app.py,sha256=EYIwQlWloLxMF_EkTUW9kV_8tZhqe992s6OIKGNWesc,9905
19
+ julee/api/tests/test_dependencies.py,sha256=FkDI_e3EOxGwWj4su9n65qt7OOa0UwVwDvKLOZQT4XI,9276
20
+ julee/api/tests/test_requests.py,sha256=0wSite_5O5vDYQAacC10VFvUBcLZoAHEa6zLTc_jgsU,9908
21
21
  julee/api/tests/routers/__init__.py,sha256=IawydYDi3sIBEPE6vyX8r_UBxUKc6NDh_UFL2kqdbqM,634
22
- julee/api/tests/routers/test_assembly_specifications.py,sha256=3puq2f4l1OwLxEBbzstNaJ6e-t3iKABsrIlI29i0okQ,27462
23
- julee/api/tests/routers/test_documents.py,sha256=6LlFvwRUJOqkPv1f7laRVzMz7k5VmH5J7xi-tqE9bw8,10720
24
- julee/api/tests/routers/test_knowledge_service_configs.py,sha256=EO2Ngfrd0oQvUKVrbxQ7T5lvfG5eBXcfQ9NDvsJks3g,7848
25
- julee/api/tests/routers/test_knowledge_service_queries.py,sha256=m-uqPQQQxX0cEx3NVNt-xdgjjSXhinAGZnJVZQIrFK0,26191
26
- julee/api/tests/routers/test_system.py,sha256=xoOdf0Lt8PO212x4GpM8B5gAyTFbjdjcg5q8sHbC1cA,6287
27
- julee/api/tests/routers/test_workflows.py,sha256=jcmSOXTJvZacNjWe3jwm_IxqKP3G-pXxmp3ErLsgsR8,13648
22
+ julee/api/tests/routers/test_assembly_specifications.py,sha256=wxw4GNlyaDyWI-AWMQ14LCw4bRlxCjYokYnqMRhoZ2U,27493
23
+ julee/api/tests/routers/test_documents.py,sha256=-I7JAdYQmJSaie8jso67myUg17nUKgX9ptWXmMLVEEI,10751
24
+ julee/api/tests/routers/test_knowledge_service_configs.py,sha256=iqZYC7J6Nswb5ALqpg_IdwzCnskgBrYiCSHbSBUuUuI,7879
25
+ julee/api/tests/routers/test_knowledge_service_queries.py,sha256=PZQ3hSy6MHqSRnPFX-2__UJSpOMaOKogqRc4JP8e3vI,26222
26
+ julee/api/tests/routers/test_system.py,sha256=livmWhccmkYdTTUBoERcsvkmfVIG9IpI_FxcaS55IpI,6318
27
+ julee/api/tests/routers/test_workflows.py,sha256=sg3Xl6zzMzgd9IkLzceGIRRKJZA2ZZ4PbqW7dMlhgWY,13679
28
28
  julee/contrib/__init__.py,sha256=RFlW03DFJQxINJCCif7s67LPOKW4rI4BuYWTUbakkGc,503
29
- julee/contrib/polling/__init__.py,sha256=aNY3esupKvyc7sLtU_lrpZHozwco9gyzozgorepgNqA,1458
30
- julee/contrib/polling/domain/__init__.py,sha256=Br8M36GJ3UJl3zwk9AwEcx8kkMSb-CVsn7ANH2unrBw,446
31
- julee/contrib/polling/domain/models/__init__.py,sha256=UEL0aGwCg1Y2D5KyJ5VvVK4-lLaZeVevBLfMapfP-No,263
32
- julee/contrib/polling/domain/models/polling_config.py,sha256=3YkormKPgzDXvAXBv0VBnjoDi7zaZ-PuRML33lkQpxo,1086
33
- julee/contrib/polling/domain/services/__init__.py,sha256=k5lhY6roLD68n_O8K4PP3aXH1UkXy8RapKErhhZH9_M,180
34
- julee/contrib/polling/domain/services/poller.py,sha256=7rTq9fawrdfdAMayrYmVwSfkHWbSbbqSs2Z8zPVjopE,1218
35
- julee/contrib/polling/infrastructure/__init__.py,sha256=xM3TBrkxAijtXCLl5_EFrRRUDVQFjD41PohT7lWXCuc,413
36
- julee/contrib/polling/infrastructure/services/__init__.py,sha256=QgoNNS9XPl_tCO-52m_ct37NBzT85_jjWdA-8QbuDJs,246
37
- julee/contrib/polling/infrastructure/services/polling/__init__.py,sha256=kbUXRCuAFZN-7Xo44MQEdSC9AYKNfvru-cWgwYrS6rA,229
38
- julee/contrib/polling/infrastructure/services/polling/http/__init__.py,sha256=mSMy6_2eKnrh2tetiVrf9iQEhxbGs_csQlUy82I1s6c,219
39
- julee/contrib/polling/infrastructure/services/polling/http/http_poller_service.py,sha256=yK7porLBkEXaW6yBcO6-KBEfpjzCsv-i0iCjCSIooQo,2671
40
- julee/contrib/polling/infrastructure/temporal/__init__.py,sha256=zsBmr9JY2Kb4vIf97NwIvqnuKzWsXgO9EHa47yrkpjw,662
41
- julee/contrib/polling/infrastructure/temporal/activities.py,sha256=i1jVpMm6a8j60Ug0gKQ3F5QPW0qcrD0vtzdqickym5c,1456
29
+ julee/contrib/polling/__init__.py,sha256=xk0bRSShKdJXcm8CMqJ7tQWSBdLwOLLj05-pXd2cUSM,2115
30
+ julee/contrib/polling/apps/__init__.py,sha256=f1SCPBxN5pD-okEz7Bc7q8ApVSmhTxxb7edZq3z7ejU,619
31
+ julee/contrib/polling/apps/worker/__init__.py,sha256=a7q35Tmmia0NxfCxwMeWeOq5ZacZ082VYxe_9hseYOE,619
32
+ julee/contrib/polling/apps/worker/pipelines.py,sha256=aScz2hGynJ7_vYjwUsx6QMAxxbgj2JqWzezMHkxd0Bo,11021
33
+ julee/contrib/polling/domain/__init__.py,sha256=9TGbfrNXaQgjrCOUwAifidSQ3CP7FAqQUNVpXk5GAUo,576
34
+ julee/contrib/polling/domain/models/__init__.py,sha256=AUgbHTVy2AHYTfaLKG1DvtE11UB1B-xzaFVCtQoHzC0,369
35
+ julee/contrib/polling/domain/models/polling_config.py,sha256=6n89yP5c1XblKvnj4vialLgrmqzLcY3p_LV_4aTYaUo,1720
36
+ julee/contrib/polling/domain/services/__init__.py,sha256=vyZJwPf2595jVTs9TCcU4w7df2OvhM2HdbYQbMWUjr8,332
37
+ julee/contrib/polling/domain/services/poller.py,sha256=UXbaXOwEeaivfIY5YqB0IqbGeMXh_92jdHtDopTPqW0,1233
38
+ julee/contrib/polling/infrastructure/__init__.py,sha256=e6DpiyFHdx03pZ-SXVU6eM-u0Djwnra_oajYFiYJ5dw,709
39
+ julee/contrib/polling/infrastructure/services/__init__.py,sha256=TOK7Y2P9yNpx-AUmFSPSuIiN0Jw-ngEb9ts3gPy3l60,407
40
+ julee/contrib/polling/infrastructure/services/polling/__init__.py,sha256=tdM0ylrmhPh9fA3EfgmeOwqkQaYc-ztPi6PMatLh01A,393
41
+ julee/contrib/polling/infrastructure/services/polling/http/__init__.py,sha256=Dh6ryomDtauQO1gdtfQ1j3J2ZDUtwumHjHEdG3FC_C0,388
42
+ julee/contrib/polling/infrastructure/services/polling/http/http_poller_service.py,sha256=Ul_64NoAy51IsHZLBr1UQklTCs2QxNZv7XCP_rh249E,2706
43
+ julee/contrib/polling/infrastructure/temporal/__init__.py,sha256=PxgpYra_LFKW7tmag4DmuQvzDN2jeiCQuVBmu5Qfc78,923
44
+ julee/contrib/polling/infrastructure/temporal/activities.py,sha256=M7fs-5wujESsUNoiB-Y-OUHa6N6pFUcjnqa8nBtFR4w,1476
42
45
  julee/contrib/polling/infrastructure/temporal/activity_names.py,sha256=zdTu8-b7ucrJH5bIbFGv-nvXf2ZOvWs0YaBsUWC8FWM,668
43
- julee/contrib/polling/infrastructure/temporal/proxies.py,sha256=mFpHjxtJ-eqm5tYUoA1Te8Fb2lfTwXz-tpHubNLIE0Y,1502
46
+ julee/contrib/polling/infrastructure/temporal/manager.py,sha256=90T5jikv7F-wB4cCdmCIWyQxOf1o5dswneAz7n3KpwQ,9660
47
+ julee/contrib/polling/infrastructure/temporal/proxies.py,sha256=eiYr1d0tXkREpbJx7nG5Otc7FCxNJrLFtj2CMzJd5iM,1509
44
48
  julee/contrib/polling/tests/__init__.py,sha256=0GSU_Gc9HtB0h6w5_c1qUdMWqCp2FVx-BV-IOR9_uo0,175
45
49
  julee/contrib/polling/tests/unit/__init__.py,sha256=8QbeJjQZj0nIKd3F1eTXCR9utxZtiYQzkTyk4yGhCvM,160
50
+ julee/contrib/polling/tests/unit/apps/worker/test_pipelines.py,sha256=_1bvvOV9LDYuup9OmKTBvYm7acL55o98Yku2i39kU4E,23306
46
51
  julee/contrib/polling/tests/unit/infrastructure/__init__.py,sha256=BEFimVM4poUCs2AKZOggF4L07T96L85UnfIkt8qxFys,238
47
52
  julee/contrib/polling/tests/unit/infrastructure/services/__init__.py,sha256=WCf2KzGeMChltre8YYf8IUtElgP4NmdugNOmKxno0Lw,190
48
53
  julee/contrib/polling/tests/unit/infrastructure/services/polling/__init__.py,sha256=ygTzYEe2Zok4pwmGOd2G_Gf5sE5kaC6xHiFmZADiYvs,228
49
54
  julee/contrib/polling/tests/unit/infrastructure/services/polling/http/__init__.py,sha256=OVMmGLJ7KEmvKeoDakizgFXSi-Z4QvHFh4B0CINbGSM,283
50
- julee/contrib/polling/tests/unit/infrastructure/services/polling/http/test_http_poller_service.py,sha256=4B-CTyeHVYRAv-TmG9igSk_ifQeZNYNDeF8uPRz-bHk,6212
55
+ julee/contrib/polling/tests/unit/infrastructure/services/polling/http/test_http_poller_service.py,sha256=EQ7CV_CCgJIVfpunLvy8fc4lOSUoxiNdHW21TDB27mM,7613
56
+ julee/contrib/polling/tests/unit/infrastructure/temporal/__init__.py,sha256=8SkkiZsr_RjD__H27tObR2F6EennVe7F_hsnHvmqGUI,267
57
+ julee/contrib/polling/tests/unit/infrastructure/temporal/test_manager.py,sha256=gintS5ZyaHfo16GJb5YL-MKoOERnN7na8P4BK42OgeA,18818
51
58
  julee/docs/__init__.py,sha256=wknBFq8RF9S1M-oU-S1sw3UWQsmZSjq5Oj7HCCh1AHg,169
52
59
  julee/docs/sphinx_hcd/__init__.py,sha256=mpEbmaDGoT74LGDS9wCEakov2mzagpFvWGp6TDDJegA,2378
53
60
  julee/docs/sphinx_hcd/accelerators.py,sha256=fNrP9ztTbNjAe0sib23RnkkEuxk3cBkb8lfMojtqz0M,38759
@@ -65,23 +72,23 @@ julee/domain/models/assembly/__init__.py,sha256=3bivk26_gmKFUhoUMHumsFHRrXyhgv0C
65
72
  julee/domain/models/assembly/assembly.py,sha256=w7NMRKpu0e6NpWvecIZvvnBsnK9484WtMubEp9gsyd8,3593
66
73
  julee/domain/models/assembly/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
74
  julee/domain/models/assembly/tests/factories.py,sha256=8piauYltuzpNkX5I2g5PJ9bxXoFzvlZ9dv5FSteIcMg,1021
68
- julee/domain/models/assembly/tests/test_assembly.py,sha256=QxtAJBxM0ZvpAFFkHAK8erAc_oCptfSYW-2DncSAfRw,16429
75
+ julee/domain/models/assembly/tests/test_assembly.py,sha256=4eKIjpAeN0XoFRFDpaShjh7pOsTEy6QzXm1TshOJwvg,16460
69
76
  julee/domain/models/assembly_specification/__init__.py,sha256=8oHXxCUAwplrL1lTKNyLQg7QxFapmPgroU0W6TMWTNA,804
70
77
  julee/domain/models/assembly_specification/assembly_specification.py,sha256=bolyMo8eubj--W5k9yC_CZLU-99eXPTkSPtwjHcJmho,6783
71
78
  julee/domain/models/assembly_specification/knowledge_service_query.py,sha256=daVcEsOWN45Z0rjMAkTAiU8M8yiqrHUvCW1wchxsN-4,4282
72
79
  julee/domain/models/assembly_specification/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
80
  julee/domain/models/assembly_specification/tests/factories.py,sha256=CfVY65UW9PtC3isPervUH5pvtzquiHhxClyCG1LqAro,2370
74
- julee/domain/models/assembly_specification/tests/test_assembly_specification.py,sha256=R-73DHZv_ItRIBgruaOgl9sAek22s8a8T5BT7tRrI3M,18189
75
- julee/domain/models/assembly_specification/tests/test_knowledge_service_query.py,sha256=wg34sF3TDcocRS737tTzNTsFAfVjFvfObmYproXLlD8,10411
81
+ julee/domain/models/assembly_specification/tests/test_assembly_specification.py,sha256=AyW8eepsUAaY_TcE7zrQBl8lxE3o06i0ux26nECE9UE,18220
82
+ julee/domain/models/assembly_specification/tests/test_knowledge_service_query.py,sha256=nEmLzAgSUaPfXnYPeuqyuidyjU39ah-Zp1NAK04SfGI,10442
76
83
  julee/domain/models/custom_fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
84
  julee/domain/models/custom_fields/content_stream.py,sha256=DRpGjMSUuUwOzbJW-_pVy43IgvqQYn_Qi0612QJjlpY,2348
78
85
  julee/domain/models/custom_fields/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- julee/domain/models/custom_fields/tests/test_custom_fields.py,sha256=1x-MH3FFgC5Ltw7tTqvvWpb1ZnsoRb7BtJ-p6EcdZuQ,1936
86
+ julee/domain/models/custom_fields/tests/test_custom_fields.py,sha256=JRzrM12bF8dzJFH2lKLQwlJlW_t5E2yWfvRfH8kLVqw,1967
80
87
  julee/domain/models/document/__init__.py,sha256=DJr8HKqB47AiJ5YIrTf3E-mpFYiKLLOZPEN8qcAJPWI,469
81
88
  julee/domain/models/document/document.py,sha256=DgQNP_7alH3qHIhOS77Cx_JvTxZwTLtVuMrU4N5ztAU,5079
82
89
  julee/domain/models/document/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
90
  julee/domain/models/document/tests/factories.py,sha256=4sgVAOXInPO-RnT4ChO4zWWB0cAF9JFwYA50j692Ir0,2457
84
- julee/domain/models/document/tests/test_document.py,sha256=hIufVemhkA-s403xQsJsyB6mTkcq6a8M0za1pLQ_ItY,9093
91
+ julee/domain/models/document/tests/test_document.py,sha256=rEdVz2tPdpB_kVRs-O968fnlHXfCc-FeIoS42IemAyg,9124
85
92
  julee/domain/models/knowledge_service_config/__init__.py,sha256=5qYB-nGcVp6CIP7V85hzsQqvBg3HAq5H_p9hPQ5YqGM,431
86
93
  julee/domain/models/knowledge_service_config/knowledge_service_config.py,sha256=WAoFtVv60leuWu0pyZrjy46tFD89lCcEHRMshSLnuBU,2945
87
94
  julee/domain/models/policy/__init__.py,sha256=jsmjUb1QHD8T5X1Ri_wJkAQTaRig4B997yb6_ll2uC0,283
@@ -89,8 +96,8 @@ julee/domain/models/policy/document_policy_validation.py,sha256=uc9Y3yvz8wof6tit
89
96
  julee/domain/models/policy/policy.py,sha256=hqSJg3CzKnfcKkVRHfbEJUEvnnGqNNytAVozOXN4teA,7036
90
97
  julee/domain/models/policy/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
98
  julee/domain/models/policy/tests/factories.py,sha256=b8stP-3ovjgckGzaKTpGY2XrfvzgoKq97ru8aCB02so,1300
92
- julee/domain/models/policy/tests/test_document_policy_validation.py,sha256=TzVdOg_Y1hTaWoptQ9b9D0bOaj29-jPf_JKjft6YMn0,15888
93
- julee/domain/models/policy/tests/test_policy.py,sha256=g7z9vvmkT0aJPHF2x8lHfjJgBOj6TcH1pejZWjwXvhk,20398
99
+ julee/domain/models/policy/tests/test_document_policy_validation.py,sha256=ypY9tadYNoUN7m6jLs308aPNvJXtR896bCsovPkkIZo,15919
100
+ julee/domain/models/policy/tests/test_policy.py,sha256=aoJ2sHXA1wzeUjxUwx_8Cm2I4OOGgenz0TZmP6Ie2e4,20429
94
101
  julee/domain/repositories/__init__.py,sha256=mRJ6MuktqbV93tLrtpBBoP1uPwXe8krqBQjxAgsU0B8,949
95
102
  julee/domain/repositories/assembly.py,sha256=4LWo3LcyheuNkZ4U8oV6NAXEcFHxkE46Oa2a97YMMiE,1686
96
103
  julee/domain/repositories/assembly_specification.py,sha256=XLxH1lPgr6LJiSyVdB3eZU7Kdr1UVwSvsoXroBMdxKI,2070
@@ -106,14 +113,14 @@ julee/domain/use_cases/extract_assemble_data.py,sha256=D7w63bR-3WXpwDaj2SH_L4ZO-
106
113
  julee/domain/use_cases/initialize_system_data.py,sha256=CIYasO96HQMKXh098Gw3r2rerPKsVXRRVLsxnSJnVfo,31330
107
114
  julee/domain/use_cases/validate_document.py,sha256=noLzQp4hSJVAr-hL668ywxe4m7aNv2yuBMZzPgJPpIs,28219
108
115
  julee/domain/use_cases/tests/__init__.py,sha256=xKgoU78i5zK5mlZ2NNfp8nhbnb9fIcNwCTcQD0j9gEw,199
109
- julee/domain/use_cases/tests/test_extract_assemble_data.py,sha256=uNcKtzy-u7nwr68wOdDmXLdfw_2p4SA0Lm3czec9mAI,21596
110
- julee/domain/use_cases/tests/test_initialize_system_data.py,sha256=6JwxQDNwknyPqtmSugKn2Eq1CA1Y8rFEb44yrN1_SCA,17918
111
- julee/domain/use_cases/tests/test_validate_document.py,sha256=_VcGZK98oDzxN0iLP81hIVdjCPbgmjIJwFeBn5MuWZk,50922
116
+ julee/domain/use_cases/tests/test_extract_assemble_data.py,sha256=erhTWfHx-FnoFVL1Kg8aT6hM4bd7-ewyuQwB_8f17T4,21627
117
+ julee/domain/use_cases/tests/test_initialize_system_data.py,sha256=1IyjuNPMBdnqCqn425vQpHrpVFJtvi_6N3hC6i2LoFE,17949
118
+ julee/domain/use_cases/tests/test_validate_document.py,sha256=JVMx3pXUbzYMLnT3Ah3UnCN8TUzEFzBv_D-QuKGelcw,50953
112
119
  julee/fixtures/documents.yaml,sha256=QMPbdMtjvsf08iFuNa4U2Kx7nTIGVpeRMlp-eeW9dY0,4918
113
120
  julee/fixtures/knowledge_service_configs.yaml,sha256=SfJO1SJFzYtF2Y7XTZmhl3d9Eiv2-xMrHKW1kI7NhI0,1378
114
121
  julee/fixtures/knowledge_service_queries.yaml,sha256=uYKD24jMIBhHjGaItyDVqtRlHLVeIRCw8XfhNjiMENk,2447
115
122
  julee/maintenance/__init__.py,sha256=tThzvZBQ4bTSiXVfLVuHI2uLQOhZRMfND1ndj26BNu0,65
116
- julee/maintenance/release.py,sha256=595Cs7CKSV7jsBVWHE3lZNclDievh8BVw5SP5JbrkAk,7697
123
+ julee/maintenance/release.py,sha256=DavyBtyFb-hngtg8K36LjNx76DfrPDgFUbZePDW2lhk,7733
117
124
  julee/repositories/__init__.py,sha256=mJpDFYP5f4LBhavYSnC3SnTcWnozMCz7aXje4iB5pyU,571
118
125
  julee/repositories/memory/__init__.py,sha256=w0ibQfMm3HYdFhLXXMPa_aRtbRiG60j2bqmEGdjmOtg,1225
119
126
  julee/repositories/memory/assembly.py,sha256=1XuLtNiVKVg8jqwHxzQPJS-YmLGR0PtTiD_XhoPSUSo,2807
@@ -125,9 +132,9 @@ julee/repositories/memory/knowledge_service_config.py,sha256=sG7bHAO2O131k7GD-8R
125
132
  julee/repositories/memory/knowledge_service_query.py,sha256=0rav6H4caKw-CGM4gsjcwsFba2vjLGJbg7WYg9eB7-Y,3939
126
133
  julee/repositories/memory/policy.py,sha256=UjLCqm4V2hiF5kF2H_5IonNb4jXAQcdJ57jouMWjYns,2874
127
134
  julee/repositories/memory/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- julee/repositories/memory/tests/test_document.py,sha256=Ah0pnC1CuDvjDPilM_rR1dzyCwLGjGZIioUAQJqU__o,7793
129
- julee/repositories/memory/tests/test_document_policy_validation.py,sha256=NDQ0DSUA5tDM33ulmZM9fU93GMbYmj6l_9m6G_YrOwg,6210
130
- julee/repositories/memory/tests/test_policy.py,sha256=EVi1Zl1mUrkGezjRQGCHQDPK4Loqapg94kAKno72yi8,15840
135
+ julee/repositories/memory/tests/test_document.py,sha256=TmA7v12kLPy9of6YqumIoRr6JEYoajMJedjLGH0G9QY,7824
136
+ julee/repositories/memory/tests/test_document_policy_validation.py,sha256=BpE3GOzMX1FtsIgfCElVWRYqb40iR605ohKBzjmBQYo,6241
137
+ julee/repositories/memory/tests/test_policy.py,sha256=awA7ItCmkllTDqCoqu3nnzxvdRNzA2wmYIUfdnh76yc,15871
131
138
  julee/repositories/minio/__init__.py,sha256=KiDxZUJ2Cvq9sD8TM2_SO50uDSsRq7g4cKTbDmYHHxI,1211
132
139
  julee/repositories/minio/assembly.py,sha256=X3KPgzCEH8Z9kaQN2ANYughPPyF8InBV8-fSM7LSA2s,3724
133
140
  julee/repositories/minio/assembly_specification.py,sha256=dnnxxyXteaPjWxsndoo6UIXqjiYmOKI5thMzhQP5ZWo,6393
@@ -139,14 +146,14 @@ julee/repositories/minio/knowledge_service_query.py,sha256=nSH-UBt_42OgWokEKwpIh
139
146
  julee/repositories/minio/policy.py,sha256=HGUcxlKkIAwOOnoFUMnpW0qMx_F3vCTvYrdWQ_I6M7M,3870
140
147
  julee/repositories/minio/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
148
  julee/repositories/minio/tests/fake_client.py,sha256=qyV6ApmVm54e3hPZganteE5n2wavOnnleE8Bs_uELJo,7377
142
- julee/repositories/minio/tests/test_assembly.py,sha256=Sj5qgDgBRZ9gWQZGTC9H81c1LuP7Klq9yi5Wrvs9WvI,13793
143
- julee/repositories/minio/tests/test_assembly_specification.py,sha256=wCsd6Mbxwsiju1Pn-OQGBpCAEr-4l2wwW9niVOciUms,15240
144
- julee/repositories/minio/tests/test_client_protocol.py,sha256=mLESv_xrEM2A2eRm2GLfrqeMHdrDdMAdgI-pRRF-svk,2310
145
- julee/repositories/minio/tests/test_document.py,sha256=z806S9Fjyc5lSJQYy7JL0zfcaensqVIh50eYGfdO2OI,22177
146
- julee/repositories/minio/tests/test_document_policy_validation.py,sha256=klBc_5dq421I5tN2hIwOgLsfFQ4YnsjDgPb8Ywh74cI,7542
147
- julee/repositories/minio/tests/test_knowledge_service_config.py,sha256=SeDPWr0Gmxtu-ytRHTUHfxC38Aii64GvteBDunJziBg,14823
148
- julee/repositories/minio/tests/test_knowledge_service_query.py,sha256=tqlS9w9MShaL83PyfQo8xjFL2Kxli6uJqLIE36qdxa8,15331
149
- julee/repositories/minio/tests/test_policy.py,sha256=n5flJxj75Yc-dkfmVQBkMDVGCagMB3BzhYtJhcQQWhY,20479
149
+ julee/repositories/minio/tests/test_assembly.py,sha256=phoU_dEMhkrNUybnj93x5g4FlleJPl9ul0S2UIOxy8U,13824
150
+ julee/repositories/minio/tests/test_assembly_specification.py,sha256=zihcFt5u7Bv_hDr6XS5721jLsscCJPRWppoBum4OrdE,15271
151
+ julee/repositories/minio/tests/test_client_protocol.py,sha256=k_X6VW26APahRjwqicGY1AdonT8BwyONFZC_Hq8tm0I,2355
152
+ julee/repositories/minio/tests/test_document.py,sha256=qTEvR3d8PCY4RPF5KGmy7PpJsqikujLxNJml8dCg6Zo,22208
153
+ julee/repositories/minio/tests/test_document_policy_validation.py,sha256=GvEMwtzYGwd919yquWTDvYLbRhtNnUdJQoLiUIDbG38,7573
154
+ julee/repositories/minio/tests/test_knowledge_service_config.py,sha256=B73ZoPqR1MCG7_lz838ru2GHrNsaY7JD_7IL049gKH8,14854
155
+ julee/repositories/minio/tests/test_knowledge_service_query.py,sha256=0IQVHjUMUYHjMF4Jy34pjr2nKuHZk-FjcSuc7GJ4QUY,15362
156
+ julee/repositories/minio/tests/test_policy.py,sha256=yju3L_pzoHC5EWX3CLrKBkgZEZS2OazxnApV7ziDDjw,20510
150
157
  julee/repositories/temporal/__init__.py,sha256=DPXfhTFFrixbi5GIKs_-emWu1SbD3oqjGlfSXche3rQ,1416
151
158
  julee/repositories/temporal/activities.py,sha256=xDd6SRR_TNxLHb5TYnfAwsWlWgYrtD0vDvV8HqX1Ebo,3716
152
159
  julee/repositories/temporal/activity_names.py,sha256=qg0ZJvnMPaTHHnu9fHxzsDTjUb5viNATbMTL3Xg0A_c,1464
@@ -155,13 +162,13 @@ julee/services/__init__.py,sha256=LNoQvHMWQi1YMQW0xWw9KeTHOVMsYdhLj-nvu4HClFU,56
155
162
  julee/services/knowledge_service/__init__.py,sha256=xsrMieT-IezlINBEAkM9KAMy5ZDODQqDtbqpK8DMhXM,1148
156
163
  julee/services/knowledge_service/factory.py,sha256=gLRkbrmALuL7rqsuaqWJqHm6TllgsbYCe0RrvDIBfYE,4605
157
164
  julee/services/knowledge_service/knowledge_service.py,sha256=-CT_bAPi6oZm_TB7hVh5E6Q2EWAC9kFWvLfWGhR8h2M,6384
158
- julee/services/knowledge_service/test_factory.py,sha256=8HM3_touOYGohuBwJkhuF8wv5_R4U1RZTVebU13KLP0,3925
165
+ julee/services/knowledge_service/test_factory.py,sha256=FKuzOooeNKdbJU6S-LmqT6Q6ZYo_6sVAV7MUVQKBCLI,3956
159
166
  julee/services/knowledge_service/anthropic/__init__.py,sha256=eO_85w4dd9hgzcnsqMoE0bvcjBtTuIhyQ0vqdPHdoQ4,297
160
167
  julee/services/knowledge_service/anthropic/knowledge_service.py,sha256=WtpQl9QTvNo6mAS7A-L18FHddJ7eF8BVYMIopEZdnVQ,11918
161
- julee/services/knowledge_service/anthropic/tests/test_knowledge_service.py,sha256=ijsjh2CQhO74lt0wmfU-qvqJYmN9ZPvzxJ0qm4rCZYc,12910
168
+ julee/services/knowledge_service/anthropic/tests/test_knowledge_service.py,sha256=hN2W-0XL2cPFOyuib6tLvvA7S0YaK-2C4yNfhKG8ahw,12941
162
169
  julee/services/knowledge_service/memory/__init__.py,sha256=QgAw_Bt3ctn2S2c2OeTwOSADqEx-UIsG1dnoyITifW0,364
163
170
  julee/services/knowledge_service/memory/knowledge_service.py,sha256=HATVCtJATkYAcZ_t13fSVrGtxeJZUZjlN1C4iMVPjEY,9954
164
- julee/services/knowledge_service/memory/test_knowledge_service.py,sha256=AxZc9gzFOcHliZI8ZYDOticz88bxXp2kQHQhRq3yAUc,12973
171
+ julee/services/knowledge_service/memory/test_knowledge_service.py,sha256=0mFSmJtGjTulQgl0s10ior2R3SWVzQLU0hzkjQ1eSxw,13004
165
172
  julee/services/temporal/__init__.py,sha256=xPfg55wTler89fH4NbAt7uawGOJlz8vQiKJzi7ONAHM,1376
166
173
  julee/services/temporal/activities.py,sha256=UhXDt50tJbaKQ6n1BpQWs3lUBY9UuTdhS0hiov2k5-w,3319
167
174
  julee/services/temporal/activity_names.py,sha256=OG0XqCLt40m8h7nglV-k6K5Oyk9bUexND9M1OJ2zfoo,817
@@ -182,15 +189,15 @@ julee/util/temporal/__init__.py,sha256=86xXEL8K5NAhT4s2H1uov8jV68NLkJiCZl2GDJaLn
182
189
  julee/util/temporal/activities.py,sha256=j-xV12x-5KJQWT1I8_KhIWtPVYysLJo9A2Xwx4e31bc,4383
183
190
  julee/util/temporal/decorators.py,sha256=MJzQcp7jD6jAzcwE-o3uKpIZy5r0H5I6hn72fBtHbic,17984
184
191
  julee/util/tests/__init__.py,sha256=guP9qBQwD15l3fIX1kYS8v67pKHAHOCCqib9Us_eJ1Y,61
185
- julee/util/tests/test_decorators.py,sha256=7U8f2UioCsXibtMZngVmw9SEIjEFdZGjPTOLJe3ksZ4,27425
192
+ julee/util/tests/test_decorators.py,sha256=FXyJRHETk4C6zv-STdvaVfJy4Fz6zgxkbm2HOaj0NoA,27456
186
193
  julee/util/validation/__init__.py,sha256=Jp8A3iXEvLRaj07Z2UPnOBVO2QAUOW5ITCwMdLAgQyw,769
187
194
  julee/util/validation/repository.py,sha256=li0bLav8ZpRqPe7aaOaZQQItdf_Ll-ZWJs7NpF8nmm0,3135
188
195
  julee/util/validation/type_guards.py,sha256=sH9NfnrWAOQnLKQQNpJRdz1ygkt5nTUmKyjVDOE8iME,12548
189
196
  julee/workflows/__init__.py,sha256=sHXZm4EPvsch6IYcJGqGuPJIep8XZQ8XvEju5b34tTs,724
190
197
  julee/workflows/extract_assemble.py,sha256=ZldmLdwwn1LomDJg4gNGYrnY87tiXtU8em3-l_fqLGs,7876
191
198
  julee/workflows/validate_document.py,sha256=Cwl-XgcQWeVCC-cGOAslS1vCjQosiWUi79c2uQfTYNc,8230
192
- julee-0.1.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
193
- julee-0.1.4.dist-info/METADATA,sha256=2BMROf21mgMvdnWvHOr1YCh5Z8ZVc-llVk7ZrJdMm48,7011
194
- julee-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
195
- julee-0.1.4.dist-info/top_level.txt,sha256=woyPXhn9n-aM3oekZ341P1enrjj6nIcTwOxQL32VCLc,6
196
- julee-0.1.4.dist-info/RECORD,,
199
+ julee-0.1.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
200
+ julee-0.1.5.dist-info/METADATA,sha256=CkArVT-ZDglaWu_XsOLdAlvsY7RFXoVGYebj0GlYZsI,4409
201
+ julee-0.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
202
+ julee-0.1.5.dist-info/top_level.txt,sha256=woyPXhn9n-aM3oekZ341P1enrjj6nIcTwOxQL32VCLc,6
203
+ julee-0.1.5.dist-info/RECORD,,
@@ -1,197 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: julee
3
- Version: 0.1.4
4
- Summary: Julee - Clean architecture for accountable and transparent digital supply chains
5
- Author-email: Pyx Industries <chris@pyx.io>
6
- License: GPL-3.0
7
- Project-URL: Homepage, https://github.com/pyx-industries/julee
8
- Project-URL: Repository, https://github.com/pyx-industries/julee
9
- Project-URL: Documentation, https://github.com/pyx-industries/julee#readme
10
- Project-URL: Issues, https://github.com/pyx-industries/julee/issues
11
- Keywords: temporal,workflow,document-processing,ai,supply-chain
12
- Classifier: Development Status :: 3 - Alpha
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.11
17
- Classifier: Programming Language :: Python :: 3.12
18
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
- Requires-Python: >=3.11
20
- Description-Content-Type: text/markdown
21
- License-File: LICENSE
22
- Requires-Dist: fastapi>=0.100.0
23
- Requires-Dist: uvicorn>=0.20.0
24
- Requires-Dist: python-multipart
25
- Requires-Dist: fastapi-pagination>=0.12.0
26
- Requires-Dist: pydantic>=2.0.0
27
- Requires-Dist: temporalio[pydantic]>=1.3.0
28
- Requires-Dist: minio>=7.0.0
29
- Requires-Dist: anthropic>=0.66.0
30
- Requires-Dist: click>=0.8.0
31
- Requires-Dist: Jinja2>=3.0.0
32
- Requires-Dist: PyYAML>=6.0.0
33
- Requires-Dist: python-magic>=0.4.27
34
- Requires-Dist: multihash>=0.1.1
35
- Requires-Dist: six>=1.16.0
36
- Requires-Dist: jsonschema>=4.0.0
37
- Requires-Dist: jsonpointer>=3.0.0
38
- Provides-Extra: dev
39
- Requires-Dist: pytest>=8.0.0; extra == "dev"
40
- Requires-Dist: pytest-asyncio>=1.0.0; extra == "dev"
41
- Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
42
- Requires-Dist: hypothesis>=6.0.0; extra == "dev"
43
- Requires-Dist: factory-boy>=3.2.0; extra == "dev"
44
- Requires-Dist: mypy>=1.7.0; extra == "dev"
45
- Requires-Dist: types-PyYAML; extra == "dev"
46
- Requires-Dist: types-jsonschema; extra == "dev"
47
- Requires-Dist: types-python-dateutil; extra == "dev"
48
- Requires-Dist: black>=24.0.0; extra == "dev"
49
- Requires-Dist: ruff>=0.5.0; extra == "dev"
50
- Requires-Dist: pre-commit>=3.0.0; extra == "dev"
51
- Requires-Dist: bandit; extra == "dev"
52
- Requires-Dist: pip-tools>=7.0.0; extra == "dev"
53
- Requires-Dist: asyncpg; extra == "dev"
54
- Provides-Extra: docs
55
- Requires-Dist: sphinx>=7.0.0; extra == "docs"
56
- Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
57
- Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
58
- Requires-Dist: furo>=2023.9.10; extra == "docs"
59
- Requires-Dist: sphinx-autodoc-typehints>=1.25.0; extra == "docs"
60
- Requires-Dist: sphinxcontrib-mermaid>=0.9.2; extra == "docs"
61
- Requires-Dist: sphinxcontrib-plantuml>=0.25; extra == "docs"
62
- Requires-Dist: sphinx-autoapi>=3.0.0; extra == "docs"
63
- Dynamic: license-file
64
-
65
- # Julee Example - Docker Setup Guide
66
-
67
- This guide explains how to set up and run the Julee Example application using Docker Compose.
68
-
69
- ## Prerequisites
70
-
71
- - Docker and Docker Compose installed
72
- - API keys for external services
73
-
74
- ## Quick Start
75
-
76
- 1. **Set up environment variables**:
77
- ```bash
78
- cp .env.example .env
79
- ```
80
- Edit `.env` and add your API keys:
81
- ```bash
82
- ANTHROPIC_API_KEY=your_anthropic_api_key_here
83
- GEMINI_API_KEY=your_gemini_api_key_here
84
- ```
85
-
86
- 2. **Run the application**:
87
- ```bash
88
- docker compose up --build -d
89
- ```
90
-
91
- 3. **Access the services**:
92
- - **Web UI**: http://localhost:3000
93
- - **API**: http://localhost:8000
94
- - **API Docs**: http://localhost:8000/docs
95
- - **Temporal UI**: http://localhost:8001 (linked in the UI)
96
- - **MinIO Console**: http://localhost:9001
97
-
98
- ### Building and Running
99
-
100
- ```bash
101
- # Start in background
102
- docker compose up -d --build
103
-
104
- # View logs
105
- docker compose logs -f
106
-
107
- # Stop all services
108
- docker compose down
109
- ```
110
-
111
- ## Demo Features
112
-
113
- The application includes pre-loaded demo data:
114
-
115
- - **Knowledge Services**: Anthropic Claude configurations
116
- - **Queries**: Meeting extraction queries (info, agenda, actions)
117
- - **Assembly Specs**: Meeting minutes specification
118
- - **Documents**: Sample meeting transcripts
119
-
120
- ### Using the Demo
121
-
122
- 1. Navigate to **Specifications** in the UI
123
- 2. Click **"Run Assembly"** on the Meeting Minutes specification
124
- 3. Select a document from the dropdown
125
- 4. Click **"Start Assembly"** to trigger the workflow
126
- 5. Monitor progress in the Temporal UI (Click on the Workflows option)
127
-
128
- ## Current Limitations
129
-
130
- ### Cannot view assembled document output in UI
131
-
132
- The current interface doesn't provide a way to view the final assembled document that results from running the workflow. To view the assembled content, you need to use the API directly with the document ID that's returned when the workflow completes successfully.
133
-
134
- **API commands to view assembled document:**
135
-
136
- ```bash
137
- # curl command
138
- curl -X GET "http://localhost:8000/documents/doc-68f2047f-6796-4830-91ad-104da83f6f24/content"
139
-
140
- # HTTPie command
141
- http GET http://localhost:8000/documents/doc-68f2047f-6796-4830-91ad-104da83f6f24/content
142
-
143
- # With JSON formatting
144
- curl -X GET "http://localhost:8000/documents/doc-68f2047f-6796-4830-91ad-104da83f6f24/content" \
145
- -H "Accept: application/json" | jq .
146
- ```
147
-
148
- Replace the document ID with the one returned from your workflow execution.
149
-
150
- ## Troubleshooting
151
-
152
- ### Common Issues
153
-
154
- **Services fail to start:**
155
- - Check Docker daemon is running
156
- - Verify port availability (3000, 8000, 8001, 9000, 9001)
157
- - Ensure API keys are set correctly
158
-
159
- **API key errors:**
160
- - Verify keys are valid and active
161
- - Check .env file is in the correct location
162
- - Restart services after updating environment variables
163
-
164
- **Build failures:**
165
- - Clear Docker cache: `docker system prune -f`
166
- - Rebuild without cache: `docker compose build --no-cache`
167
-
168
- ### Database and Storage
169
-
170
- **Reset data:**
171
- ```bash
172
- # Stop services and remove volumes
173
- docker compose down -v
174
-
175
- # Restart with fresh data
176
- docker compose up --build
177
- ```
178
-
179
- **Access MinIO Console:**
180
- - URL: http://localhost:9001
181
- - Username: `minioadmin`
182
- - Password: `minioadmin`
183
-
184
- ## Architecture
185
-
186
- ```
187
- ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
188
- │ React UI │────│ FastAPI │────│ Temporal │
189
- │ (vite:3000) │ │ (uvicorn:8000)│ │ Worker │
190
- └─────────────────┘ └─────────────────┘ └─────────────────┘
191
- │ │
192
- │ │
193
- ┌─────────────────┐ ┌─────────────────┐
194
- │ MinIO │ │ PostgreSQL │
195
- │ (storage) │ │ (temporal) │
196
- └─────────────────┘ └─────────────────┘
197
- ```
File without changes