shotgun-api3 3.9.0__tar.gz → 3.9.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.
Files changed (39) hide show
  1. {shotgun_api3-3.9.0/shotgun_api3.egg-info → shotgun_api3-3.9.2}/PKG-INFO +4 -4
  2. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/README.md +1 -1
  3. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/setup.py +4 -4
  4. shotgun_api3-3.9.2/shotgun_api3/__init__.py +59 -0
  5. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/mockgun/mockgun.py +3 -2
  6. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/mockgun/schema.py +1 -1
  7. shotgun_api3-3.9.2/shotgun_api3/py.typed +0 -0
  8. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/shotgun.py +425 -280
  9. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2/shotgun_api3.egg-info}/PKG-INFO +4 -4
  10. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3.egg-info/SOURCES.txt +1 -0
  11. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/tests/test_api.py +77 -0
  12. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/tests/test_client.py +2 -2
  13. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/tests/test_unit.py +61 -6
  14. shotgun_api3-3.9.0/shotgun_api3/__init__.py +0 -25
  15. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/LICENSE +0 -0
  16. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/setup.cfg +0 -0
  17. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/__init__.py +0 -0
  18. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/certifi/__init__.py +0 -0
  19. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/certifi/__main__.py +0 -0
  20. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/certifi/cacert.pem +0 -0
  21. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/certifi/core.py +0 -0
  22. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/certifi/py.typed +0 -0
  23. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/__init__.py +0 -0
  24. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/auth.py +0 -0
  25. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/cacerts.txt +0 -0
  26. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/certs.py +0 -0
  27. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/error.py +0 -0
  28. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/iri2uri.py +0 -0
  29. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/httplib2/socks.py +0 -0
  30. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/mockgun/__init__.py +0 -0
  31. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/mockgun/errors.py +0 -0
  32. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/pyparsing.py +0 -0
  33. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3/lib/sgtimezone.py +0 -0
  34. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3.egg-info/dependency_links.txt +0 -0
  35. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3.egg-info/not-zip-safe +0 -0
  36. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/shotgun_api3.egg-info/top_level.txt +0 -0
  37. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/tests/test_api_long.py +0 -0
  38. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/tests/test_mockgun.py +0 -0
  39. {shotgun_api3-3.9.0 → shotgun_api3-3.9.2}/tests/test_proxy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shotgun_api3
3
- Version: 3.9.0
3
+ Version: 3.9.2
4
4
  Summary: Flow Production Tracking Python API
5
5
  Home-page: https://github.com/shotgunsoftware/python-api
6
6
  Author: Autodesk
@@ -61,12 +61,12 @@ License: Copyright (c) 2009-2011, Shotgun Software Inc
61
61
  Classifier: Development Status :: 5 - Production/Stable
62
62
  Classifier: Intended Audience :: Developers
63
63
  Classifier: Programming Language :: Python
64
- Classifier: Programming Language :: Python :: 3.7
65
64
  Classifier: Programming Language :: Python :: 3.9
66
65
  Classifier: Programming Language :: Python :: 3.10
67
66
  Classifier: Programming Language :: Python :: 3.11
67
+ Classifier: Programming Language :: Python :: 3.12
68
68
  Classifier: Operating System :: OS Independent
69
- Requires-Python: >=3.7.0
69
+ Requires-Python: >=3.9.0
70
70
  Description-Content-Type: text/markdown
71
71
  License-File: LICENSE
72
72
  Dynamic: author
@@ -88,7 +88,7 @@ Dynamic: summary
88
88
 
89
89
  # Flow Production Tracking Python API
90
90
 
91
- Autodesk provides a simple Python-based API for accessing Flow Production Tracking and integrating with other tools. This is the official API that is maintained by Autodesk (https://knowledge.autodesk.com/contact-support)
91
+ Autodesk provides a simple Python-based API for accessing Flow Production Tracking and integrating with other tools. This is the official API that is maintained by Autodesk (https://www.autodesk.com/support)
92
92
 
93
93
  The latest version can always be found at http://github.com/shotgunsoftware/python-api
94
94
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  # Flow Production Tracking Python API
9
9
 
10
- Autodesk provides a simple Python-based API for accessing Flow Production Tracking and integrating with other tools. This is the official API that is maintained by Autodesk (https://knowledge.autodesk.com/contact-support)
10
+ Autodesk provides a simple Python-based API for accessing Flow Production Tracking and integrating with other tools. This is the official API that is maintained by Autodesk (https://www.autodesk.com/support)
11
11
 
12
12
  The latest version can always be found at http://github.com/shotgunsoftware/python-api
13
13
 
@@ -20,7 +20,7 @@ license = f.read().strip()
20
20
 
21
21
  setup(
22
22
  name="shotgun_api3",
23
- version="3.9.0",
23
+ version="3.9.2",
24
24
  description="Flow Production Tracking Python API",
25
25
  long_description=readme,
26
26
  long_description_content_type="text/markdown",
@@ -30,17 +30,17 @@ setup(
30
30
  packages=find_packages(exclude=("tests",)),
31
31
  script_args=sys.argv[1:],
32
32
  include_package_data=True,
33
- package_data={"": ["cacerts.txt", "cacert.pem"]},
33
+ package_data={"": ["cacerts.txt", "cacert.pem", "py.typed"]},
34
34
  zip_safe=False,
35
- python_requires=">=3.7.0",
35
+ python_requires=">=3.9.0",
36
36
  classifiers=[
37
37
  "Development Status :: 5 - Production/Stable",
38
38
  "Intended Audience :: Developers",
39
39
  "Programming Language :: Python",
40
- "Programming Language :: Python :: 3.7",
41
40
  "Programming Language :: Python :: 3.9",
42
41
  "Programming Language :: Python :: 3.10",
43
42
  "Programming Language :: Python :: 3.11",
43
+ "Programming Language :: Python :: 3.12",
44
44
  "Operating System :: OS Independent",
45
45
  ],
46
46
  )
@@ -0,0 +1,59 @@
1
+ # Copyright (c) 2019 Shotgun Software Inc.
2
+ #
3
+ # CONFIDENTIAL AND PROPRIETARY
4
+ #
5
+ # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6
+ # Source Code License included in this distribution package. See LICENSE.
7
+ # By accessing, using, copying or modifying this work you indicate your
8
+ # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9
+ # not expressly granted therein are reserved by Shotgun Software Inc.
10
+
11
+ import os
12
+ import sys
13
+ import warnings
14
+
15
+ if sys.version_info < (3, 7):
16
+ if os.environ.get("SHOTGUN_ALLOW_OLD_PYTHON", "0") != "1":
17
+ # This is our preferred default behavior when using an old
18
+ # unsupported Python version.
19
+ # This way, we can control where the exception is raised, and it provides a
20
+ # comprehensive error message rather than having users facing a random
21
+ # Python traceback and trying to understand this is due to using an
22
+ # unsupported Python version.
23
+
24
+ raise RuntimeError("This module requires Python version 3.7 or higher.")
25
+
26
+ warnings.warn(
27
+ "Python versions older than 3.7 are no longer supported as of January "
28
+ "2023. Since the SHOTGUN_ALLOW_OLD_PYTHON variable is enabled, this "
29
+ "module is raising a warning instead of an exception. "
30
+ "However, it is very likely that this module will not be able to work "
31
+ "on this Python version.",
32
+ RuntimeWarning,
33
+ stacklevel=2,
34
+ )
35
+ elif sys.version_info < (3, 9):
36
+ warnings.warn(
37
+ "Python versions older than 3.9 are no longer supported as of March "
38
+ "2025 and compatibility will be discontinued after March 2026. "
39
+ "Please update to Python 3.11 or any other supported version.",
40
+ DeprecationWarning,
41
+ stacklevel=2,
42
+ )
43
+
44
+
45
+ from .shotgun import (
46
+ Shotgun,
47
+ ShotgunError,
48
+ ShotgunFileDownloadError, # noqa unused imports
49
+ ShotgunThumbnailNotReady,
50
+ Fault,
51
+ AuthenticationFault,
52
+ MissingTwoFactorAuthenticationFault,
53
+ UserCredentialsNotAllowedForSSOAuthenticationFault,
54
+ ProtocolError,
55
+ ResponseError,
56
+ Error,
57
+ __version__,
58
+ )
59
+ from .shotgun import SG_TIMEZONE as sg_timezone # noqa unused imports
@@ -115,6 +115,7 @@ Below is a non-exhaustive list of things that we still need to implement:
115
115
  """
116
116
 
117
117
  import datetime
118
+ from typing import Any
118
119
 
119
120
  from ... import ShotgunError
120
121
  from ...shotgun import _Config
@@ -580,7 +581,7 @@ class Shotgun(object):
580
581
  row[field] = default_value
581
582
  return row
582
583
 
583
- def _compare(self, field_type, lval, operator, rval):
584
+ def _compare(self, field_type: str, lval: Any, operator: str, rval: Any) -> bool:
584
585
  """
585
586
  Compares a field using the operator and value provide by the filter.
586
587
 
@@ -797,7 +798,7 @@ class Shotgun(object):
797
798
 
798
799
  return self._compare(field_type, lval, operator, rval)
799
800
 
800
- def _rearrange_filters(self, filters):
801
+ def _rearrange_filters(self, filters: list) -> None:
801
802
  """
802
803
  Modifies the filter syntax to turn it into a list of three items regardless
803
804
  of the actual filter. Most of the filters are list of three elements, so this doesn't change much.
@@ -47,7 +47,7 @@ class SchemaFactory(object):
47
47
  _schema_cache_path = None
48
48
 
49
49
  @classmethod
50
- def get_schemas(cls, schema_path, schema_entity_path):
50
+ def get_schemas(cls, schema_path: str, schema_entity_path: str) -> tuple:
51
51
  """
52
52
  Retrieves the schemas from disk.
53
53
 
File without changes