sg-python-api 0.1.1__tar.gz → 0.1.2__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.1 → sg_python_api-0.1.2}/COMPATIBILITY.md +2 -2
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/PKG-INFO +14 -14
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/README.md +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/docs/development.md +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/docs/migration-guide.md +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/pyproject.toml +2 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/_sdist_contract.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/probe_wire.py +325 -25
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/run_conformance.sh +2 -2
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/run_installed_tests.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_async_client.py +72 -50
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_client.py +77 -59
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_files.py +22 -102
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_methods.py +98 -5
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_protocol.py +0 -93
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_version.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_activity.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_async.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_misc_methods.py +180 -30
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_nav.py +2 -2
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_sync.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/files/test_async.py +44 -84
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/files/test_upload_routing.py +0 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/files/test_uploads.py +117 -231
- sg_python_api-0.1.2/tests/fixtures/activity_stream_read.json +40 -0
- sg_python_api-0.1.2/tests/fixtures/nav_search_entity.json +42 -0
- sg_python_api-0.1.2/tests/fixtures/nav_search_string.json +39 -0
- sg_python_api-0.1.2/tests/fixtures/note_thread_read.json +35 -0
- sg_python_api-0.1.2/tests/fixtures/user_subscriptions_read.json +32 -0
- sg_python_api-0.1.2/tests/live/test_methods.py +306 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_config.py +2 -2
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_init.py +1 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_parity.py +218 -8
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/_wire_replay.py +56 -1
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_artifact_evidence.py +5 -5
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_benchmark.py +10 -10
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_run_conformance.py +18 -18
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_run_installed_tests.py +3 -3
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_validate_artifacts.py +13 -13
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_wire_fixtures.py +779 -285
- sg_python_api-0.1.1/tests/files/test_multipart.py +0 -146
- sg_python_api-0.1.1/tests/fixtures/activity_stream_read.json +0 -40
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/.gitignore +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/LICENSE +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/Makefile +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/docs/benchmarks.md +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/docs/testing.md +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/examples/async_client.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/examples/sync_client.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/_artifact_evidence.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/_conformance_runtime.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/_conformance_setup.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/benchmark.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/bootstrap_test_site.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/scripts/validate_artifacts.sh +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_async_driver.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_async_httpx2.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_async_transport.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_capabilities.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_config.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_crud.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_driver.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_errors.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_execution.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_sentinel.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_sg_timezone.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_signatures.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/_transport.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/lib/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/lib/mockgun/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/lib/mockgun/_async.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/lib/mockgun/_mockgun.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/lib/sgtimezone.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/py.typed +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/src/shotgun_api3/shotgun.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/_git.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/_loopback.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/_pyright.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/_required_mode.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/_transports.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_auth_methods.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_crud.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_filters.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_schema.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/client/test_summarize_search.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/conftest.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/files/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/files/test_cookie_handler.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/files/test_downloads.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/batch.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/create.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/fault_bad_auth.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/following.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/get_session_token.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/info.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/nav_expand.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/preferences_read.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/read.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/schema_entity_read.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/schema_read.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/summarize.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/text_search.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/update_project_last_accessed.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/fixtures/work_schedule_read.json +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/conftest.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/test_mockgun_async.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/test_mockgun_crud.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/test_mockgun_find.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/test_mockgun_schema.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/lib/test_sgtimezone.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/live/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/live/conftest.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/live/test_async.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/live/test_roundtrip.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_datetimes.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_errors.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_examples.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_project_metadata.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/test_signature_parity.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_conformance_runtime.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_conformance_setup.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/tooling/test_required_mode.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/__init__.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_abort.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_async.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_async_driver.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_async_httpx2.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_async_prefetch.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_driver.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_prefetch.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_protocol.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_retry_policy.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_streaming.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_sync.py +0 -0
- {sg_python_api-0.1.1 → sg_python_api-0.1.2}/tests/transport/test_urllib3.py +0 -0
|
@@ -24,7 +24,7 @@ the *readiness check*.
|
|
|
24
24
|
## Supported scope
|
|
25
25
|
|
|
26
26
|
The package provides the `shotgun_api3` import name and targets the documented synchronous API of
|
|
27
|
-
Autodesk's Python client `3.10.
|
|
27
|
+
Autodesk's Python client `3.10.3`, including its method signatures, return shapes, errors, filters,
|
|
28
28
|
paging, schema, file, activity, navigation, and scheduling operations. It also provides the
|
|
29
29
|
`shotgun_api3.lib.mockgun` and `shotgun_api3.lib.sgtimezone` modules and native async extensions.
|
|
30
30
|
|
|
@@ -112,7 +112,7 @@ operation repeats the check; the client never pages with an invalid size.
|
|
|
112
112
|
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
113
113
|
| Download setup errors | Setup RPC faults keep their specific types. Setup or transfer HTTP failures and invalid download URLs raise `ShotgunFileDownloadError` with a generic message and no underlying exception details. Configuration and security failures keep their existing types. |
|
|
114
114
|
| Multi-target thumbnail sharing | The client waits for source readiness before sharing and does not upload the source again. |
|
|
115
|
-
| Legacy form uploads |
|
|
115
|
+
| Legacy form uploads | Servers requiring legacy form uploads are unsupported. The client raises `ShotgunError` before any upload request; capability reads may occur. Hosted direct and multipart routes are supported. |
|
|
116
116
|
| Datetime-shaped strings | Invalid values remain unchanged strings. On platforms without pre-1970 time conversion, valid pre-epoch values use the process standard offset without historical daylight-saving accuracy. |
|
|
117
117
|
| Request diagnostics | Structured observers omit credentials and bodies. Application `httpx2` INFO logging can include signed URLs; set that logger to WARNING. |
|
|
118
118
|
| User agent | The default includes an `sg-python-api` marker. `add_user_agent()` preserves it, `reset_user_agent()` restores the default, and assigning `sg.config.user_agents` replaces every entry. |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sg-python-api
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
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.1.
|
|
49
|
-
through the switch, and the [compatibility reference](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
47
|
+
`3.10.3`. 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.1.2/docs/migration-guide.md) walks
|
|
49
|
+
through the switch, and the [compatibility reference](https://github.com/dactylo/sg-python-api/blob/v0.1.2/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.1.
|
|
58
|
+
the [migration steps](https://github.com/dactylo/sg-python-api/blob/v0.1.2/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
|
|
|
@@ -130,23 +130,23 @@ operation fails. Without the `async` extra, importing `AsyncShotgun` raises `Imp
|
|
|
130
130
|
|
|
131
131
|
Share an `AsyncShotgun` only among tasks on one event loop, and cancel its work by cancelling the
|
|
132
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.
|
|
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
134
|
cancellation in detail.
|
|
135
135
|
|
|
136
136
|
## Documentation
|
|
137
137
|
|
|
138
138
|
| If you want to... | Read |
|
|
139
139
|
| ----------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
140
|
-
| Replace Autodesk's client in an existing application | [Migration guide](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
141
|
-
| Check what behaves differently from Autodesk's client | [Compatibility](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
142
|
-
| Tune pooling and page prefetch, or observe requests | [Configuration extensions](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
143
|
-
| Confirm which client loads and run a smoke test | [Testing an installation](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
144
|
-
| Compare measured latency and transfer memory | [Benchmarks](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
145
|
-
| See changes by version | [Changelog](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
140
|
+
| Replace Autodesk's client in an existing application | [Migration guide](https://github.com/dactylo/sg-python-api/blob/v0.1.2/docs/migration-guide.md) |
|
|
141
|
+
| Check what behaves differently from Autodesk's client | [Compatibility](https://github.com/dactylo/sg-python-api/blob/v0.1.2/COMPATIBILITY.md) |
|
|
142
|
+
| Tune pooling and page prefetch, or observe requests | [Configuration extensions](https://github.com/dactylo/sg-python-api/blob/v0.1.2/COMPATIBILITY.md#configuration-and-observer-extensions) |
|
|
143
|
+
| Confirm which client loads and run a smoke test | [Testing an installation](https://github.com/dactylo/sg-python-api/blob/v0.1.2/docs/testing.md) |
|
|
144
|
+
| Compare measured latency and transfer memory | [Benchmarks](https://github.com/dactylo/sg-python-api/blob/v0.1.2/docs/benchmarks.md) |
|
|
145
|
+
| See changes by version | [Changelog](https://github.com/dactylo/sg-python-api/blob/v0.1.2/CHANGELOG.md) |
|
|
146
146
|
|
|
147
147
|
## Development
|
|
148
148
|
|
|
149
|
-
See the [development guide](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
149
|
+
See the [development guide](https://github.com/dactylo/sg-python-api/blob/v0.1.2/docs/development.md) for the required tools, CI, and dependency locks.
|
|
150
150
|
With those tools installed, run:
|
|
151
151
|
|
|
152
152
|
```sh
|
|
@@ -159,6 +159,6 @@ make check
|
|
|
159
159
|
|
|
160
160
|
## License
|
|
161
161
|
|
|
162
|
-
sg-python-api is available under the [MIT License](https://github.com/dactylo/sg-python-api/blob/v0.1.
|
|
162
|
+
sg-python-api is available under the [MIT License](https://github.com/dactylo/sg-python-api/blob/v0.1.2/LICENSE). It is an independent project and is
|
|
163
163
|
not affiliated with or endorsed by Autodesk. Flow Production Tracking is a product of Autodesk,
|
|
164
164
|
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.3`. 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
|
|
|
@@ -119,7 +119,7 @@ invalidate the evidence. Both scripts need network access and a
|
|
|
119
119
|
|
|
120
120
|
Run `scripts/run_conformance.sh` with the same `PATH` and with `SG_TEST_SITE`, `SG_TEST_SCRIPT`,
|
|
121
121
|
`SG_TEST_KEY`, `SG_TEST_HUMAN_LOGIN`, and `SG_TEST_HUMAN_PASSWORD` set. It clones Autodesk's suite
|
|
122
|
-
at `v3.10.
|
|
122
|
+
at `v3.10.3`, runs it against the validated wheel, and appends a tally to
|
|
123
123
|
`dist/conformance-results.md`.
|
|
124
124
|
|
|
125
125
|
The configured human user must already exist and authenticate with a legacy login passphrase and
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This guide is for applications that use Autodesk's `shotgun_api3` client and want to switch to
|
|
4
4
|
sg-python-api. sg-python-api keeps the `shotgun_api3` import name and targets the documented API of
|
|
5
|
-
Autodesk's client `3.10.
|
|
5
|
+
Autodesk's client `3.10.3`, so migration mainly concerns installation, network policy, and failure
|
|
6
6
|
handling. Work in your application's test environment first, so you can validate its actual queries
|
|
7
7
|
and writes before changing a production deployment. For a new integration, start with the
|
|
8
8
|
[README quick start](../README.md#quick-start) instead.
|
|
@@ -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.1.
|
|
13
|
+
version = "0.1.2"
|
|
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"
|
|
@@ -138,6 +138,7 @@ max_supported_python = "3.15"
|
|
|
138
138
|
[tool.pyright]
|
|
139
139
|
pythonVersion = "3.11" # Keep in sync with tool.ruff.target-version
|
|
140
140
|
typeCheckingMode = "strict"
|
|
141
|
+
exclude = [ "dist" ]
|
|
141
142
|
extraPaths = [ ".", "src" ]
|
|
142
143
|
executionEnvironments = [
|
|
143
144
|
{ root = "tests", reportPrivateUsage = "none" },
|
|
@@ -22,7 +22,7 @@ if TYPE_CHECKING:
|
|
|
22
22
|
_ARTIFACT_ARGUMENT_COUNT = 6
|
|
23
23
|
_COMMAND_ARGUMENT_COUNT = 3
|
|
24
24
|
_DIRECT_DOC_PART_COUNT = 2
|
|
25
|
-
_EXPECTED_VERSION = '0.1.
|
|
25
|
+
_EXPECTED_VERSION = '0.1.2'
|
|
26
26
|
_REGULAR_MEMBER_TYPES = frozenset({tarfile.AREGTYPE, tarfile.REGTYPE})
|
|
27
27
|
_ROOT_SOURCE_FILES = frozenset(
|
|
28
28
|
{
|