turbine-api 1.0.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,56 @@
1
+ # Local system and Python files
2
+ .DS_Store
3
+ __pycache__/
4
+ *.py[cod]
5
+ .env
6
+ .venv/
7
+
8
+ # Builds and package metadata
9
+ /build/
10
+ dist/
11
+ *.egg-info/
12
+ target/
13
+
14
+ # Test and quality-tool output
15
+ .coverage
16
+ .coverage.*
17
+ htmlcov/
18
+ .hypothesis/
19
+ .pytest_cache/
20
+ .ruff_cache/
21
+ /tests/
22
+
23
+ # Local package credentials
24
+ .netrc
25
+ .pypirc
26
+ .beads/
27
+ ai-docs/
28
+
29
+ # Documentation build output
30
+ public/
31
+
32
+ # mutmut copies the sources here to mutate them
33
+ mutants/
34
+
35
+ # Generated tool/agent artifacts (graphify graphs, Pi subagent transcripts).
36
+ # These are machine output, not source, and must not be committed.
37
+ graphify-out/
38
+ outputs/
39
+ .serena/
40
+ *.lit.*
41
+ packages/turbine-serve/turbine-serve.pdf
42
+ .pi/
43
+ .pi-subagents/
44
+ .claude/settings.local.json
45
+ packages/turbine-core/.complexipy_cache/
46
+
47
+ # Impeccable design context and scratch work
48
+ .impeccable/
49
+ /DESIGN.md
50
+ /PRODUCT.md
51
+ scratch/
52
+ .cache/
53
+ .delta/
54
+ docs/assets/diagrams/turbine-extension-interface.html
55
+ .complexipy_cache/
56
+ .claude/
@@ -0,0 +1,27 @@
1
+ Metadata-Version: 2.5
2
+ Name: turbine-api
3
+ Version: 1.0.0
4
+ Summary: Contract-first read API for Turbine Data Products
5
+ Requires-Python: >=3.12
6
+ Requires-Dist: litestar>=2.15
7
+ Requires-Dist: msgspec>=0.21.1
8
+ Requires-Dist: pyarrow>=25.0.1
9
+ Requires-Dist: sqlglot>=29.0
10
+ Requires-Dist: turbine-core==1.0.0
11
+ Description-Content-Type: text/markdown
12
+
13
+ # turbine-api
14
+
15
+ `turbine-api` is a Turbine Extension. It adds a read-only Data API to `turbine serve`. The
16
+ API gives each published Dataset of a Data Contract as JSON, with filters, sort, and pages.
17
+ The routes and the fields come from the contract.
18
+
19
+ ## Install
20
+
21
+ ```console
22
+ uv add turbine-api "turbine-core[serve]"
23
+ uv run turbine serve
24
+ ```
25
+
26
+ The API is at `/api/v1/data`. Its description in OpenAPI format is at
27
+ `/api/v1/data/docs/openapi.json`.
@@ -0,0 +1,15 @@
1
+ # turbine-api
2
+
3
+ `turbine-api` is a Turbine Extension. It adds a read-only Data API to `turbine serve`. The
4
+ API gives each published Dataset of a Data Contract as JSON, with filters, sort, and pages.
5
+ The routes and the fields come from the contract.
6
+
7
+ ## Install
8
+
9
+ ```console
10
+ uv add turbine-api "turbine-core[serve]"
11
+ uv run turbine serve
12
+ ```
13
+
14
+ The API is at `/api/v1/data`. Its description in OpenAPI format is at
15
+ `/api/v1/data/docs/openapi.json`.
@@ -0,0 +1,26 @@
1
+ [project]
2
+ name = "turbine-api"
3
+ version = "1.0.0"
4
+ description = "Contract-first read API for Turbine Data Products"
5
+ readme = "README.md"
6
+ requires-python = ">=3.12"
7
+ dependencies = [
8
+ "litestar>=2.15",
9
+ "msgspec>=0.21.1",
10
+ "pyarrow>=25.0.1",
11
+ "sqlglot>=29.0",
12
+ "turbine-core==1.0.0",
13
+ ]
14
+
15
+ [project.entry-points."turbine.extension"]
16
+ turbine-api = "turbine.api.extension:contribute"
17
+
18
+ [build-system]
19
+ requires = ["hatchling"]
20
+ build-backend = "hatchling.build"
21
+
22
+ [tool.hatch.build.targets.wheel]
23
+ packages = ["src/turbine"]
24
+
25
+ [tool.uv.sources]
26
+ turbine-core = { workspace = true }
@@ -0,0 +1 @@
1
+ """Data Product API Extension: serve the published Datasets over HTTP."""