tigrbl_client 0.4.2.dev3__tar.gz → 0.4.3.dev4__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.
- tigrbl_client-0.4.3.dev4/NOTICE +7 -0
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/PKG-INFO +113 -27
- tigrbl_client-0.4.3.dev4/README.md +154 -0
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/pyproject.toml +1 -1
- tigrbl_client-0.4.2.dev3/README.md +0 -69
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/LICENSE +0 -0
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/tigrbl_client/__init__.py +0 -0
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/tigrbl_client/_crud.py +0 -0
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/tigrbl_client/_nested_crud.py +0 -0
- {tigrbl_client-0.4.2.dev3 → tigrbl_client-0.4.3.dev4}/tigrbl_client/_rpc.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl_client
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3.dev4
|
|
4
4
|
Summary: Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation.
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -204,6 +204,7 @@ License: Apache License
|
|
|
204
204
|
See the License for the specific language governing permissions and
|
|
205
205
|
limitations under the License.
|
|
206
206
|
License-File: LICENSE
|
|
207
|
+
License-File: NOTICE
|
|
207
208
|
Keywords: tigrbl,asgi,api,typed client,python client,json-rpc client,rest client,nested resources,httpx,pydantic validation,json-rpc,rest,client,http-client,api-client,openapi,openrpc,schema-first
|
|
208
209
|
Author: Jacob Stewart
|
|
209
210
|
Author-email: jacob@swarmauri.com
|
|
@@ -243,12 +244,45 @@ Description-Content-Type: text/markdown
|
|
|
243
244
|
<p><strong>Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation.</strong></p>
|
|
244
245
|
<a href="https://pypi.org/project/tigrbl_client/"><img src="https://img.shields.io/pypi/v/tigrbl_client?label=PyPI" alt="PyPI version for tigrbl_client"/></a>
|
|
245
246
|
<a href="https://pypi.org/project/tigrbl_client/"><img src="https://static.pepy.tech/badge/tigrbl_client" alt="Downloads for tigrbl_client"/></a>
|
|
247
|
+
<a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl_client"/></a>
|
|
246
248
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_client/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_client/README.md.svg?label=hits" alt="Repository hits for tigrbl_client README"/></a>
|
|
247
249
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
248
|
-
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%
|
|
250
|
+
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl_client"/></a>
|
|
249
251
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl_client"/></a>
|
|
250
252
|
</div>
|
|
251
253
|
|
|
254
|
+
## What is tigrbl_client?
|
|
255
|
+
|
|
256
|
+
Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation.
|
|
257
|
+
|
|
258
|
+
## Why use tigrbl_client?
|
|
259
|
+
|
|
260
|
+
Use it when a Python service or test suite needs a typed client for Tigrbl REST and JSON-RPC APIs.
|
|
261
|
+
|
|
262
|
+
## When should I install tigrbl_client?
|
|
263
|
+
|
|
264
|
+
Install it in consumers, integration tests, SDK adapters, and automation that calls an already-running Tigrbl service.
|
|
265
|
+
|
|
266
|
+
## Who is tigrbl_client for?
|
|
267
|
+
|
|
268
|
+
Client authors, API consumers, QA engineers, and service integration teams.
|
|
269
|
+
|
|
270
|
+
## Where does tigrbl_client fit?
|
|
271
|
+
|
|
272
|
+
`tigrbl_client` lives at `pkgs/core/tigrbl_client` and serves calling Tigrbl services from Python clients and tests.
|
|
273
|
+
|
|
274
|
+
## How does tigrbl_client work?
|
|
275
|
+
|
|
276
|
+
It wraps HTTP calls with sync and async helpers, optional API-key headers, REST CRUD helpers, JSON-RPC calls, and nested-resource helpers.
|
|
277
|
+
|
|
278
|
+
## Certification Status
|
|
279
|
+
|
|
280
|
+
- Package status: governed package in the `tigrbl/tigrbl` workspace.
|
|
281
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
282
|
+
- Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
|
|
283
|
+
- Local certification guard: `pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py` verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, `LICENSE`, and `NOTICE`.
|
|
284
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
285
|
+
|
|
252
286
|
## Install
|
|
253
287
|
|
|
254
288
|
```bash
|
|
@@ -259,51 +293,103 @@ uv add tigrbl_client
|
|
|
259
293
|
pip install tigrbl_client
|
|
260
294
|
```
|
|
261
295
|
|
|
296
|
+
## Surface Coverage
|
|
297
|
+
|
|
298
|
+
| Surface | Value |
|
|
299
|
+
|---|---|
|
|
300
|
+
| PyPI package | [`tigrbl_client`](https://pypi.org/project/tigrbl_client/) |
|
|
301
|
+
| Repository path | [`pkgs/core/tigrbl_client`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_client) |
|
|
302
|
+
| Python import root | `tigrbl_client` |
|
|
303
|
+
| Console scripts | none declared |
|
|
304
|
+
| Entry points | none declared |
|
|
305
|
+
| Optional extras | none declared |
|
|
306
|
+
| Legal files | `LICENSE`, `NOTICE` |
|
|
307
|
+
| Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
|
|
308
|
+
|
|
262
309
|
## What It Owns
|
|
263
310
|
|
|
264
|
-
`tigrbl_client` owns the client boundary
|
|
311
|
+
`tigrbl_client` owns the `client package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
|
|
312
|
+
|
|
313
|
+
Implementation orientation:
|
|
314
|
+
- `tigrbl_client`: _crud, _nested_crud, _rpc
|
|
265
315
|
|
|
266
|
-
##
|
|
316
|
+
## Public API and Import Surface
|
|
267
317
|
|
|
268
|
-
|
|
318
|
+
- Import roots: `tigrbl_client`.
|
|
319
|
+
- Public symbols: `NestedCRUDMixin`, `TigrblClient`, `_Schema`.
|
|
320
|
+
- Workspace dependencies: none declared.
|
|
321
|
+
- External runtime dependencies: `fastapi>=0.100.0`, `pydantic>=2.0.0`.
|
|
269
322
|
|
|
270
|
-
##
|
|
323
|
+
## Usage Examples
|
|
271
324
|
|
|
272
|
-
|
|
325
|
+
### Verify the installed package
|
|
273
326
|
|
|
274
|
-
|
|
327
|
+
```bash
|
|
328
|
+
python -m pip show tigrbl_client
|
|
329
|
+
python - <<'PY'
|
|
330
|
+
from importlib.metadata import version
|
|
331
|
+
print(version("tigrbl_client"))
|
|
332
|
+
PY
|
|
333
|
+
```
|
|
275
334
|
|
|
276
|
-
|
|
277
|
-
- Package class: `core framework package`.
|
|
278
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
279
|
-
- `tigrbl_client` modules: `_crud, _nested_crud, _rpc`.
|
|
335
|
+
### Call REST endpoints
|
|
280
336
|
|
|
281
|
-
|
|
337
|
+
```python
|
|
338
|
+
from tigrbl_client import TigrblClient
|
|
282
339
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
340
|
+
with TigrblClient("https://api.example.com") as client:
|
|
341
|
+
item = client.get("/items/1")
|
|
342
|
+
created = client.post("/items", data={"name": "example"})
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
### Call JSON-RPC endpoints
|
|
346
|
+
|
|
347
|
+
```python
|
|
348
|
+
from tigrbl_client import TigrblClient
|
|
349
|
+
|
|
350
|
+
client = TigrblClient("https://api.example.com/rpc")
|
|
351
|
+
result = client.call("items.get", params={"id": 1})
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Use async helpers
|
|
355
|
+
|
|
356
|
+
```python
|
|
357
|
+
from tigrbl_client import TigrblClient
|
|
358
|
+
|
|
359
|
+
async with TigrblClient("https://api.example.com") as client:
|
|
360
|
+
item = await client.aget("/items/1")
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
## How To Choose This Package
|
|
364
|
+
|
|
365
|
+
Choose `tigrbl_client` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when you are building framework extensions or testing a specific internal boundary.
|
|
286
366
|
|
|
287
367
|
## Related Packages
|
|
288
368
|
|
|
289
369
|
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
370
|
+
- [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/)
|
|
371
|
+
|
|
372
|
+
## Documentation Links
|
|
373
|
+
|
|
374
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
375
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
376
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
377
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
378
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
379
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
380
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
290
381
|
|
|
291
|
-
##
|
|
382
|
+
## Support
|
|
292
383
|
|
|
293
|
-
-
|
|
294
|
-
-
|
|
295
|
-
-
|
|
296
|
-
- `docs/conformance/NEXT_STEPS.md`
|
|
297
|
-
- `docs/governance/DOC_POINTERS.md`
|
|
298
|
-
- `docs/developer/PACKAGE_CATALOG.md`
|
|
299
|
-
- `docs/developer/PACKAGE_LAYOUT.md`
|
|
384
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
385
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
386
|
+
- Repository: [pkgs/core/tigrbl_client](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_client).
|
|
300
387
|
|
|
301
388
|
## Package-local Boundary
|
|
302
389
|
|
|
303
|
-
This
|
|
304
|
-
Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
|
|
390
|
+
This README is the package-local distribution entry point for `tigrbl_client`. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.
|
|
305
391
|
|
|
306
392
|
## License
|
|
307
393
|
|
|
308
|
-
Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
394
|
+
Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
309
395
|
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrbl_client</h1>
|
|
3
|
+
<img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
|
|
4
|
+
<p><strong>Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation.</strong></p>
|
|
5
|
+
<a href="https://pypi.org/project/tigrbl_client/"><img src="https://img.shields.io/pypi/v/tigrbl_client?label=PyPI" alt="PyPI version for tigrbl_client"/></a>
|
|
6
|
+
<a href="https://pypi.org/project/tigrbl_client/"><img src="https://static.pepy.tech/badge/tigrbl_client" alt="Downloads for tigrbl_client"/></a>
|
|
7
|
+
<a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl_client"/></a>
|
|
8
|
+
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_client/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_client/README.md.svg?label=hits" alt="Repository hits for tigrbl_client README"/></a>
|
|
9
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
10
|
+
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl_client"/></a>
|
|
11
|
+
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl_client"/></a>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
## What is tigrbl_client?
|
|
15
|
+
|
|
16
|
+
Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation.
|
|
17
|
+
|
|
18
|
+
## Why use tigrbl_client?
|
|
19
|
+
|
|
20
|
+
Use it when a Python service or test suite needs a typed client for Tigrbl REST and JSON-RPC APIs.
|
|
21
|
+
|
|
22
|
+
## When should I install tigrbl_client?
|
|
23
|
+
|
|
24
|
+
Install it in consumers, integration tests, SDK adapters, and automation that calls an already-running Tigrbl service.
|
|
25
|
+
|
|
26
|
+
## Who is tigrbl_client for?
|
|
27
|
+
|
|
28
|
+
Client authors, API consumers, QA engineers, and service integration teams.
|
|
29
|
+
|
|
30
|
+
## Where does tigrbl_client fit?
|
|
31
|
+
|
|
32
|
+
`tigrbl_client` lives at `pkgs/core/tigrbl_client` and serves calling Tigrbl services from Python clients and tests.
|
|
33
|
+
|
|
34
|
+
## How does tigrbl_client work?
|
|
35
|
+
|
|
36
|
+
It wraps HTTP calls with sync and async helpers, optional API-key headers, REST CRUD helpers, JSON-RPC calls, and nested-resource helpers.
|
|
37
|
+
|
|
38
|
+
## Certification Status
|
|
39
|
+
|
|
40
|
+
- Package status: governed package in the `tigrbl/tigrbl` workspace.
|
|
41
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
42
|
+
- Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
|
|
43
|
+
- Local certification guard: `pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py` verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, `LICENSE`, and `NOTICE`.
|
|
44
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
45
|
+
|
|
46
|
+
## Install
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
uv add tigrbl_client
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pip install tigrbl_client
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Surface Coverage
|
|
57
|
+
|
|
58
|
+
| Surface | Value |
|
|
59
|
+
|---|---|
|
|
60
|
+
| PyPI package | [`tigrbl_client`](https://pypi.org/project/tigrbl_client/) |
|
|
61
|
+
| Repository path | [`pkgs/core/tigrbl_client`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_client) |
|
|
62
|
+
| Python import root | `tigrbl_client` |
|
|
63
|
+
| Console scripts | none declared |
|
|
64
|
+
| Entry points | none declared |
|
|
65
|
+
| Optional extras | none declared |
|
|
66
|
+
| Legal files | `LICENSE`, `NOTICE` |
|
|
67
|
+
| Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
|
|
68
|
+
|
|
69
|
+
## What It Owns
|
|
70
|
+
|
|
71
|
+
`tigrbl_client` owns the `client package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
|
|
72
|
+
|
|
73
|
+
Implementation orientation:
|
|
74
|
+
- `tigrbl_client`: _crud, _nested_crud, _rpc
|
|
75
|
+
|
|
76
|
+
## Public API and Import Surface
|
|
77
|
+
|
|
78
|
+
- Import roots: `tigrbl_client`.
|
|
79
|
+
- Public symbols: `NestedCRUDMixin`, `TigrblClient`, `_Schema`.
|
|
80
|
+
- Workspace dependencies: none declared.
|
|
81
|
+
- External runtime dependencies: `fastapi>=0.100.0`, `pydantic>=2.0.0`.
|
|
82
|
+
|
|
83
|
+
## Usage Examples
|
|
84
|
+
|
|
85
|
+
### Verify the installed package
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
python -m pip show tigrbl_client
|
|
89
|
+
python - <<'PY'
|
|
90
|
+
from importlib.metadata import version
|
|
91
|
+
print(version("tigrbl_client"))
|
|
92
|
+
PY
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Call REST endpoints
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
from tigrbl_client import TigrblClient
|
|
99
|
+
|
|
100
|
+
with TigrblClient("https://api.example.com") as client:
|
|
101
|
+
item = client.get("/items/1")
|
|
102
|
+
created = client.post("/items", data={"name": "example"})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Call JSON-RPC endpoints
|
|
106
|
+
|
|
107
|
+
```python
|
|
108
|
+
from tigrbl_client import TigrblClient
|
|
109
|
+
|
|
110
|
+
client = TigrblClient("https://api.example.com/rpc")
|
|
111
|
+
result = client.call("items.get", params={"id": 1})
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Use async helpers
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
from tigrbl_client import TigrblClient
|
|
118
|
+
|
|
119
|
+
async with TigrblClient("https://api.example.com") as client:
|
|
120
|
+
item = await client.aget("/items/1")
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## How To Choose This Package
|
|
124
|
+
|
|
125
|
+
Choose `tigrbl_client` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when you are building framework extensions or testing a specific internal boundary.
|
|
126
|
+
|
|
127
|
+
## Related Packages
|
|
128
|
+
|
|
129
|
+
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
130
|
+
- [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/)
|
|
131
|
+
|
|
132
|
+
## Documentation Links
|
|
133
|
+
|
|
134
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
135
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
136
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
137
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
138
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
139
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
140
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
141
|
+
|
|
142
|
+
## Support
|
|
143
|
+
|
|
144
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
145
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
146
|
+
- Repository: [pkgs/core/tigrbl_client](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_client).
|
|
147
|
+
|
|
148
|
+
## Package-local Boundary
|
|
149
|
+
|
|
150
|
+
This README is the package-local distribution entry point for `tigrbl_client`. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.
|
|
151
|
+
|
|
152
|
+
## License
|
|
153
|
+
|
|
154
|
+
Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tigrbl_client"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.3.dev4"
|
|
4
4
|
description = "Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>tigrbl_client</h1>
|
|
3
|
-
<img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
|
|
4
|
-
<p><strong>Typed Python client for Tigrbl REST and JSON-RPC APIs with sync and async calls, nested resource helpers, and optional Pydantic validation.</strong></p>
|
|
5
|
-
<a href="https://pypi.org/project/tigrbl_client/"><img src="https://img.shields.io/pypi/v/tigrbl_client?label=PyPI" alt="PyPI version for tigrbl_client"/></a>
|
|
6
|
-
<a href="https://pypi.org/project/tigrbl_client/"><img src="https://static.pepy.tech/badge/tigrbl_client" alt="Downloads for tigrbl_client"/></a>
|
|
7
|
-
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_client/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_client/README.md.svg?label=hits" alt="Repository hits for tigrbl_client README"/></a>
|
|
8
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
9
|
-
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl_client"/></a>
|
|
10
|
-
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl_client"/></a>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
## Install
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
uv add tigrbl_client
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pip install tigrbl_client
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## What It Owns
|
|
24
|
-
|
|
25
|
-
`tigrbl_client` owns the client boundary inside the split Python workspace. Key implementation roots include `tigrbl_client` with `_crud, _nested_crud, _rpc`.
|
|
26
|
-
|
|
27
|
-
## Use It When
|
|
28
|
-
|
|
29
|
-
Use `tigrbl_client` when you need a typed Python client for Tigrbl REST and JSON-RPC APIs without bringing in the full server-side framework surface.
|
|
30
|
-
|
|
31
|
-
## Public Surface
|
|
32
|
-
|
|
33
|
-
- `tigrbl_client` exposes `TypeVar, RPCMixin, _Schema, CRUDMixin, NestedCRUDMixin, TigrblClient`.
|
|
34
|
-
|
|
35
|
-
## Internal Layout
|
|
36
|
-
|
|
37
|
-
- Workspace path: `pkgs/core/tigrbl_client`.
|
|
38
|
-
- Package class: `core framework package`.
|
|
39
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
40
|
-
- `tigrbl_client` modules: `_crud, _nested_crud, _rpc`.
|
|
41
|
-
|
|
42
|
-
## Dependency Surface
|
|
43
|
-
|
|
44
|
-
- Workspace package dependencies: none declared.
|
|
45
|
-
- External runtime dependencies: `fastapi>=0.100.0`, `pydantic>=2.0.0`.
|
|
46
|
-
- Optional extras: none declared.
|
|
47
|
-
|
|
48
|
-
## Related Packages
|
|
49
|
-
|
|
50
|
-
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
51
|
-
|
|
52
|
-
## Canonical Repository Docs
|
|
53
|
-
|
|
54
|
-
- `docs/README.md`
|
|
55
|
-
- `docs/conformance/CURRENT_TARGET.md`
|
|
56
|
-
- `docs/conformance/CURRENT_STATE.md`
|
|
57
|
-
- `docs/conformance/NEXT_STEPS.md`
|
|
58
|
-
- `docs/governance/DOC_POINTERS.md`
|
|
59
|
-
- `docs/developer/PACKAGE_CATALOG.md`
|
|
60
|
-
- `docs/developer/PACKAGE_LAYOUT.md`
|
|
61
|
-
|
|
62
|
-
## Package-local Boundary
|
|
63
|
-
|
|
64
|
-
This file is a package-local distribution entry point.
|
|
65
|
-
Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
|
|
66
|
-
|
|
67
|
-
## License
|
|
68
|
-
|
|
69
|
-
Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|