ccflow-http 0.0.0__tar.gz → 0.1.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.
@@ -0,0 +1,157 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.a
8
+ *.o
9
+ *.dSYM
10
+ *.so
11
+ *.obj
12
+ *.dll
13
+ *.exp
14
+ *.lib
15
+
16
+ # Rust
17
+ target
18
+ target-capi
19
+
20
+ # Distribution / packaging
21
+ .Python
22
+ build/
23
+ develop-eggs/
24
+ dist/
25
+ downloads/
26
+ eggs/
27
+ .eggs/
28
+ lib/
29
+ lib64/
30
+ parts/
31
+ sdist/
32
+ var/
33
+ wheels/
34
+ pip-wheel-metadata/
35
+ share/python-wheels/
36
+ *.egg-info/
37
+ .installed.cfg
38
+ *.egg
39
+ MANIFEST
40
+
41
+ # PyInstaller
42
+ *.manifest
43
+ *.spec
44
+
45
+ # Installer logs
46
+ pip-log.txt
47
+ pip-delete-this-directory.txt
48
+
49
+ # Unit test / coverage reports
50
+ htmlcov/
51
+ .tox/
52
+ .nox/
53
+ .coverage
54
+ .coverage.*
55
+ .cache
56
+ nosetests.xml
57
+ coverage.xml
58
+ junit.xml
59
+ *.cover
60
+ *.py,cover
61
+ .hypothesis/
62
+ .pytest_cache/
63
+
64
+ # Django
65
+ *.log
66
+ local_settings.py
67
+ db.sqlite3
68
+ db.sqlite3-journal
69
+
70
+ # IPython
71
+ profile_default/
72
+ ipython_config.py
73
+
74
+ # pyenv
75
+ .python-version
76
+
77
+ # pipenv
78
+ Pipfile.lock
79
+
80
+ # Celery
81
+ celerybeat-schedule
82
+ celerybeat.pid
83
+
84
+ # Airspeed Velocity
85
+ .asv
86
+
87
+ # Environments
88
+ .env
89
+ .venv
90
+ env/
91
+ venv/
92
+ ENV/
93
+ env.bak/
94
+ venv.bak/
95
+
96
+ # Spyder project settings
97
+ .spyderproject
98
+ .spyproject
99
+
100
+ # Rope project settings
101
+ .ropeproject
102
+
103
+ # mkdocs documentation
104
+ /site
105
+
106
+ # mypy
107
+ .mypy_cache/
108
+ .dmypy.json
109
+ dmypy.json
110
+
111
+ # Pyre type checker
112
+ .pyre/
113
+
114
+ # Documentation
115
+ /site
116
+ index.md
117
+ docs/_build/
118
+ docs/api
119
+ docs/html
120
+ docs/index.md
121
+ docs/jupyter_execute
122
+ docs/src/_build/
123
+ docs/superpowers
124
+ index.md
125
+
126
+ # JS
127
+ js/coverage
128
+ js/dist
129
+ js/lib
130
+ js/node_modules
131
+ js/test-results
132
+ js/playwright-report
133
+ js/*.tgz
134
+
135
+ # Jupyter
136
+ .ipynb_checkpoints
137
+ .autoversion
138
+ Untitled*.ipynb
139
+ ccflow_http/extension
140
+ ccflow_http/nbextension
141
+ ccflow_http/labextension
142
+
143
+ # Emscripten SDK (locally installed)
144
+ emsdk
145
+
146
+ # Mac
147
+ .DS_Store
148
+
149
+ # Hydra
150
+ outputs/
151
+ multirun/
152
+
153
+ # AI
154
+ ROADMAP.md
155
+ AGENTS.md
156
+ .github/hooks/sdlc.json
157
+ .superpowers
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2025, the ccflow-http authors
189
+ Copyright 2025 1kbgz
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -0,0 +1,74 @@
1
+ Metadata-Version: 2.4
2
+ Name: ccflow-http
3
+ Version: 0.1.0
4
+ Summary: ccflow models for HTTP
5
+ Project-URL: Repository, https://github.com/1kbgz/ccflow-http
6
+ Project-URL: Homepage, https://github.com/1kbgz/ccflow-http
7
+ Author-email: 1kbgz <dev@1kbgz.com>
8
+ License: Apache-2.0
9
+ License-File: LICENSE
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Programming Language :: Python
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Programming Language :: Python :: Implementation :: CPython
19
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
20
+ Requires-Python: >=3.10
21
+ Requires-Dist: ccflow-etl>=0.1.0
22
+ Requires-Dist: ccflow>=0.8.5
23
+ Requires-Dist: httpx
24
+ Requires-Dist: jinja2
25
+ Provides-Extra: develop
26
+ Requires-Dist: build; extra == 'develop'
27
+ Requires-Dist: bump-my-version; extra == 'develop'
28
+ Requires-Dist: check-dist; extra == 'develop'
29
+ Requires-Dist: codespell; extra == 'develop'
30
+ Requires-Dist: hatchling; extra == 'develop'
31
+ Requires-Dist: mdformat; extra == 'develop'
32
+ Requires-Dist: mdformat-tables>=1; extra == 'develop'
33
+ Requires-Dist: pytest; extra == 'develop'
34
+ Requires-Dist: pytest-cov; extra == 'develop'
35
+ Requires-Dist: ruff; extra == 'develop'
36
+ Requires-Dist: twine; extra == 'develop'
37
+ Requires-Dist: ty; extra == 'develop'
38
+ Requires-Dist: uv; extra == 'develop'
39
+ Requires-Dist: wheel; extra == 'develop'
40
+ Description-Content-Type: text/markdown
41
+
42
+ # ccflow-http
43
+
44
+ ccflow models for HTTP
45
+
46
+ [![Build Status](https://github.com/1kbgz/ccflow-http/actions/workflows/build.yaml/badge.svg?branch=main&event=push)](https://github.com/1kbgz/ccflow-http/actions/workflows/build.yaml)
47
+ [![codecov](https://codecov.io/gh/1kbgz/ccflow-http/branch/main/graph/badge.svg)](https://codecov.io/gh/1kbgz/ccflow-http)
48
+ [![License](https://img.shields.io/github/license/1kbgz/ccflow-http)](https://github.com/1kbgz/ccflow-http)
49
+ [![PyPI](https://img.shields.io/pypi/v/ccflow-http.svg)](https://pypi.python.org/pypi/ccflow-http)
50
+
51
+ ## Overview
52
+
53
+ `ccflow-http` provides public, domain-neutral HTTP callable models for `ccflow` workflows. It should own request configuration, auth strategies, request templating, pagination, response parsing, timeout handling, retry/rate-limit integration, and HTTP result metadata.
54
+
55
+ It should not contain provider-specific endpoint catalogs. Domain packages can configure or subclass these generic models for particular APIs.
56
+
57
+ ## Current Status
58
+
59
+ - Implemented: `HTTPConfig`, `HTTPAuth`, `HTTPContext`, `HTTPRequestContext`, `HTTPRequest`, `HTTPRetryPolicy`, `HTTPResponseResult`, compatibility `HTTPResult`, `HTTPModel`, templated path/query/header rendering, request explanation through `build_request`, no-auth/bearer/API-key/basic auth helpers, JSON/text/bytes/CSV/gzip response parsing, HTTP status retry classification over `ccflow` retry semantics, retry event summaries on HTTP results, `ccflow-etl` `ExecutionPolicy` request spacing, `next_url`/cursor/page/offset pagination, rate-limit header capture, and mocked `httpx` transport tests.
60
+ - Partial: the shared execution policy is currently consumed inside `HTTPModel` for sequential request spacing; broader evaluator-level concurrency coordination still belongs in evaluator integrations.
61
+ - Missing: broader integration examples and provider-specific subclasses/configs in downstream packages.
62
+
63
+ ## Dependency Contract
64
+
65
+ - Depends on `ccflow` for callable model, context, and result interfaces.
66
+ - Depends on `ccflow` retry policy semantics and `ccflow-etl` execution policy models.
67
+ - Must not depend on finance packages or application-specific packages.
68
+
69
+ ## Test Convention
70
+
71
+ Default tests should use mocked `httpx` transports or local fixtures. They should not require live network calls or provider credentials.
72
+
73
+ > [!NOTE]
74
+ > This library was generated using [copier](https://copier.readthedocs.io/en/stable/) from the [Base Python Project Template repository](https://github.com/python-project-templates/base).
@@ -0,0 +1,33 @@
1
+ # ccflow-http
2
+
3
+ ccflow models for HTTP
4
+
5
+ [![Build Status](https://github.com/1kbgz/ccflow-http/actions/workflows/build.yaml/badge.svg?branch=main&event=push)](https://github.com/1kbgz/ccflow-http/actions/workflows/build.yaml)
6
+ [![codecov](https://codecov.io/gh/1kbgz/ccflow-http/branch/main/graph/badge.svg)](https://codecov.io/gh/1kbgz/ccflow-http)
7
+ [![License](https://img.shields.io/github/license/1kbgz/ccflow-http)](https://github.com/1kbgz/ccflow-http)
8
+ [![PyPI](https://img.shields.io/pypi/v/ccflow-http.svg)](https://pypi.python.org/pypi/ccflow-http)
9
+
10
+ ## Overview
11
+
12
+ `ccflow-http` provides public, domain-neutral HTTP callable models for `ccflow` workflows. It should own request configuration, auth strategies, request templating, pagination, response parsing, timeout handling, retry/rate-limit integration, and HTTP result metadata.
13
+
14
+ It should not contain provider-specific endpoint catalogs. Domain packages can configure or subclass these generic models for particular APIs.
15
+
16
+ ## Current Status
17
+
18
+ - Implemented: `HTTPConfig`, `HTTPAuth`, `HTTPContext`, `HTTPRequestContext`, `HTTPRequest`, `HTTPRetryPolicy`, `HTTPResponseResult`, compatibility `HTTPResult`, `HTTPModel`, templated path/query/header rendering, request explanation through `build_request`, no-auth/bearer/API-key/basic auth helpers, JSON/text/bytes/CSV/gzip response parsing, HTTP status retry classification over `ccflow` retry semantics, retry event summaries on HTTP results, `ccflow-etl` `ExecutionPolicy` request spacing, `next_url`/cursor/page/offset pagination, rate-limit header capture, and mocked `httpx` transport tests.
19
+ - Partial: the shared execution policy is currently consumed inside `HTTPModel` for sequential request spacing; broader evaluator-level concurrency coordination still belongs in evaluator integrations.
20
+ - Missing: broader integration examples and provider-specific subclasses/configs in downstream packages.
21
+
22
+ ## Dependency Contract
23
+
24
+ - Depends on `ccflow` for callable model, context, and result interfaces.
25
+ - Depends on `ccflow` retry policy semantics and `ccflow-etl` execution policy models.
26
+ - Must not depend on finance packages or application-specific packages.
27
+
28
+ ## Test Convention
29
+
30
+ Default tests should use mocked `httpx` transports or local fixtures. They should not require live network calls or provider credentials.
31
+
32
+ > [!NOTE]
33
+ > This library was generated using [copier](https://copier.readthedocs.io/en/stable/) from the [Base Python Project Template repository](https://github.com/python-project-templates/base).
@@ -0,0 +1,3 @@
1
+ from .base import *
2
+
3
+ __version__ = "0.1.0"