sg-python-api 0.1.2__tar.gz → 0.2.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.
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/PKG-INFO +21 -24
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/README.md +15 -18
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/pyproject.toml +10 -13
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/__init__.py +4 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_async_client.py +347 -281
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_async_driver.py +25 -55
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_async_httpx2.py +92 -59
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_async_transport.py +38 -3
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_capabilities.py +4 -3
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_client.py +296 -422
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_config.py +245 -120
- sg_python_api-0.2.0/src/shotgun_api3/_connections.py +144 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_crud.py +25 -250
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_driver.py +29 -54
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_execution.py +1 -3
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_files.py +193 -21
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_methods.py +59 -411
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_protocol.py +27 -53
- sg_python_api-0.2.0/src/shotgun_api3/_transport.py +576 -0
- sg_python_api-0.2.0/src/shotgun_api3/_version.py +8 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/__init__.py +29 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_activity.py +510 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_async_client.py +196 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_dates.py +164 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_errors.py +18 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_events.py +1031 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_follows.py +217 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_handlers.py +558 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_links.py +440 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_new_client.py +92 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_presets.py +492 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_query.py +2163 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_retirement.py +368 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_schema.py +172 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_schema_writes.py +425 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_search.py +378 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_server.py +169 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_sessions.py +206 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_site.py +150 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_site_data.py +584 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_storage.py +208 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_store.py +1446 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_summaries.py +964 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_sync_client.py +190 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_threads.py +226 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_thumbnails.py +146 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_transport.py +145 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_uploads.py +417 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/_wire.py +120 -0
- sg_python_api-0.2.0/src/shotgun_api3/lib/mockgun/mockgun.py +14 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/lib/sgtimezone.py +24 -1
- sg_python_api-0.1.2/COMPATIBILITY.md +0 -285
- sg_python_api-0.1.2/Makefile +0 -89
- sg_python_api-0.1.2/docs/benchmarks.md +0 -116
- sg_python_api-0.1.2/docs/development.md +0 -203
- sg_python_api-0.1.2/docs/migration-guide.md +0 -87
- sg_python_api-0.1.2/docs/testing.md +0 -119
- sg_python_api-0.1.2/examples/async_client.py +0 -116
- sg_python_api-0.1.2/examples/sync_client.py +0 -118
- sg_python_api-0.1.2/scripts/_artifact_evidence.py +0 -204
- sg_python_api-0.1.2/scripts/_conformance_runtime.py +0 -520
- sg_python_api-0.1.2/scripts/_conformance_setup.py +0 -532
- sg_python_api-0.1.2/scripts/_sdist_contract.py +0 -372
- sg_python_api-0.1.2/scripts/benchmark.py +0 -3302
- sg_python_api-0.1.2/scripts/bootstrap_test_site.py +0 -128
- sg_python_api-0.1.2/scripts/probe_wire.py +0 -2467
- sg_python_api-0.1.2/scripts/run_conformance.sh +0 -377
- sg_python_api-0.1.2/scripts/run_installed_tests.py +0 -524
- sg_python_api-0.1.2/scripts/validate_artifacts.sh +0 -344
- sg_python_api-0.1.2/src/shotgun_api3/_signatures.py +0 -53
- sg_python_api-0.1.2/src/shotgun_api3/_transport.py +0 -901
- sg_python_api-0.1.2/src/shotgun_api3/_version.py +0 -3
- sg_python_api-0.1.2/src/shotgun_api3/lib/mockgun/__init__.py +0 -16
- sg_python_api-0.1.2/src/shotgun_api3/lib/mockgun/_async.py +0 -315
- sg_python_api-0.1.2/src/shotgun_api3/lib/mockgun/_mockgun.py +0 -1666
- sg_python_api-0.1.2/tests/__init__.py +0 -0
- sg_python_api-0.1.2/tests/_git.py +0 -6
- sg_python_api-0.1.2/tests/_loopback.py +0 -25
- sg_python_api-0.1.2/tests/_pyright.py +0 -23
- sg_python_api-0.1.2/tests/_required_mode.py +0 -68
- sg_python_api-0.1.2/tests/_transports.py +0 -131
- sg_python_api-0.1.2/tests/client/__init__.py +0 -0
- sg_python_api-0.1.2/tests/client/test_activity.py +0 -509
- sg_python_api-0.1.2/tests/client/test_async.py +0 -2534
- sg_python_api-0.1.2/tests/client/test_auth_methods.py +0 -431
- sg_python_api-0.1.2/tests/client/test_crud.py +0 -1316
- sg_python_api-0.1.2/tests/client/test_filters.py +0 -262
- sg_python_api-0.1.2/tests/client/test_misc_methods.py +0 -827
- sg_python_api-0.1.2/tests/client/test_nav.py +0 -276
- sg_python_api-0.1.2/tests/client/test_schema.py +0 -388
- sg_python_api-0.1.2/tests/client/test_summarize_search.py +0 -380
- sg_python_api-0.1.2/tests/client/test_sync.py +0 -1787
- sg_python_api-0.1.2/tests/conftest.py +0 -124
- sg_python_api-0.1.2/tests/files/__init__.py +0 -0
- sg_python_api-0.1.2/tests/files/test_async.py +0 -2217
- sg_python_api-0.1.2/tests/files/test_cookie_handler.py +0 -221
- sg_python_api-0.1.2/tests/files/test_downloads.py +0 -993
- sg_python_api-0.1.2/tests/files/test_upload_routing.py +0 -65
- sg_python_api-0.1.2/tests/files/test_uploads.py +0 -1684
- sg_python_api-0.1.2/tests/fixtures/activity_stream_read.json +0 -40
- sg_python_api-0.1.2/tests/fixtures/batch.json +0 -52
- sg_python_api-0.1.2/tests/fixtures/create.json +0 -49
- sg_python_api-0.1.2/tests/fixtures/fault_bad_auth.json +0 -46
- sg_python_api-0.1.2/tests/fixtures/following.json +0 -38
- sg_python_api-0.1.2/tests/fixtures/get_session_token.json +0 -32
- sg_python_api-0.1.2/tests/fixtures/info.json +0 -27
- sg_python_api-0.1.2/tests/fixtures/nav_expand.json +0 -35
- sg_python_api-0.1.2/tests/fixtures/nav_search_entity.json +0 -42
- sg_python_api-0.1.2/tests/fixtures/nav_search_string.json +0 -39
- sg_python_api-0.1.2/tests/fixtures/note_thread_read.json +0 -35
- sg_python_api-0.1.2/tests/fixtures/preferences_read.json +0 -35
- sg_python_api-0.1.2/tests/fixtures/read.json +0 -46
- sg_python_api-0.1.2/tests/fixtures/schema_entity_read.json +0 -32
- sg_python_api-0.1.2/tests/fixtures/schema_read.json +0 -32
- sg_python_api-0.1.2/tests/fixtures/summarize.json +0 -45
- sg_python_api-0.1.2/tests/fixtures/text_search.json +0 -43
- sg_python_api-0.1.2/tests/fixtures/update_project_last_accessed.json +0 -36
- sg_python_api-0.1.2/tests/fixtures/user_subscriptions_read.json +0 -32
- sg_python_api-0.1.2/tests/fixtures/work_schedule_read.json +0 -36
- sg_python_api-0.1.2/tests/lib/__init__.py +0 -0
- sg_python_api-0.1.2/tests/lib/conftest.py +0 -151
- sg_python_api-0.1.2/tests/lib/test_mockgun_async.py +0 -252
- sg_python_api-0.1.2/tests/lib/test_mockgun_crud.py +0 -733
- sg_python_api-0.1.2/tests/lib/test_mockgun_find.py +0 -1357
- sg_python_api-0.1.2/tests/lib/test_mockgun_schema.py +0 -394
- sg_python_api-0.1.2/tests/lib/test_sgtimezone.py +0 -311
- sg_python_api-0.1.2/tests/live/__init__.py +0 -0
- sg_python_api-0.1.2/tests/live/conftest.py +0 -197
- sg_python_api-0.1.2/tests/live/test_async.py +0 -405
- sg_python_api-0.1.2/tests/live/test_methods.py +0 -306
- sg_python_api-0.1.2/tests/live/test_roundtrip.py +0 -176
- sg_python_api-0.1.2/tests/test_config.py +0 -1714
- sg_python_api-0.1.2/tests/test_datetimes.py +0 -303
- sg_python_api-0.1.2/tests/test_errors.py +0 -19
- sg_python_api-0.1.2/tests/test_examples.py +0 -362
- sg_python_api-0.1.2/tests/test_init.py +0 -311
- sg_python_api-0.1.2/tests/test_parity.py +0 -1610
- sg_python_api-0.1.2/tests/test_project_metadata.py +0 -34
- sg_python_api-0.1.2/tests/test_signature_parity.py +0 -232
- sg_python_api-0.1.2/tests/tooling/__init__.py +0 -0
- sg_python_api-0.1.2/tests/tooling/_wire_replay.py +0 -216
- sg_python_api-0.1.2/tests/tooling/test_artifact_evidence.py +0 -382
- sg_python_api-0.1.2/tests/tooling/test_benchmark.py +0 -4999
- sg_python_api-0.1.2/tests/tooling/test_conformance_runtime.py +0 -563
- sg_python_api-0.1.2/tests/tooling/test_conformance_setup.py +0 -348
- sg_python_api-0.1.2/tests/tooling/test_required_mode.py +0 -698
- sg_python_api-0.1.2/tests/tooling/test_run_conformance.py +0 -723
- sg_python_api-0.1.2/tests/tooling/test_run_installed_tests.py +0 -615
- sg_python_api-0.1.2/tests/tooling/test_validate_artifacts.py +0 -1171
- sg_python_api-0.1.2/tests/tooling/test_wire_fixtures.py +0 -2033
- sg_python_api-0.1.2/tests/transport/__init__.py +0 -0
- sg_python_api-0.1.2/tests/transport/test_abort.py +0 -406
- sg_python_api-0.1.2/tests/transport/test_async.py +0 -278
- sg_python_api-0.1.2/tests/transport/test_async_driver.py +0 -2379
- sg_python_api-0.1.2/tests/transport/test_async_httpx2.py +0 -1483
- sg_python_api-0.1.2/tests/transport/test_async_prefetch.py +0 -428
- sg_python_api-0.1.2/tests/transport/test_driver.py +0 -1761
- sg_python_api-0.1.2/tests/transport/test_prefetch.py +0 -1214
- sg_python_api-0.1.2/tests/transport/test_protocol.py +0 -640
- sg_python_api-0.1.2/tests/transport/test_retry_policy.py +0 -775
- sg_python_api-0.1.2/tests/transport/test_streaming.py +0 -604
- sg_python_api-0.1.2/tests/transport/test_sync.py +0 -301
- sg_python_api-0.1.2/tests/transport/test_urllib3.py +0 -336
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/.gitignore +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/LICENSE +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_errors.py +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_sentinel.py +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/_sg_timezone.py +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/lib/__init__.py +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/py.typed +0 -0
- {sg_python_api-0.1.2 → sg_python_api-0.2.0}/src/shotgun_api3/shotgun.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sg-python-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Python client for Autodesk Flow Production Tracking
|
|
5
5
|
Project-URL: Documentation, https://github.com/dactylo/sg-python-api/tree/main/docs
|
|
6
6
|
Project-URL: Homepage, https://github.com/dactylo/sg-python-api
|
|
@@ -44,9 +44,9 @@ This documentation uses SG for Flow Production Tracking, formerly named Shotgun
|
|
|
44
44
|
for application tests.
|
|
45
45
|
|
|
46
46
|
sg-python-api is an independent implementation of the documented API of Autodesk's Python client
|
|
47
|
-
`3.10.
|
|
48
|
-
site before replacing its production client. The [migration guide](https://github.com/dactylo/sg-python-api/blob/v0.
|
|
49
|
-
through the switch, and the [compatibility reference](https://github.com/dactylo/sg-python-api/blob/v0.
|
|
47
|
+
`3.10.5`. Some behavior differs on purpose, so validate your application's workflows against a test
|
|
48
|
+
site before replacing its production client. The [migration guide](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/migration-guide.md) walks
|
|
49
|
+
through the switch, and the [compatibility reference](https://github.com/dactylo/sg-python-api/blob/v0.2.0/COMPATIBILITY.md) lists the differences.
|
|
50
50
|
|
|
51
51
|
## Installation
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@ requests to a remote site require HTTPS.
|
|
|
55
55
|
|
|
56
56
|
`sg-python-api` and Autodesk's `shotgun-api3` both install the `shotgun_api3` package, so install
|
|
57
57
|
exactly one of them in a Python environment. If the official client is already installed, follow
|
|
58
|
-
the [migration steps](https://github.com/dactylo/sg-python-api/blob/v0.
|
|
58
|
+
the [migration steps](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/migration-guide.md#install-the-replacement) to replace it.
|
|
59
59
|
|
|
60
60
|
From a checkout, install into the Python environment that runs your application:
|
|
61
61
|
|
|
@@ -126,39 +126,36 @@ asyncio.run(main())
|
|
|
126
126
|
```
|
|
127
127
|
|
|
128
128
|
The output matches the synchronous example. The `async with` block closes the client even when an
|
|
129
|
-
operation fails.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
task. A cancelled write may already have reached the server, so check its outcome before repeating
|
|
133
|
-
it. The [async reference](https://github.com/dactylo/sg-python-api/blob/v0.1.2/COMPATIBILITY.md#async-extension-surfaces) covers shutdown and
|
|
134
|
-
cancellation in detail.
|
|
129
|
+
operation fails. Share an `AsyncShotgun` only among tasks on one event loop. See the
|
|
130
|
+
[async reference](https://github.com/dactylo/sg-python-api/blob/v0.2.0/COMPATIBILITY.md#async-extension-surfaces) for lifecycle and cancellation
|
|
131
|
+
details.
|
|
135
132
|
|
|
136
133
|
## Documentation
|
|
137
134
|
|
|
138
|
-
| If you want to...
|
|
139
|
-
|
|
|
140
|
-
| Replace Autodesk's client in an existing application
|
|
141
|
-
| Check what behaves differently from Autodesk's client
|
|
142
|
-
| Tune pooling
|
|
143
|
-
| Confirm which client loads and run a smoke test
|
|
144
|
-
| Compare measured latency and transfer memory
|
|
145
|
-
| See changes by version
|
|
135
|
+
| If you want to... | Read |
|
|
136
|
+
| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
|
|
137
|
+
| Replace Autodesk's client in an existing application | [Migration guide](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/migration-guide.md) |
|
|
138
|
+
| Check what behaves differently from Autodesk's client | [Compatibility](https://github.com/dactylo/sg-python-api/blob/v0.2.0/COMPATIBILITY.md) |
|
|
139
|
+
| Tune pooling, TCP keepalive, or page prefetch, or observe requests | [Configuration extensions](https://github.com/dactylo/sg-python-api/blob/v0.2.0/COMPATIBILITY.md#configuration-and-observer-extensions) |
|
|
140
|
+
| Confirm which client loads and run a smoke test | [Testing an installation](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/testing.md) |
|
|
141
|
+
| Compare measured latency and transfer memory | [Benchmarks](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/benchmarks.md) |
|
|
142
|
+
| See changes by version | [Changelog](https://github.com/dactylo/sg-python-api/blob/v0.2.0/CHANGELOG.md) |
|
|
146
143
|
|
|
147
144
|
## Development
|
|
148
145
|
|
|
149
|
-
See the [development guide](https://github.com/dactylo/sg-python-api/blob/v0.
|
|
146
|
+
See the [development guide](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/development.md) for the required tools, CI, and dependency locks.
|
|
150
147
|
With those tools installed, run:
|
|
151
148
|
|
|
152
149
|
```sh
|
|
153
150
|
make setup
|
|
154
|
-
make check
|
|
151
|
+
make check TEST_FLAGS="-m 'not live'"
|
|
155
152
|
```
|
|
156
153
|
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
See [live-site tests](https://github.com/dactylo/sg-python-api/blob/v0.2.0/docs/development.md#live-site-tests) to configure tests that create and
|
|
155
|
+
retire records on a disposable site.
|
|
159
156
|
|
|
160
157
|
## License
|
|
161
158
|
|
|
162
|
-
sg-python-api is available under the [MIT License](https://github.com/dactylo/sg-python-api/blob/v0.
|
|
159
|
+
sg-python-api is available under the [MIT License](https://github.com/dactylo/sg-python-api/blob/v0.2.0/LICENSE). It is an independent project and is
|
|
163
160
|
not affiliated with or endorsed by Autodesk. Flow Production Tracking is a product of Autodesk,
|
|
164
161
|
Inc.
|
|
@@ -20,7 +20,7 @@ This documentation uses SG for Flow Production Tracking, formerly named Shotgun
|
|
|
20
20
|
for application tests.
|
|
21
21
|
|
|
22
22
|
sg-python-api is an independent implementation of the documented API of Autodesk's Python client
|
|
23
|
-
`3.10.
|
|
23
|
+
`3.10.5`. Some behavior differs on purpose, so validate your application's workflows against a test
|
|
24
24
|
site before replacing its production client. The [migration guide](docs/migration-guide.md) walks
|
|
25
25
|
through the switch, and the [compatibility reference](COMPATIBILITY.md) lists the differences.
|
|
26
26
|
|
|
@@ -102,23 +102,20 @@ asyncio.run(main())
|
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
The output matches the synchronous example. The `async with` block closes the client even when an
|
|
105
|
-
operation fails.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
task. A cancelled write may already have reached the server, so check its outcome before repeating
|
|
109
|
-
it. The [async reference](COMPATIBILITY.md#async-extension-surfaces) covers shutdown and
|
|
110
|
-
cancellation in detail.
|
|
105
|
+
operation fails. Share an `AsyncShotgun` only among tasks on one event loop. See the
|
|
106
|
+
[async reference](COMPATIBILITY.md#async-extension-surfaces) for lifecycle and cancellation
|
|
107
|
+
details.
|
|
111
108
|
|
|
112
109
|
## Documentation
|
|
113
110
|
|
|
114
|
-
| If you want to...
|
|
115
|
-
|
|
|
116
|
-
| Replace Autodesk's client in an existing application
|
|
117
|
-
| Check what behaves differently from Autodesk's client
|
|
118
|
-
| Tune pooling
|
|
119
|
-
| Confirm which client loads and run a smoke test
|
|
120
|
-
| Compare measured latency and transfer memory
|
|
121
|
-
| See changes by version
|
|
111
|
+
| If you want to... | Read |
|
|
112
|
+
| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
|
|
113
|
+
| Replace Autodesk's client in an existing application | [Migration guide](docs/migration-guide.md) |
|
|
114
|
+
| Check what behaves differently from Autodesk's client | [Compatibility](COMPATIBILITY.md) |
|
|
115
|
+
| Tune pooling, TCP keepalive, or page prefetch, or observe requests | [Configuration extensions](COMPATIBILITY.md#configuration-and-observer-extensions) |
|
|
116
|
+
| Confirm which client loads and run a smoke test | [Testing an installation](docs/testing.md) |
|
|
117
|
+
| Compare measured latency and transfer memory | [Benchmarks](docs/benchmarks.md) |
|
|
118
|
+
| See changes by version | [Changelog](CHANGELOG.md) |
|
|
122
119
|
|
|
123
120
|
## Development
|
|
124
121
|
|
|
@@ -127,11 +124,11 @@ With those tools installed, run:
|
|
|
127
124
|
|
|
128
125
|
```sh
|
|
129
126
|
make setup
|
|
130
|
-
make check
|
|
127
|
+
make check TEST_FLAGS="-m 'not live'"
|
|
131
128
|
```
|
|
132
129
|
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
See [live-site tests](docs/development.md#live-site-tests) to configure tests that create and
|
|
131
|
+
retire records on a disposable site.
|
|
135
132
|
|
|
136
133
|
## License
|
|
137
134
|
|
|
@@ -10,7 +10,7 @@ requires = [ "editables~=0.3", "hatch-fancy-pypi-readme>=25.1", "hatchling>=1.27
|
|
|
10
10
|
# ==========================================================
|
|
11
11
|
[project]
|
|
12
12
|
name = "sg-python-api"
|
|
13
|
-
version = "0.
|
|
13
|
+
version = "0.2.0"
|
|
14
14
|
description = "Python client for Autodesk Flow Production Tracking"
|
|
15
15
|
keywords = [ "api", "flow-production-tracking", "shotgrid", "shotgun", "shotgun-api3" ]
|
|
16
16
|
license = "MIT"
|
|
@@ -50,6 +50,7 @@ dev = [
|
|
|
50
50
|
"pyproject-fmt",
|
|
51
51
|
"pyright",
|
|
52
52
|
"ruff",
|
|
53
|
+
"zizmor",
|
|
53
54
|
{ include-group = "test" },
|
|
54
55
|
]
|
|
55
56
|
test = [
|
|
@@ -67,13 +68,7 @@ metadata.hooks.fancy-pypi-readme.fragments = [ { path = "README.md" } ]
|
|
|
67
68
|
build.targets.wheel.packages = [ "src/shotgun_api3" ]
|
|
68
69
|
build.targets.sdist.include = [
|
|
69
70
|
"/README.md",
|
|
70
|
-
"/
|
|
71
|
-
"/docs/*.md",
|
|
72
|
-
"/examples/**",
|
|
73
|
-
"/Makefile",
|
|
74
|
-
"/scripts/**",
|
|
75
|
-
"/src/**",
|
|
76
|
-
"/tests/**",
|
|
71
|
+
"/src",
|
|
77
72
|
]
|
|
78
73
|
|
|
79
74
|
# Keep checkout links relative; package links target this release.
|
|
@@ -114,11 +109,11 @@ lint.ignore = [
|
|
|
114
109
|
# Command-line scripts and examples intentionally print output.
|
|
115
110
|
lint.per-file-ignores."examples/**/*.py" = [ "T201" ]
|
|
116
111
|
lint.per-file-ignores."scripts/**/*.py" = [ "T201" ]
|
|
117
|
-
#
|
|
118
|
-
lint.per-file-ignores."
|
|
119
|
-
lint.per-file-ignores."src/shotgun_api3/
|
|
120
|
-
lint.per-file-ignores."src/shotgun_api3/
|
|
121
|
-
lint.per-file-ignores."src/shotgun_api3/
|
|
112
|
+
# Public signatures mirror shotgun_api3
|
|
113
|
+
lint.per-file-ignores."src/shotgun_api3/_async_client.py" = [ "PLR0913", "PLR0917" ]
|
|
114
|
+
lint.per-file-ignores."src/shotgun_api3/_client.py" = [ "PLR0913", "PLR0917" ]
|
|
115
|
+
lint.per-file-ignores."src/shotgun_api3/lib/mockgun/_async_client.py" = [ "PLR0913", "PLR0917" ]
|
|
116
|
+
lint.per-file-ignores."src/shotgun_api3/lib/mockgun/_sync_client.py" = [ "PLR0913", "PLR0917" ]
|
|
122
117
|
lint.per-file-ignores."tests/**/*.py" = [
|
|
123
118
|
"D", # No docstrings required in tests
|
|
124
119
|
"PLR2004", # Allow magic values in tests
|
|
@@ -137,6 +132,8 @@ max_supported_python = "3.15"
|
|
|
137
132
|
# ==========================================================
|
|
138
133
|
[tool.pyright]
|
|
139
134
|
pythonVersion = "3.11" # Keep in sync with tool.ruff.target-version
|
|
135
|
+
venv = ".venv" # Created by make setup
|
|
136
|
+
venvPath = "."
|
|
140
137
|
typeCheckingMode = "strict"
|
|
141
138
|
exclude = [ "dist" ]
|
|
142
139
|
extraPaths = [ ".", "src" ]
|
|
@@ -4,6 +4,10 @@ Import `Shotgun` directly from this package. Import `AsyncShotgun` explicitly
|
|
|
4
4
|
after installing the `async` extra; it is loaded lazily and excluded from star
|
|
5
5
|
imports.
|
|
6
6
|
|
|
7
|
+
Import initializes the compatibility logger and reads
|
|
8
|
+
`SHOTGUN_API_DISABLE_ENTITY_OPTIMIZATION`; the value `1` disables entity-link
|
|
9
|
+
optimization.
|
|
10
|
+
|
|
7
11
|
Close synchronous clients with `close()`. Use asynchronous clients through an
|
|
8
12
|
async context manager or call `await close()`. The public `sg_timezone` object
|
|
9
13
|
is the shared timezone configuration used for datetime conversion.
|