sprintsolo-sally-db-client 0.1.45__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.
- sprintsolo_sally_db_client-0.1.45/PKG-INFO +17 -0
- sprintsolo_sally_db_client-0.1.45/README.md +9 -0
- sprintsolo_sally_db_client-0.1.45/pyproject.toml +18 -0
- sprintsolo_sally_db_client-0.1.45/setup.cfg +4 -0
- sprintsolo_sally_db_client-0.1.45/sprintsolo_sally_db_client.egg-info/PKG-INFO +17 -0
- sprintsolo_sally_db_client-0.1.45/sprintsolo_sally_db_client.egg-info/SOURCES.txt +95 -0
- sprintsolo_sally_db_client-0.1.45/sprintsolo_sally_db_client.egg-info/dependency_links.txt +1 -0
- sprintsolo_sally_db_client-0.1.45/sprintsolo_sally_db_client.egg-info/top_level.txt +1 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/__init__.py +63 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/__main__.py +6 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_async_http.py +68 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_base_client.py +543 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_builder.py +878 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_compat.py +369 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_config.py +128 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_constants.py +21 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_fields.py +198 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_metrics.py +49 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_proxy.py +49 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_raw_query.py +194 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_registry.py +54 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_sync_http.py +65 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_transactions.py +224 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_types.py +97 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_typing.py +10 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_vendor/__init__.py +0 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_vendor/lark_schema_parser.py +3484 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/_vendor/lark_schema_scan_parser.py +3484 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/actions.py +36232 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/bases.py +426 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/binaries/__init__.py +3 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/binaries/constants.py +11 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/binaries/platform.py +71 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/__init__.py +2 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/_node.py +410 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/cli.py +97 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/commands/__init__.py +0 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/commands/dev.py +47 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/commands/fetch.py +21 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/commands/generate.py +84 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/commands/version.py +48 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/custom.py +12 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/options.py +26 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/prisma.py +116 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/cli/utils.py +166 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/client.py +4396 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/__init__.py +18 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/_abstract.py +178 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/_http.py +235 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/_query.py +459 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/abstract.py +47 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/errors.py +75 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/http.py +7 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/query.py +7 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/engine/utils.py +185 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/enums.py +121 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/errors.py +193 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/fields.py +1 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/__init__.py +5 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/_dsl_parser/__init__.py +1 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/_dsl_parser/parser.py +87 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/_dsl_parser/transformer.py +48 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/errors.py +9 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/filters.py +8 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/generator.py +305 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/jsonrpc.py +111 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/models.py +1199 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/schema.py +211 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/_header.py.jinja +48 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/_pragma.py.jinja +3 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/_utils.py.jinja +32 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/actions.py.jinja +1069 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/bases.py.jinja +51 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/client.py.jinja +447 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/engine/abstract.py.jinja +16 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/engine/http.py.jinja +13 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/engine/query.py.jinja +13 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/enums.py.jinja +12 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/http.py.jinja +17 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/metadata.py.jinja +23 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/models.py.jinja +226 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/partials.py.jinja +47 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/templates/types.py.jinja +782 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/types.py +23 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/generator/utils.py +170 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/http.py +45 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/http_abstract.py +125 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/metadata.py +209 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/models.py +8583 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/mypy.py +381 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/partials.py +51 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/py.typed +1 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/schema.prisma +1050 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/testing.py +35 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/types.py +160125 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/utils.py +141 -0
- sprintsolo_sally_db_client-0.1.45/src/sprintsolo_sally_db_client/validator.py +99 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sprintsolo-sally-db-client
|
|
3
|
+
Version: 0.1.45
|
|
4
|
+
Summary: Prisma Python client for organization services (generated in central repo)
|
|
5
|
+
License: UNLICENSED
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
|
|
9
|
+
# sprintsolo-sally-db-client
|
|
10
|
+
|
|
11
|
+
Internal Prisma Python client published by the central backend repo.
|
|
12
|
+
|
|
13
|
+
Usage:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install sprintsolo-sally-db-client --index-url <your-private-pypi>
|
|
17
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sprintsolo-sally-db-client"
|
|
3
|
+
version = "0.1.45"
|
|
4
|
+
description = "Prisma Python client for organization services (generated in central repo)"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = {text = "UNLICENSED"}
|
|
7
|
+
requires-python = ">=3.11"
|
|
8
|
+
|
|
9
|
+
[build-system]
|
|
10
|
+
requires = ["setuptools", "wheel"]
|
|
11
|
+
build-backend = "setuptools.build_meta"
|
|
12
|
+
|
|
13
|
+
[tool.setuptools]
|
|
14
|
+
package-dir = {"sprintsolo_sally_db_client" = "src/sprintsolo_sally_db_client"}
|
|
15
|
+
packages = ["sprintsolo_sally_db_client"]
|
|
16
|
+
|
|
17
|
+
[tool.setuptools.package-data]
|
|
18
|
+
sprintsolo_sally_db_client = ["**/*"]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sprintsolo-sally-db-client
|
|
3
|
+
Version: 0.1.45
|
|
4
|
+
Summary: Prisma Python client for organization services (generated in central repo)
|
|
5
|
+
License: UNLICENSED
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
|
|
9
|
+
# sprintsolo-sally-db-client
|
|
10
|
+
|
|
11
|
+
Internal Prisma Python client published by the central backend repo.
|
|
12
|
+
|
|
13
|
+
Usage:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install sprintsolo-sally-db-client --index-url <your-private-pypi>
|
|
17
|
+
```
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
sprintsolo_sally_db_client.egg-info/PKG-INFO
|
|
4
|
+
sprintsolo_sally_db_client.egg-info/SOURCES.txt
|
|
5
|
+
sprintsolo_sally_db_client.egg-info/dependency_links.txt
|
|
6
|
+
sprintsolo_sally_db_client.egg-info/top_level.txt
|
|
7
|
+
src/sprintsolo_sally_db_client/__init__.py
|
|
8
|
+
src/sprintsolo_sally_db_client/__main__.py
|
|
9
|
+
src/sprintsolo_sally_db_client/_async_http.py
|
|
10
|
+
src/sprintsolo_sally_db_client/_base_client.py
|
|
11
|
+
src/sprintsolo_sally_db_client/_builder.py
|
|
12
|
+
src/sprintsolo_sally_db_client/_compat.py
|
|
13
|
+
src/sprintsolo_sally_db_client/_config.py
|
|
14
|
+
src/sprintsolo_sally_db_client/_constants.py
|
|
15
|
+
src/sprintsolo_sally_db_client/_fields.py
|
|
16
|
+
src/sprintsolo_sally_db_client/_metrics.py
|
|
17
|
+
src/sprintsolo_sally_db_client/_proxy.py
|
|
18
|
+
src/sprintsolo_sally_db_client/_raw_query.py
|
|
19
|
+
src/sprintsolo_sally_db_client/_registry.py
|
|
20
|
+
src/sprintsolo_sally_db_client/_sync_http.py
|
|
21
|
+
src/sprintsolo_sally_db_client/_transactions.py
|
|
22
|
+
src/sprintsolo_sally_db_client/_types.py
|
|
23
|
+
src/sprintsolo_sally_db_client/_typing.py
|
|
24
|
+
src/sprintsolo_sally_db_client/actions.py
|
|
25
|
+
src/sprintsolo_sally_db_client/bases.py
|
|
26
|
+
src/sprintsolo_sally_db_client/client.py
|
|
27
|
+
src/sprintsolo_sally_db_client/enums.py
|
|
28
|
+
src/sprintsolo_sally_db_client/errors.py
|
|
29
|
+
src/sprintsolo_sally_db_client/fields.py
|
|
30
|
+
src/sprintsolo_sally_db_client/http.py
|
|
31
|
+
src/sprintsolo_sally_db_client/http_abstract.py
|
|
32
|
+
src/sprintsolo_sally_db_client/metadata.py
|
|
33
|
+
src/sprintsolo_sally_db_client/models.py
|
|
34
|
+
src/sprintsolo_sally_db_client/mypy.py
|
|
35
|
+
src/sprintsolo_sally_db_client/partials.py
|
|
36
|
+
src/sprintsolo_sally_db_client/py.typed
|
|
37
|
+
src/sprintsolo_sally_db_client/schema.prisma
|
|
38
|
+
src/sprintsolo_sally_db_client/testing.py
|
|
39
|
+
src/sprintsolo_sally_db_client/types.py
|
|
40
|
+
src/sprintsolo_sally_db_client/utils.py
|
|
41
|
+
src/sprintsolo_sally_db_client/validator.py
|
|
42
|
+
src/sprintsolo_sally_db_client/_vendor/__init__.py
|
|
43
|
+
src/sprintsolo_sally_db_client/_vendor/lark_schema_parser.py
|
|
44
|
+
src/sprintsolo_sally_db_client/_vendor/lark_schema_scan_parser.py
|
|
45
|
+
src/sprintsolo_sally_db_client/binaries/__init__.py
|
|
46
|
+
src/sprintsolo_sally_db_client/binaries/constants.py
|
|
47
|
+
src/sprintsolo_sally_db_client/binaries/platform.py
|
|
48
|
+
src/sprintsolo_sally_db_client/cli/__init__.py
|
|
49
|
+
src/sprintsolo_sally_db_client/cli/_node.py
|
|
50
|
+
src/sprintsolo_sally_db_client/cli/cli.py
|
|
51
|
+
src/sprintsolo_sally_db_client/cli/custom.py
|
|
52
|
+
src/sprintsolo_sally_db_client/cli/options.py
|
|
53
|
+
src/sprintsolo_sally_db_client/cli/prisma.py
|
|
54
|
+
src/sprintsolo_sally_db_client/cli/utils.py
|
|
55
|
+
src/sprintsolo_sally_db_client/cli/commands/__init__.py
|
|
56
|
+
src/sprintsolo_sally_db_client/cli/commands/dev.py
|
|
57
|
+
src/sprintsolo_sally_db_client/cli/commands/fetch.py
|
|
58
|
+
src/sprintsolo_sally_db_client/cli/commands/generate.py
|
|
59
|
+
src/sprintsolo_sally_db_client/cli/commands/version.py
|
|
60
|
+
src/sprintsolo_sally_db_client/engine/__init__.py
|
|
61
|
+
src/sprintsolo_sally_db_client/engine/_abstract.py
|
|
62
|
+
src/sprintsolo_sally_db_client/engine/_http.py
|
|
63
|
+
src/sprintsolo_sally_db_client/engine/_query.py
|
|
64
|
+
src/sprintsolo_sally_db_client/engine/abstract.py
|
|
65
|
+
src/sprintsolo_sally_db_client/engine/errors.py
|
|
66
|
+
src/sprintsolo_sally_db_client/engine/http.py
|
|
67
|
+
src/sprintsolo_sally_db_client/engine/query.py
|
|
68
|
+
src/sprintsolo_sally_db_client/engine/utils.py
|
|
69
|
+
src/sprintsolo_sally_db_client/generator/__init__.py
|
|
70
|
+
src/sprintsolo_sally_db_client/generator/errors.py
|
|
71
|
+
src/sprintsolo_sally_db_client/generator/filters.py
|
|
72
|
+
src/sprintsolo_sally_db_client/generator/generator.py
|
|
73
|
+
src/sprintsolo_sally_db_client/generator/jsonrpc.py
|
|
74
|
+
src/sprintsolo_sally_db_client/generator/models.py
|
|
75
|
+
src/sprintsolo_sally_db_client/generator/schema.py
|
|
76
|
+
src/sprintsolo_sally_db_client/generator/types.py
|
|
77
|
+
src/sprintsolo_sally_db_client/generator/utils.py
|
|
78
|
+
src/sprintsolo_sally_db_client/generator/_dsl_parser/__init__.py
|
|
79
|
+
src/sprintsolo_sally_db_client/generator/_dsl_parser/parser.py
|
|
80
|
+
src/sprintsolo_sally_db_client/generator/_dsl_parser/transformer.py
|
|
81
|
+
src/sprintsolo_sally_db_client/generator/templates/_header.py.jinja
|
|
82
|
+
src/sprintsolo_sally_db_client/generator/templates/_pragma.py.jinja
|
|
83
|
+
src/sprintsolo_sally_db_client/generator/templates/_utils.py.jinja
|
|
84
|
+
src/sprintsolo_sally_db_client/generator/templates/actions.py.jinja
|
|
85
|
+
src/sprintsolo_sally_db_client/generator/templates/bases.py.jinja
|
|
86
|
+
src/sprintsolo_sally_db_client/generator/templates/client.py.jinja
|
|
87
|
+
src/sprintsolo_sally_db_client/generator/templates/enums.py.jinja
|
|
88
|
+
src/sprintsolo_sally_db_client/generator/templates/http.py.jinja
|
|
89
|
+
src/sprintsolo_sally_db_client/generator/templates/metadata.py.jinja
|
|
90
|
+
src/sprintsolo_sally_db_client/generator/templates/models.py.jinja
|
|
91
|
+
src/sprintsolo_sally_db_client/generator/templates/partials.py.jinja
|
|
92
|
+
src/sprintsolo_sally_db_client/generator/templates/types.py.jinja
|
|
93
|
+
src/sprintsolo_sally_db_client/generator/templates/engine/abstract.py.jinja
|
|
94
|
+
src/sprintsolo_sally_db_client/generator/templates/engine/http.py.jinja
|
|
95
|
+
src/sprintsolo_sally_db_client/generator/templates/engine/query.py.jinja
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sprintsolo_sally_db_client
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
__title__ = 'prisma'
|
|
4
|
+
__author__ = 'RobertCraigie'
|
|
5
|
+
__license__ = 'APACHE'
|
|
6
|
+
__copyright__ = 'Copyright 2020-2023 RobertCraigie'
|
|
7
|
+
__version__ = '0.15.0'
|
|
8
|
+
|
|
9
|
+
from typing import TYPE_CHECKING
|
|
10
|
+
|
|
11
|
+
from . import errors as errors
|
|
12
|
+
from .utils import setup_logging
|
|
13
|
+
from ._types import PrismaMethod as PrismaMethod
|
|
14
|
+
from ._config import config as config
|
|
15
|
+
from ._metrics import (
|
|
16
|
+
Metric as Metric,
|
|
17
|
+
Metrics as Metrics,
|
|
18
|
+
MetricHistogram as MetricHistogram,
|
|
19
|
+
)
|
|
20
|
+
from .validator import *
|
|
21
|
+
|
|
22
|
+
# the import ordering is important here because
|
|
23
|
+
# we rely on the fact that `prisma/client.py` is the
|
|
24
|
+
# first piece of generated code that is loaded. This is
|
|
25
|
+
# especially useful for `python -m prisma_cleanup`
|
|
26
|
+
try:
|
|
27
|
+
from .client import * # noqa: I001, TID251
|
|
28
|
+
from .fields import * # noqa: TID251
|
|
29
|
+
from . import (
|
|
30
|
+
bases as bases, # noqa: TID251
|
|
31
|
+
types as types, # noqa: TID251
|
|
32
|
+
models as models, # noqa: TID251
|
|
33
|
+
partials as partials, # noqa: TID251
|
|
34
|
+
)
|
|
35
|
+
except ModuleNotFoundError:
|
|
36
|
+
# code has not been generated yet
|
|
37
|
+
# TODO: this could swallow unexpected errors
|
|
38
|
+
|
|
39
|
+
# we only define this magic function when the client has not
|
|
40
|
+
# been generated for performance reasons and we hide it from
|
|
41
|
+
# type checkers so that they don't incidentally disable type
|
|
42
|
+
# checking due to the dynamic nature of the `__getattr__`
|
|
43
|
+
# magic dunder method.
|
|
44
|
+
if not TYPE_CHECKING:
|
|
45
|
+
|
|
46
|
+
def __getattr__(name: str):
|
|
47
|
+
try:
|
|
48
|
+
return globals()[name]
|
|
49
|
+
except KeyError as err:
|
|
50
|
+
# TODO: support checking for 'models' here too
|
|
51
|
+
if name in {'Prisma', 'Client'}:
|
|
52
|
+
# TODO: remove this frame from the stack trace
|
|
53
|
+
raise RuntimeError(
|
|
54
|
+
"The Client hasn't been generated yet, "
|
|
55
|
+
'you must run `prisma generate` before you can use the client.\n'
|
|
56
|
+
'See https://prisma-client-py.readthedocs.io/en/stable/reference/troubleshooting/#client-has-not-been-generated-yet'
|
|
57
|
+
) from None
|
|
58
|
+
|
|
59
|
+
# leaves handling of this potential error to Python as per PEP 562
|
|
60
|
+
raise AttributeError() from err
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
setup_logging()
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from typing import Any
|
|
3
|
+
from typing_extensions import override
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from ._types import Method
|
|
8
|
+
from .http_abstract import AbstractHTTP, AbstractResponse
|
|
9
|
+
|
|
10
|
+
__all__ = ('HTTP', 'AsyncHTTP', 'Response', 'client')
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AsyncHTTP(AbstractHTTP[httpx.AsyncClient, httpx.Response]):
|
|
14
|
+
session: httpx.AsyncClient
|
|
15
|
+
|
|
16
|
+
@override
|
|
17
|
+
async def download(self, url: str, dest: str) -> None:
|
|
18
|
+
async with self.session.stream('GET', url, timeout=None) as resp:
|
|
19
|
+
resp.raise_for_status()
|
|
20
|
+
with open(dest, 'wb') as fd:
|
|
21
|
+
async for chunk in resp.aiter_bytes():
|
|
22
|
+
fd.write(chunk)
|
|
23
|
+
|
|
24
|
+
@override
|
|
25
|
+
async def request(self, method: Method, url: str, **kwargs: Any) -> 'Response':
|
|
26
|
+
return Response(await self.session.request(method, url, **kwargs))
|
|
27
|
+
|
|
28
|
+
@override
|
|
29
|
+
def open(self) -> None:
|
|
30
|
+
self.session = httpx.AsyncClient(**self.session_kwargs)
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
async def close(self) -> None:
|
|
34
|
+
if self.should_close():
|
|
35
|
+
await self.session.aclose()
|
|
36
|
+
|
|
37
|
+
# mypy doesn't like us assigning None as the type of
|
|
38
|
+
# session is not optional, however the argument that
|
|
39
|
+
# the setter takes is optional, so this is fine
|
|
40
|
+
self.session = None # type: ignore[assignment]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
HTTP = AsyncHTTP
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
client: HTTP = HTTP()
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class Response(AbstractResponse[httpx.Response]):
|
|
50
|
+
__slots__ = ()
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
@override
|
|
54
|
+
def status(self) -> int:
|
|
55
|
+
return self.original.status_code
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
@override
|
|
59
|
+
def headers(self) -> httpx.Headers:
|
|
60
|
+
return self.original.headers
|
|
61
|
+
|
|
62
|
+
@override
|
|
63
|
+
async def json(self, **kwargs: Any) -> Any:
|
|
64
|
+
return json.loads(await self.original.aread(), **kwargs)
|
|
65
|
+
|
|
66
|
+
@override
|
|
67
|
+
async def text(self, **kwargs: Any) -> str:
|
|
68
|
+
return ''.join([part async for part in self.original.aiter_text(**kwargs)])
|