Ayon-Python-Api 1.0.0rc2__tar.gz → 1.0.0rc3__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 (23) hide show
  1. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/PKG-INFO +1 -1
  2. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/__init__.py +0 -4
  3. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/_api.py +0 -10
  4. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/server_api.py +56 -216
  5. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/version.py +1 -1
  6. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_python_api.egg-info/PKG-INFO +1 -1
  7. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/pyproject.toml +1 -1
  8. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/LICENSE +0 -0
  9. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/README.md +0 -0
  10. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/constants.py +0 -0
  11. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/entity_hub.py +0 -0
  12. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/events.py +0 -0
  13. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/exceptions.py +0 -0
  14. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/graphql.py +0 -0
  15. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/graphql_queries.py +0 -0
  16. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/operations.py +0 -0
  17. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_api/utils.py +0 -0
  18. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_python_api.egg-info/SOURCES.txt +0 -0
  19. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_python_api.egg-info/dependency_links.txt +0 -0
  20. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_python_api.egg-info/requires.txt +0 -0
  21. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/ayon_python_api.egg-info/top_level.txt +0 -0
  22. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/setup.cfg +0 -0
  23. {ayon-python-api-1.0.0rc2 → ayon-python-api-1.0.0rc3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ayon-python-api
3
- Version: 1.0.0rc2
3
+ Version: 1.0.0rc3
4
4
  Summary: AYON Python API
5
5
  Home-page: https://github.com/ynput/ayon-python-api
6
6
  Author: ynput.io
@@ -75,8 +75,6 @@ from ._api import (
75
75
  download_installer,
76
76
  upload_installer,
77
77
 
78
- get_dependencies_info,
79
- update_dependency_info,
80
78
  get_dependency_packages,
81
79
  create_dependency_package,
82
80
  update_dependency_package,
@@ -277,8 +275,6 @@ __all__ = (
277
275
  "download_installer",
278
276
  "upload_installer",
279
277
 
280
- "get_dependencies_info",
281
- "update_dependency_info",
282
278
  "get_dependency_packages",
283
279
  "create_dependency_package",
284
280
  "update_dependency_package",
@@ -611,16 +611,6 @@ def upload_installer(*args, **kwargs):
611
611
 
612
612
 
613
613
  # Dependency packages
614
- def get_dependencies_info(*args, **kwargs):
615
- con = get_server_api_connection()
616
- return con.get_dependencies_info(*args, **kwargs)
617
-
618
-
619
- def update_dependency_info(*args, **kwargs):
620
- con = get_server_api_connection()
621
- return con.update_dependency_info(*args, **kwargs)
622
-
623
-
624
614
  def download_dependency_package(*args, **kwargs):
625
615
  con = get_server_api_connection()
626
616
  return con.download_dependency_package(*args, **kwargs)
@@ -8,6 +8,7 @@ import collections
8
8
  import platform
9
9
  import copy
10
10
  import uuid
11
+ import warnings
11
12
  from contextlib import contextmanager
12
13
 
13
14
  import six
@@ -1022,17 +1023,10 @@ class ServerAPI(object):
1022
1023
  for attr, filter_value in filters.items():
1023
1024
  query.set_variable_value(attr, filter_value)
1024
1025
 
1025
- # Backwards compatibility for server 0.3.x
1026
- # - will be removed in future releases
1027
- major, minor, _, _, _ = self.server_version_tuple
1028
- access_groups_field = "accessGroups"
1029
- if major == 0 and minor <= 3:
1030
- access_groups_field = "roles"
1031
-
1032
1026
  for parsed_data in query.continuous_query(self):
1033
1027
  for user in parsed_data["users"]:
1034
- user[access_groups_field] = json.loads(
1035
- user[access_groups_field])
1028
+ user["accessGroups"] = json.loads(
1029
+ user["accessGroups"])
1036
1030
  yield user
1037
1031
 
1038
1032
  def get_user(self, username=None):
@@ -2044,14 +2038,6 @@ class ServerAPI(object):
2044
2038
 
2045
2039
  elif entity_type == "user":
2046
2040
  entity_type_defaults = set(DEFAULT_USER_FIELDS)
2047
- # Backwards compatibility for server 0.3.x
2048
- # - will be removed in future releases
2049
- major, minor, _, _, _ = self.server_version_tuple
2050
- if major == 0 and minor <= 3:
2051
- entity_type_defaults.discard("accessGroups")
2052
- entity_type_defaults.discard("defaultAccessGroups")
2053
- entity_type_defaults.add("roles")
2054
- entity_type_defaults.add("defaultRoles")
2055
2041
 
2056
2042
  else:
2057
2043
  raise ValueError("Unknown entity type \"{}\"".format(entity_type))
@@ -2306,125 +2292,8 @@ class ServerAPI(object):
2306
2292
  progress=progress
2307
2293
  )
2308
2294
 
2309
- def get_dependencies_info(self):
2310
- """Information about dependency packages on server.
2311
-
2312
- Example data structure:
2313
- {
2314
- "packages": [
2315
- {
2316
- "name": str,
2317
- "platform": str,
2318
- "checksum": str,
2319
- "sources": list[dict[str, Any]],
2320
- "supportedAddons": dict[str, str],
2321
- "pythonModules": dict[str, str]
2322
- }
2323
- ],
2324
- "productionPackage": str
2325
- }
2326
-
2327
- Deprecated:
2328
- Deprecated since server version 0.2.1. Use
2329
- 'get_dependency_packages' instead.
2330
-
2331
- Returns:
2332
- dict[str, Any]: Information about dependency packages known for
2333
- server.
2334
- """
2335
-
2336
- major, minor, patch, _, _ = self.server_version_tuple
2337
- if major == 0 and (minor < 2 or (minor == 2 and patch < 1)):
2338
- result = self.get("dependencies")
2339
- return result.data
2340
- packages = self.get_dependency_packages()
2341
- packages["productionPackage"] = None
2342
- return packages
2343
-
2344
- def update_dependency_info(
2345
- self,
2346
- name,
2347
- platform_name,
2348
- size,
2349
- checksum,
2350
- checksum_algorithm=None,
2351
- supported_addons=None,
2352
- python_modules=None,
2353
- sources=None
2354
- ):
2355
- """Update or create dependency package for identifiers.
2356
-
2357
- The endpoint can be used to create or update dependency package.
2358
-
2359
-
2360
- Deprecated:
2361
- Deprecated for server version 0.2.1. Use
2362
- 'create_dependency_pacakge' instead.
2363
-
2364
- Args:
2365
- name (str): Name of dependency package.
2366
- platform_name (Literal["windows", "linux", "darwin"]): Platform
2367
- for which is dependency package targeted.
2368
- size (int): Size of dependency package in bytes.
2369
- checksum (str): Checksum of archive file where dependencies are.
2370
- checksum_algorithm (Optional[str]): Algorithm used to calculate
2371
- checksum. By default, is used 'md5' (defined by server).
2372
- supported_addons (Optional[dict[str, str]]): Name of addons for
2373
- which was the package created.
2374
- '{"<addon name>": "<addon version>", ...}'
2375
- python_modules (Optional[dict[str, str]]): Python modules in
2376
- dependencies package.
2377
- '{"<module name>": "<module version>", ...}'
2378
- sources (Optional[list[dict[str, Any]]]): Information about
2379
- sources where dependency package is available.
2380
- """
2381
-
2382
- kwargs = {
2383
- key: value
2384
- for key, value in (
2385
- ("checksumAlgorithm", checksum_algorithm),
2386
- ("supportedAddons", supported_addons),
2387
- ("pythonModules", python_modules),
2388
- ("sources", sources),
2389
- )
2390
- if value
2391
- }
2392
-
2393
- response = self.put(
2394
- "dependencies",
2395
- name=name,
2396
- platform=platform_name,
2397
- size=size,
2398
- checksum=checksum,
2399
- **kwargs
2400
- )
2401
- response.raise_for_status("Failed to create/update dependency")
2402
- return response.data
2403
-
2404
- def _get_dependency_package_route(
2405
- self, filename=None, platform_name=None
2406
- ):
2407
- major, minor, patch, _, _ = self.server_version_tuple
2408
- if (major, minor, patch) <= (0, 2, 0):
2409
- # Backwards compatibility for AYON server 0.2.0 and lower
2410
- self.log.warning((
2411
- "Using deprecated dependency package route."
2412
- " Please update your AYON server to version 0.2.1 or higher."
2413
- " Backwards compatibility for this route will be removed"
2414
- " in future releases of ayon-python-api."
2415
- ))
2416
- if platform_name is None:
2417
- platform_name = platform.system().lower()
2418
- base = "dependencies"
2419
- if not filename:
2420
- return base
2421
- return "{}/{}/{}".format(base, filename, platform_name)
2422
-
2423
- if (major, minor) <= (0, 3):
2424
- endpoint = "desktop/dependency_packages"
2425
- else:
2426
- endpoint = "desktop/dependencyPackages"
2427
-
2295
+ def _get_dependency_package_route(self, filename=None):
2296
+ endpoint = "desktop/dependencyPackages"
2428
2297
  if filename:
2429
2298
  return "{}/{}".format(endpoint, filename)
2430
2299
  return endpoint
@@ -2535,14 +2404,21 @@ class ServerAPI(object):
2535
2404
  """Remove dependency package for specific platform.
2536
2405
 
2537
2406
  Args:
2538
- filename (str): Filename of dependency package. Or name of package
2539
- for server version 0.2.0 or lower.
2540
- platform_name (Optional[str]): Which platform of the package
2541
- should be removed. Current platform is used if not passed.
2542
- Deprecated since version 0.2.1
2407
+ filename (str): Filename of dependency package.
2408
+ platform_name (Optional[str]): Deprecated.
2543
2409
  """
2544
2410
 
2545
- route = self._get_dependency_package_route(filename, platform_name)
2411
+ if platform_name is not None:
2412
+ warnings.warn(
2413
+ (
2414
+ "Argument 'platform_name' is deprecated in"
2415
+ " 'delete_dependency_package'. The argument will be"
2416
+ " removed, please modify your code accordingly."
2417
+ ),
2418
+ DeprecationWarning
2419
+ )
2420
+
2421
+ route = self._get_dependency_package_route(filename)
2546
2422
  response = self.delete(route)
2547
2423
  response.raise_for_status("Failed to delete dependency file")
2548
2424
  return response.data
@@ -2567,18 +2443,25 @@ class ServerAPI(object):
2567
2443
  to download.
2568
2444
  dst_directory (str): Where the file should be downloaded.
2569
2445
  dst_filename (str): Name of destination filename.
2570
- platform_name (Optional[str]): Name of platform for which the
2571
- dependency package is targeted. Default value is
2572
- current platform. Deprecated since server version 0.2.1.
2446
+ platform_name (Optional[str]): Deprecated.
2573
2447
  chunk_size (Optional[int]): Download chunk size.
2574
2448
  progress (Optional[TransferProgress]): Object that gives ability
2575
2449
  to track download progress.
2576
2450
 
2577
2451
  Returns:
2578
2452
  str: Filepath to downloaded file.
2579
- """
2453
+ """
2580
2454
 
2581
- route = self._get_dependency_package_route(src_filename, platform_name)
2455
+ if platform_name is not None:
2456
+ warnings.warn(
2457
+ (
2458
+ "Argument 'platform_name' is deprecated in"
2459
+ " 'download_dependency_package'. The argument will be"
2460
+ " removed, please modify your code accordingly."
2461
+ ),
2462
+ DeprecationWarning
2463
+ )
2464
+ route = self._get_dependency_package_route(src_filename)
2582
2465
  package_filepath = os.path.join(dst_directory, dst_filename)
2583
2466
  self.download_file(
2584
2467
  route,
@@ -2597,31 +2480,23 @@ class ServerAPI(object):
2597
2480
  src_filepath (str): Path to a package file.
2598
2481
  dst_filename (str): Dependency package filename or name of package
2599
2482
  for server version 0.2.0 or lower. Must be unique.
2600
- platform_name (Optional[str]): For which platform is the
2601
- package targeted. Deprecated since server version 0.2.1.
2483
+ platform_name (Optional[str]): Deprecated.
2602
2484
  progress (Optional[TransferProgress]): Object to keep track about
2603
2485
  upload state.
2604
2486
  """
2605
2487
 
2606
- route = self._get_dependency_package_route(dst_filename, platform_name)
2607
- self.upload_file(route, src_filepath, progress=progress)
2608
-
2609
- def create_dependency_package_basename(self, platform_name=None):
2610
- """Create basename for dependency package file.
2611
-
2612
- Deprecated:
2613
- Use 'create_dependency_package_basename' from `ayon_api` or
2614
- `ayon_api.utils` instead.
2615
-
2616
- Args:
2617
- platform_name (Optional[str]): Name of platform for which the
2618
- bundle is targeted. Default value is current platform.
2619
-
2620
- Returns:
2621
- str: Dependency package name with timestamp and platform.
2622
- """
2488
+ if platform_name is not None:
2489
+ warnings.warn(
2490
+ (
2491
+ "Argument 'platform_name' is deprecated in"
2492
+ " 'upload_dependency_package'. The argument will be"
2493
+ " removed, please modify your code accordingly."
2494
+ ),
2495
+ DeprecationWarning
2496
+ )
2623
2497
 
2624
- return create_dependency_package_basename(platform_name)
2498
+ route = self._get_dependency_package_route(dst_filename)
2499
+ self.upload_file(route, src_filepath, progress=progress)
2625
2500
 
2626
2501
  def upload_addon_zip(self, src_filepath, progress=None):
2627
2502
  """Upload addon zip file to server.
@@ -2650,14 +2525,6 @@ class ServerAPI(object):
2650
2525
  )
2651
2526
  return response.json()
2652
2527
 
2653
- def _get_bundles_route(self):
2654
- major, minor, patch, _, _ = self.server_version_tuple
2655
- # Backwards compatibility for AYON server 0.3.0
2656
- # - first version where bundles were available
2657
- if major == 0 and minor == 3 and patch == 0:
2658
- return "desktop/bundles"
2659
- return "bundles"
2660
-
2661
2528
  def get_bundles(self):
2662
2529
  """Server bundles with basic information.
2663
2530
 
@@ -2688,7 +2555,7 @@ class ServerAPI(object):
2688
2555
  dict[str, Any]: Server bundles with basic information.
2689
2556
  """
2690
2557
 
2691
- response = self.get(self._get_bundles_route())
2558
+ response = self.get("bundles")
2692
2559
  response.raise_for_status()
2693
2560
  return response.data
2694
2561
 
@@ -2731,7 +2598,7 @@ class ServerAPI(object):
2731
2598
  if value is not None:
2732
2599
  body[key] = value
2733
2600
 
2734
- response = self.post(self._get_bundles_route(), **body)
2601
+ response = self.post("bundles", **body)
2735
2602
  response.raise_for_status()
2736
2603
 
2737
2604
  def update_bundle(
@@ -2766,7 +2633,7 @@ class ServerAPI(object):
2766
2633
  if value is not None
2767
2634
  }
2768
2635
  response = self.patch(
2769
- "{}/{}".format(self._get_bundles_route(), bundle_name),
2636
+ "{}/{}".format("bundles", bundle_name),
2770
2637
  **body
2771
2638
  )
2772
2639
  response.raise_for_status()
@@ -2779,7 +2646,7 @@ class ServerAPI(object):
2779
2646
  """
2780
2647
 
2781
2648
  response = self.delete(
2782
- "{}/{}".format(self._get_bundles_route(), bundle_name)
2649
+ "{}/{}".format("bundles", bundle_name)
2783
2650
  )
2784
2651
  response.raise_for_status()
2785
2652
 
@@ -3102,16 +2969,13 @@ class ServerAPI(object):
3102
2969
  - test how it behaves if there is not any production/staging
3103
2970
  bundle.
3104
2971
 
3105
- Warnings:
3106
- For AYON server < 0.3.0 bundle name will be ignored.
3107
-
3108
2972
  Example output:
3109
2973
  {
3110
2974
  "addons": [
3111
2975
  {
3112
2976
  "name": "addon-name",
3113
2977
  "version": "addon-version",
3114
- "settings": {...}
2978
+ "settings": {...},
3115
2979
  "siteSettings": {...}
3116
2980
  }
3117
2981
  ]
@@ -3121,7 +2985,6 @@ class ServerAPI(object):
3121
2985
  dict[str, Any]: All settings for single bundle.
3122
2986
  """
3123
2987
 
3124
- major, minor, _, _, _ = self.server_version_tuple
3125
2988
  query_values = {
3126
2989
  key: value
3127
2990
  for key, value in (
@@ -3137,21 +3000,8 @@ class ServerAPI(object):
3137
3000
  if site_id:
3138
3001
  query_values["site_id"] = site_id
3139
3002
 
3140
- if major == 0 and minor >= 3:
3141
- url = "settings"
3142
- else:
3143
- # Backward compatibility for AYON server < 0.3.0
3144
- url = "settings/addons"
3145
- query_values.pop("bundle_name", None)
3146
- for new_key, old_key in (
3147
- ("project_name", "project"),
3148
- ("site_id", "site"),
3149
- ):
3150
- if new_key in query_values:
3151
- query_values[old_key] = query_values.pop(new_key)
3152
-
3153
3003
  query = prepare_query_string(query_values)
3154
- response = self.get("{}{}".format(url, query))
3004
+ response = self.get("settings{}".format(query))
3155
3005
  response.raise_for_status()
3156
3006
  return response.data
3157
3007
 
@@ -3194,15 +3044,10 @@ class ServerAPI(object):
3194
3044
  use_site=use_site
3195
3045
  )
3196
3046
  if only_values:
3197
- major, minor, patch, _, _ = self.server_version_tuple
3198
- if major == 0 and minor >= 3:
3199
- output = {
3200
- addon["name"]: addon["settings"]
3201
- for addon in output["addons"]
3202
- }
3203
- else:
3204
- # Backward compatibility for AYON server < 0.3.0
3205
- output = output["settings"]
3047
+ output = {
3048
+ addon["name"]: addon["settings"]
3049
+ for addon in output["addons"]
3050
+ }
3206
3051
  return output
3207
3052
 
3208
3053
  def get_addons_project_settings(
@@ -3263,15 +3108,10 @@ class ServerAPI(object):
3263
3108
  use_site=use_site
3264
3109
  )
3265
3110
  if only_values:
3266
- major, minor, patch, _, _ = self.server_version_tuple
3267
- if major == 0 and minor >= 3:
3268
- output = {
3269
- addon["name"]: addon["settings"]
3270
- for addon in output["addons"]
3271
- }
3272
- else:
3273
- # Backward compatibility for AYON server < 0.3.0
3274
- output = output["settings"]
3111
+ output = {
3112
+ addon["name"]: addon["settings"]
3113
+ for addon in output["addons"]
3114
+ }
3275
3115
  return output
3276
3116
 
3277
3117
  def get_addons_settings(
@@ -1,2 +1,2 @@
1
1
  """Package declaring Python API for Ayon server."""
2
- __version__ = "1.0.0-rc.2"
2
+ __version__ = "1.0.0-rc.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ayon-python-api
3
- Version: 1.0.0rc2
3
+ Version: 1.0.0rc3
4
4
  Summary: AYON Python API
5
5
  Home-page: https://github.com/ynput/ayon-python-api
6
6
  Author: ynput.io
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ayon-python-api"
3
- version = "1.0.0-rc.2"
3
+ version = "1.0.0-rc.3"
4
4
  description = "AYON Python API"
5
5
  license = {file = "LICENSE"}
6
6
  readme = {file = "README.md", content-type = "text/markdown"}