anaplan-sdk 0.4.4a4__tar.gz → 0.4.5__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.
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/.github/workflows/docs.yml +3 -8
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/.github/workflows/lint.yml +1 -1
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/.github/workflows/tests.yml +1 -1
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/PKG-INFO +3 -2
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/README.md +2 -1
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/_bulk.py +11 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_auth.py +5 -4
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/_bulk.py +11 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/bulk.md +18 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/transactional.md +2 -2
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/mkdocs.yml +5 -5
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/pyproject.toml +11 -9
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/uv.lock +80 -64
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/.github/dependabot.yml +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/.gitignore +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/.pre-commit-config.yaml +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/LICENSE +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/__init__.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/__init__.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/_alm.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/_audit.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/_cloud_works.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/_cw_flow.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_async_clients/_transactional.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_base.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/__init__.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/_alm.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/_audit.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/_cloud_works.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/_cw_flow.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_clients/_transactional.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/_oauth.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/exceptions.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/__init__.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/_alm.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/_base.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/_bulk.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/_transactional.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/cloud_works.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/anaplan_sdk/models/flows.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/anaplan_explained.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_alm_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_audit_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_cw_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_flows_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_oauth_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/async/async_transactional_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/exceptions.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/models/alm.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/models/bulk.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/models/cloud_works.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/models/flows.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/models/transactional.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_alm_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_audit_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_cw_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_flows_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_oauth_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/api/sync/sync_transactional_client.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/assets/overview.html +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/css/styles.css +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/alm.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/audit.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/authentication.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/bulk_vs_transactional.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/cloud_works.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/index.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/logging.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/guides/multiple_models.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/img/anaplan-sdk.webp +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/index.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/installation.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/js/assets/hljs.js +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/js/assets/hljs.min.js +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/js/assets/python.js +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/js/assets/python.min.js +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/js/highlight.js +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/js/highlight.min.js +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/docs/quickstart.md +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/conftest.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/test_async_alm_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/test_async_audit_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/test_async_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/test_async_cloud_works_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/test_async_flows_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/async/test_async_transactional_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/conftest.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/conftest.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/test_alm_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/test_audit_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/test_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/test_cloud_works_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/test_flows_client.py +0 -0
- {anaplan_sdk-0.4.4a4 → anaplan_sdk-0.4.5}/tests/sync/test_transactional_client.py +0 -0
@@ -3,11 +3,13 @@ on:
|
|
3
3
|
push:
|
4
4
|
branches:
|
5
5
|
- master
|
6
|
+
workflow_dispatch:
|
7
|
+
|
6
8
|
permissions:
|
7
9
|
contents: write
|
8
10
|
jobs:
|
9
11
|
deploy:
|
10
|
-
runs-on: ubuntu-
|
12
|
+
runs-on: ubuntu-22.04
|
11
13
|
steps:
|
12
14
|
- uses: actions/checkout@v4
|
13
15
|
- name: Configure Git Credentials
|
@@ -17,13 +19,6 @@ jobs:
|
|
17
19
|
- uses: actions/setup-python@v5
|
18
20
|
with:
|
19
21
|
python-version: 3.13
|
20
|
-
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
21
|
-
- uses: actions/cache@v4
|
22
|
-
with:
|
23
|
-
key: mkdocs-material-${{ env.cache_id }}
|
24
|
-
path: .cache
|
25
|
-
restore-keys: |
|
26
|
-
mkdocs-material-
|
27
22
|
- name: "Setup"
|
28
23
|
run: |
|
29
24
|
pip install uv
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: anaplan-sdk
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.5
|
4
4
|
Summary: Streamlined Python Interface for Anaplan
|
5
5
|
Project-URL: Homepage, https://vinzenzklass.github.io/anaplan-sdk/
|
6
6
|
Project-URL: Repository, https://github.com/VinzenzKlass/anaplan-sdk
|
@@ -60,7 +60,8 @@ abstractions over all Anaplan APIs, allowing you to focus on business requiremen
|
|
60
60
|
|
61
61
|
## Getting Started
|
62
62
|
|
63
|
-
Head over to the [Quick Start](quickstart
|
63
|
+
Head over to the [Quick Start](https://vinzenzklass.github.io/anaplan-sdk/quickstart/) for basic usage instructions and
|
64
|
+
examples.
|
64
65
|
|
65
66
|
## Contributing
|
66
67
|
|
@@ -38,7 +38,8 @@ abstractions over all Anaplan APIs, allowing you to focus on business requiremen
|
|
38
38
|
|
39
39
|
## Getting Started
|
40
40
|
|
41
|
-
Head over to the [Quick Start](quickstart
|
41
|
+
Head over to the [Quick Start](https://vinzenzklass.github.io/anaplan-sdk/quickstart/) for basic usage instructions and
|
42
|
+
examples.
|
42
43
|
|
43
44
|
## Contributing
|
44
45
|
|
@@ -451,6 +451,17 @@ class AsyncClient(_AsyncBaseClient):
|
|
451
451
|
).get("task")
|
452
452
|
)
|
453
453
|
|
454
|
+
async def get_optimizer_log(self, action_id: int, task_id: str) -> bytes:
|
455
|
+
"""
|
456
|
+
Retrieves the solution logs of the specified optimization action task.
|
457
|
+
:param action_id: The identifier of the optimization action that was invoked.
|
458
|
+
:param task_id: The Task identifier, sometimes also referred to as the Correlation Id.
|
459
|
+
:return: The content of the solution logs.
|
460
|
+
"""
|
461
|
+
return await self._get_binary(
|
462
|
+
f"{self._url}/optimizeActions/{action_id}/tasks/{task_id}/solutionLogs"
|
463
|
+
)
|
464
|
+
|
454
465
|
async def invoke_action(self, action_id: int) -> str:
|
455
466
|
"""
|
456
467
|
You may want to consider using `run_action()` instead.
|
@@ -4,7 +4,6 @@ from base64 import b64encode
|
|
4
4
|
from typing import Callable
|
5
5
|
|
6
6
|
import httpx
|
7
|
-
import keyring
|
8
7
|
|
9
8
|
from ._oauth import _OAuthRequestFactory
|
10
9
|
from .exceptions import AnaplanException, InvalidCredentialsException, InvalidPrivateKeyException
|
@@ -205,7 +204,7 @@ class AnaplanLocalOAuth(_AnaplanAuth):
|
|
205
204
|
if stored:
|
206
205
|
logger.info("Using persisted OAuth refresh token.")
|
207
206
|
self._oauth_token = {"refresh_token": stored}
|
208
|
-
self._token =
|
207
|
+
self._token = "" # Set to blank to trigger the super().__init__ auth request.
|
209
208
|
except ImportError as e:
|
210
209
|
raise AnaplanException(
|
211
210
|
"keyring is not available. Please install anaplan-sdk with the keyring extra "
|
@@ -246,6 +245,8 @@ class AnaplanLocalOAuth(_AnaplanAuth):
|
|
246
245
|
raise AnaplanException(f"Authentication failed: {response.status_code} {response.text}")
|
247
246
|
self._oauth_token = response.json()
|
248
247
|
if self._persist_token:
|
248
|
+
import keyring
|
249
|
+
|
249
250
|
keyring.set_password(
|
250
251
|
self._service_name, self._service_name, self._oauth_token["refresh_token"]
|
251
252
|
)
|
@@ -304,7 +305,7 @@ class AnaplanRefreshTokenAuth(_AnaplanAuth):
|
|
304
305
|
:param token_url: The URL to post the refresh token request to in order to fetch the access
|
305
306
|
token.
|
306
307
|
"""
|
307
|
-
if not isinstance(token, dict)
|
308
|
+
if not isinstance(token, dict) or not all(
|
308
309
|
key in token for key in ("access_token", "refresh_token")
|
309
310
|
):
|
310
311
|
raise ValueError(
|
@@ -322,7 +323,7 @@ class AnaplanRefreshTokenAuth(_AnaplanAuth):
|
|
322
323
|
@property
|
323
324
|
def token(self) -> dict[str, str]:
|
324
325
|
"""
|
325
|
-
Returns the current token
|
326
|
+
Returns the current OAuth token. You can safely use the `access_token`, but you
|
326
327
|
must not use the `refresh_token` outside of this class, if you expect to use this instance
|
327
328
|
further. If you do use the `refresh_token` outside of this class, this will error on the
|
328
329
|
next attempt to refresh the token, as the `refresh_token` can only be used once.
|
@@ -438,6 +438,17 @@ class Client(_BaseClient):
|
|
438
438
|
)
|
439
439
|
)
|
440
440
|
|
441
|
+
def get_optimizer_log(self, action_id: int, task_id: str) -> bytes:
|
442
|
+
"""
|
443
|
+
Retrieves the solution logs of the specified optimization action task.
|
444
|
+
:param action_id: The identifier of the optimization action that was invoked.
|
445
|
+
:param task_id: The Task identifier, sometimes also referred to as the Correlation Id.
|
446
|
+
:return: The content of the solution logs.
|
447
|
+
"""
|
448
|
+
return self._get_binary(
|
449
|
+
f"{self._url}/optimizeActions/{action_id}/tasks/{task_id}/solutionLogs"
|
450
|
+
)
|
451
|
+
|
441
452
|
def invoke_action(self, action_id: int) -> str:
|
442
453
|
"""
|
443
454
|
You may want to consider using `run_action()` instead.
|
@@ -120,6 +120,24 @@ provide the workspace and model IDs.
|
|
120
120
|
await anaplan.run_action(116000000000)
|
121
121
|
...
|
122
122
|
content = await anaplan.get_file(116000000000)
|
123
|
+
|
124
|
+
|
125
|
+
### Optimizer Logs
|
126
|
+
|
127
|
+
You can download the Optimizer Logs from Anaplan. This will give you the Solution Logs produced by Gurobi, which can be
|
128
|
+
very useful for debugging and understanding the performance of your Optimizer models.
|
129
|
+
|
130
|
+
=== "Synchronous"
|
131
|
+
```python
|
132
|
+
log = anaplan.get_optimizer_log(
|
133
|
+
117000000000, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
134
|
+
)
|
135
|
+
```
|
136
|
+
=== "Asynchronous"
|
137
|
+
```python
|
138
|
+
log = await anaplan.get_optimizer_log(
|
139
|
+
117000000000, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
140
|
+
)
|
123
141
|
```
|
124
142
|
|
125
143
|
## Applications
|
@@ -175,7 +175,7 @@ Warning. To automate this tedious task without losing any data, we can perform f
|
|
175
175
|
)
|
176
176
|
anaplan.transactional.reset_list_index(101000000000)
|
177
177
|
result = anaplan.transactional.insert_list_items(
|
178
|
-
|
178
|
+
101000000000, [e.model_dump() for e in items] # Reimport all fields.
|
179
179
|
)
|
180
180
|
```
|
181
181
|
=== "Asynchronous"
|
@@ -186,6 +186,6 @@ Warning. To automate this tedious task without losing any data, we can perform f
|
|
186
186
|
)
|
187
187
|
await anaplan.transactional.reset_list_index(101000000000)
|
188
188
|
result = await anaplan.transactional.insert_list_items(
|
189
|
-
|
189
|
+
101000000000, [e.model_dump() for e in items] # Reimport all fields.
|
190
190
|
)
|
191
191
|
```
|
@@ -68,11 +68,11 @@ nav:
|
|
68
68
|
- Flows: 'api/sync/sync_flows_client.md'
|
69
69
|
- OAuth: 'api/sync/sync_oauth_client.md'
|
70
70
|
- Models:
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
71
|
+
- ALM: 'api/models/alm.md'
|
72
|
+
- Bulk: 'api/models/bulk.md'
|
73
|
+
- CloudWorks: 'api/models/cloud_works.md'
|
74
|
+
- Flows: 'api/models/flows.md'
|
75
|
+
- Transactional: 'api/models/transactional.md'
|
76
76
|
- Exceptions: 'api/exceptions.md'
|
77
77
|
- Concepts:
|
78
78
|
- Anaplan Basics: 'anaplan_explained.md'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "anaplan-sdk"
|
3
|
-
version = "0.4.
|
3
|
+
version = "0.4.5"
|
4
4
|
description = "Streamlined Python Interface for Anaplan"
|
5
5
|
license = "Apache-2.0"
|
6
6
|
authors = [{ name = "Vinzenz Klass", email = "vinzenz.klass@valantic.com" }]
|
@@ -30,15 +30,17 @@ keyring = ["keyring>=25.6.0,<26.0.0"]
|
|
30
30
|
|
31
31
|
[dependency-groups]
|
32
32
|
dev = [
|
33
|
-
"ruff>=0.
|
34
|
-
"pre-commit>=4.
|
35
|
-
"pytest>=8.
|
36
|
-
"pytest-asyncio>=
|
37
|
-
"pytest-xdist>=3.
|
33
|
+
"ruff>=0.12.8",
|
34
|
+
"pre-commit>=4.3.0",
|
35
|
+
"pytest>=8.4.1",
|
36
|
+
"pytest-asyncio>=1.1.0",
|
37
|
+
"pytest-xdist>=3.8.0",
|
38
38
|
"mkdocs>=1.6.1",
|
39
|
-
"mkdocs-material>=9.
|
40
|
-
"mkdocstrings[python]>=0.
|
41
|
-
"griffe
|
39
|
+
"mkdocs-material>=9.6.16",
|
40
|
+
"mkdocstrings[python]>=0.30.0",
|
41
|
+
"griffe>=1.7.3",
|
42
|
+
"fieldz>=0.1.2",
|
43
|
+
"griffe-fieldz>=0.3.0",
|
42
44
|
"oauthlib>=3.2.2",
|
43
45
|
"cryptography>=45.0.0",
|
44
46
|
"keyring>=25.6.0",
|
@@ -4,7 +4,7 @@ requires-python = ">=3.10.4"
|
|
4
4
|
|
5
5
|
[[package]]
|
6
6
|
name = "anaplan-sdk"
|
7
|
-
version = "0.4.
|
7
|
+
version = "0.4.5"
|
8
8
|
source = { editable = "." }
|
9
9
|
dependencies = [
|
10
10
|
{ name = "httpx" },
|
@@ -25,6 +25,8 @@ oauth = [
|
|
25
25
|
[package.dev-dependencies]
|
26
26
|
dev = [
|
27
27
|
{ name = "cryptography" },
|
28
|
+
{ name = "fieldz" },
|
29
|
+
{ name = "griffe" },
|
28
30
|
{ name = "griffe-fieldz" },
|
29
31
|
{ name = "keyring" },
|
30
32
|
{ name = "mkdocs" },
|
@@ -51,17 +53,19 @@ provides-extras = ["cert", "oauth", "keyring"]
|
|
51
53
|
[package.metadata.requires-dev]
|
52
54
|
dev = [
|
53
55
|
{ name = "cryptography", specifier = ">=45.0.0" },
|
54
|
-
{ name = "
|
56
|
+
{ name = "fieldz", specifier = ">=0.1.2" },
|
57
|
+
{ name = "griffe", specifier = ">=1.7.3" },
|
58
|
+
{ name = "griffe-fieldz", specifier = ">=0.3.0" },
|
55
59
|
{ name = "keyring", specifier = ">=25.6.0" },
|
56
60
|
{ name = "mkdocs", specifier = ">=1.6.1" },
|
57
|
-
{ name = "mkdocs-material", specifier = ">=9.
|
58
|
-
{ name = "mkdocstrings", extras = ["python"], specifier = ">=0.
|
61
|
+
{ name = "mkdocs-material", specifier = ">=9.6.16" },
|
62
|
+
{ name = "mkdocstrings", extras = ["python"], specifier = ">=0.30.0" },
|
59
63
|
{ name = "oauthlib", specifier = ">=3.2.2" },
|
60
|
-
{ name = "pre-commit", specifier = ">=4.
|
61
|
-
{ name = "pytest", specifier = ">=8.
|
62
|
-
{ name = "pytest-asyncio", specifier = ">=
|
63
|
-
{ name = "pytest-xdist", specifier = ">=3.
|
64
|
-
{ name = "ruff", specifier = ">=0.
|
64
|
+
{ name = "pre-commit", specifier = ">=4.3.0" },
|
65
|
+
{ name = "pytest", specifier = ">=8.4.1" },
|
66
|
+
{ name = "pytest-asyncio", specifier = ">=1.1.0" },
|
67
|
+
{ name = "pytest-xdist", specifier = ">=3.8.0" },
|
68
|
+
{ name = "ruff", specifier = ">=0.12.8" },
|
65
69
|
]
|
66
70
|
|
67
71
|
[[package]]
|
@@ -97,6 +101,15 @@ wheels = [
|
|
97
101
|
{ url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" },
|
98
102
|
]
|
99
103
|
|
104
|
+
[[package]]
|
105
|
+
name = "backports-asyncio-runner"
|
106
|
+
version = "1.2.0"
|
107
|
+
source = { registry = "https://pypi.org/simple" }
|
108
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8e/ff/70dca7d7cb1cbc0edb2c6cc0c38b65cba36cccc491eca64cabd5fe7f8670/backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162", size = 69893, upload-time = "2025-07-02T02:27:15.685Z" }
|
109
|
+
wheels = [
|
110
|
+
{ url = "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5", size = 12313, upload-time = "2025-07-02T02:27:14.263Z" },
|
111
|
+
]
|
112
|
+
|
100
113
|
[[package]]
|
101
114
|
name = "backports-tarfile"
|
102
115
|
version = "1.2.0"
|
@@ -108,15 +121,16 @@ wheels = [
|
|
108
121
|
|
109
122
|
[[package]]
|
110
123
|
name = "backrefs"
|
111
|
-
version = "5.
|
124
|
+
version = "5.9"
|
112
125
|
source = { registry = "https://pypi.org/simple" }
|
113
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
126
|
+
sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" }
|
114
127
|
wheels = [
|
115
|
-
{ url = "https://files.pythonhosted.org/packages/
|
116
|
-
{ url = "https://files.pythonhosted.org/packages/
|
117
|
-
{ url = "https://files.pythonhosted.org/packages/
|
118
|
-
{ url = "https://files.pythonhosted.org/packages/
|
119
|
-
{ url = "https://files.pythonhosted.org/packages/
|
128
|
+
{ url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" },
|
129
|
+
{ url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" },
|
130
|
+
{ url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" },
|
131
|
+
{ url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" },
|
132
|
+
{ url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" },
|
133
|
+
{ url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" },
|
120
134
|
]
|
121
135
|
|
122
136
|
[[package]]
|
@@ -355,14 +369,14 @@ wheels = [
|
|
355
369
|
|
356
370
|
[[package]]
|
357
371
|
name = "fieldz"
|
358
|
-
version = "0.1.
|
372
|
+
version = "0.1.2"
|
359
373
|
source = { registry = "https://pypi.org/simple" }
|
360
374
|
dependencies = [
|
361
375
|
{ name = "typing-extensions" },
|
362
376
|
]
|
363
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
377
|
+
sdist = { url = "https://files.pythonhosted.org/packages/90/62/698c5cc2e7d4c8c89e63033e2e9d3c74902a1bf28782712eacb0653097ce/fieldz-0.1.2.tar.gz", hash = "sha256:0448ed5dacb13eaa49da0db786e87fae298fbd2652d26c510e5d7aea6b6bebf4", size = 17277, upload-time = "2025-06-30T18:06:40.881Z" }
|
364
378
|
wheels = [
|
365
|
-
{ url = "https://files.pythonhosted.org/packages/
|
379
|
+
{ url = "https://files.pythonhosted.org/packages/6d/8c/8958392cade27a272daf45d09a08473073dedeccad94b097dfeb898d969f/fieldz-0.1.2-py3-none-any.whl", hash = "sha256:e25884d2821a2d5638ef8d4d8bce5d1039359cfcb46d0f93df8cb1f7c2eb3a2e", size = 17878, upload-time = "2025-06-30T18:06:39.322Z" },
|
366
380
|
]
|
367
381
|
|
368
382
|
[[package]]
|
@@ -400,15 +414,15 @@ wheels = [
|
|
400
414
|
|
401
415
|
[[package]]
|
402
416
|
name = "griffe-fieldz"
|
403
|
-
version = "0.
|
417
|
+
version = "0.3.0"
|
404
418
|
source = { registry = "https://pypi.org/simple" }
|
405
419
|
dependencies = [
|
406
420
|
{ name = "fieldz" },
|
407
421
|
{ name = "griffe" },
|
408
422
|
]
|
409
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
423
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c5/6a/94754bf39fd63ba424c667b2abf0ade78e3878e223591d1fb9c3e8a77bce/griffe_fieldz-0.3.0.tar.gz", hash = "sha256:42e7707dac51d38e26fb7f3f7f51429da9b47e98060bfeb81a4287456d5b8a89", size = 10149, upload-time = "2025-07-30T21:43:10.042Z" }
|
410
424
|
wheels = [
|
411
|
-
{ url = "https://files.pythonhosted.org/packages/
|
425
|
+
{ url = "https://files.pythonhosted.org/packages/4d/33/cc527c11132a6274724a04938d50e1ff2b54a5f5943cd0480427571e1adb/griffe_fieldz-0.3.0-py3-none-any.whl", hash = "sha256:52e02fdcbdf6dea3c8c95756d1e0b30861569f871d19437fda702776fde4e64d", size = 6577, upload-time = "2025-07-30T21:43:09.073Z" },
|
412
426
|
]
|
413
427
|
|
414
428
|
[[package]]
|
@@ -692,7 +706,7 @@ wheels = [
|
|
692
706
|
|
693
707
|
[[package]]
|
694
708
|
name = "mkdocs-material"
|
695
|
-
version = "9.6.
|
709
|
+
version = "9.6.16"
|
696
710
|
source = { registry = "https://pypi.org/simple" }
|
697
711
|
dependencies = [
|
698
712
|
{ name = "babel" },
|
@@ -707,9 +721,9 @@ dependencies = [
|
|
707
721
|
{ name = "pymdown-extensions" },
|
708
722
|
{ name = "requests" },
|
709
723
|
]
|
710
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
724
|
+
sdist = { url = "https://files.pythonhosted.org/packages/dd/84/aec27a468c5e8c27689c71b516fb5a0d10b8fca45b9ad2dd9d6e43bc4296/mkdocs_material-9.6.16.tar.gz", hash = "sha256:d07011df4a5c02ee0877496d9f1bfc986cfb93d964799b032dd99fe34c0e9d19", size = 4028828, upload-time = "2025-07-26T15:53:47.542Z" }
|
711
725
|
wheels = [
|
712
|
-
{ url = "https://files.pythonhosted.org/packages/
|
726
|
+
{ url = "https://files.pythonhosted.org/packages/65/f4/90ad67125b4dd66e7884e4dbdfab82e3679eb92b751116f8bb25ccfe2f0c/mkdocs_material-9.6.16-py3-none-any.whl", hash = "sha256:8d1a1282b892fe1fdf77bfeb08c485ba3909dd743c9ba69a19a40f637c6ec18c", size = 9223743, upload-time = "2025-07-26T15:53:44.236Z" },
|
713
727
|
]
|
714
728
|
|
715
729
|
[[package]]
|
@@ -723,7 +737,7 @@ wheels = [
|
|
723
737
|
|
724
738
|
[[package]]
|
725
739
|
name = "mkdocstrings"
|
726
|
-
version = "0.
|
740
|
+
version = "0.30.0"
|
727
741
|
source = { registry = "https://pypi.org/simple" }
|
728
742
|
dependencies = [
|
729
743
|
{ name = "jinja2" },
|
@@ -733,9 +747,9 @@ dependencies = [
|
|
733
747
|
{ name = "mkdocs-autorefs" },
|
734
748
|
{ name = "pymdown-extensions" },
|
735
749
|
]
|
736
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
750
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e2/0a/7e4776217d4802009c8238c75c5345e23014a4706a8414a62c0498858183/mkdocstrings-0.30.0.tar.gz", hash = "sha256:5d8019b9c31ddacd780b6784ffcdd6f21c408f34c0bd1103b5351d609d5b4444", size = 106597, upload-time = "2025-07-22T23:48:45.998Z" }
|
737
751
|
wheels = [
|
738
|
-
{ url = "https://files.pythonhosted.org/packages/
|
752
|
+
{ url = "https://files.pythonhosted.org/packages/de/b4/3c5eac68f31e124a55d255d318c7445840fa1be55e013f507556d6481913/mkdocstrings-0.30.0-py3-none-any.whl", hash = "sha256:ae9e4a0d8c1789697ac776f2e034e2ddd71054ae1cf2c2bb1433ccfd07c226f2", size = 36579, upload-time = "2025-07-22T23:48:44.152Z" },
|
739
753
|
]
|
740
754
|
|
741
755
|
[package.optional-dependencies]
|
@@ -745,7 +759,7 @@ python = [
|
|
745
759
|
|
746
760
|
[[package]]
|
747
761
|
name = "mkdocstrings-python"
|
748
|
-
version = "1.16.
|
762
|
+
version = "1.16.12"
|
749
763
|
source = { registry = "https://pypi.org/simple" }
|
750
764
|
dependencies = [
|
751
765
|
{ name = "griffe" },
|
@@ -753,9 +767,9 @@ dependencies = [
|
|
753
767
|
{ name = "mkdocstrings" },
|
754
768
|
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
|
755
769
|
]
|
756
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
770
|
+
sdist = { url = "https://files.pythonhosted.org/packages/bf/ed/b886f8c714fd7cccc39b79646b627dbea84cd95c46be43459ef46852caf0/mkdocstrings_python-1.16.12.tar.gz", hash = "sha256:9b9eaa066e0024342d433e332a41095c4e429937024945fea511afe58f63175d", size = 206065, upload-time = "2025-06-03T12:52:49.276Z" }
|
757
771
|
wheels = [
|
758
|
-
{ url = "https://files.pythonhosted.org/packages/
|
772
|
+
{ url = "https://files.pythonhosted.org/packages/3b/dd/a24ee3de56954bfafb6ede7cd63c2413bb842cc48eb45e41c43a05a33074/mkdocstrings_python-1.16.12-py3-none-any.whl", hash = "sha256:22ded3a63b3d823d57457a70ff9860d5a4de9e8b1e482876fc9baabaf6f5f374", size = 124287, upload-time = "2025-06-03T12:52:47.819Z" },
|
759
773
|
]
|
760
774
|
|
761
775
|
[[package]]
|
@@ -832,7 +846,7 @@ wheels = [
|
|
832
846
|
|
833
847
|
[[package]]
|
834
848
|
name = "pre-commit"
|
835
|
-
version = "4.
|
849
|
+
version = "4.3.0"
|
836
850
|
source = { registry = "https://pypi.org/simple" }
|
837
851
|
dependencies = [
|
838
852
|
{ name = "cfgv" },
|
@@ -841,9 +855,9 @@ dependencies = [
|
|
841
855
|
{ name = "pyyaml" },
|
842
856
|
{ name = "virtualenv" },
|
843
857
|
]
|
844
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
858
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" }
|
845
859
|
wheels = [
|
846
|
-
{ url = "https://files.pythonhosted.org/packages/
|
860
|
+
{ url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" },
|
847
861
|
]
|
848
862
|
|
849
863
|
[[package]]
|
@@ -981,7 +995,7 @@ wheels = [
|
|
981
995
|
|
982
996
|
[[package]]
|
983
997
|
name = "pytest"
|
984
|
-
version = "8.
|
998
|
+
version = "8.4.1"
|
985
999
|
source = { registry = "https://pypi.org/simple" }
|
986
1000
|
dependencies = [
|
987
1001
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
@@ -989,36 +1003,38 @@ dependencies = [
|
|
989
1003
|
{ name = "iniconfig" },
|
990
1004
|
{ name = "packaging" },
|
991
1005
|
{ name = "pluggy" },
|
1006
|
+
{ name = "pygments" },
|
992
1007
|
{ name = "tomli", marker = "python_full_version < '3.11'" },
|
993
1008
|
]
|
994
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1009
|
+
sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" }
|
995
1010
|
wheels = [
|
996
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1011
|
+
{ url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" },
|
997
1012
|
]
|
998
1013
|
|
999
1014
|
[[package]]
|
1000
1015
|
name = "pytest-asyncio"
|
1001
|
-
version = "
|
1016
|
+
version = "1.1.0"
|
1002
1017
|
source = { registry = "https://pypi.org/simple" }
|
1003
1018
|
dependencies = [
|
1019
|
+
{ name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" },
|
1004
1020
|
{ name = "pytest" },
|
1005
1021
|
]
|
1006
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1022
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea", size = 46652, upload-time = "2025-07-16T04:29:26.393Z" }
|
1007
1023
|
wheels = [
|
1008
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1024
|
+
{ url = "https://files.pythonhosted.org/packages/c7/9d/bf86eddabf8c6c9cb1ea9a869d6873b46f105a5d292d3a6f7071f5b07935/pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf", size = 15157, upload-time = "2025-07-16T04:29:24.929Z" },
|
1009
1025
|
]
|
1010
1026
|
|
1011
1027
|
[[package]]
|
1012
1028
|
name = "pytest-xdist"
|
1013
|
-
version = "3.
|
1029
|
+
version = "3.8.0"
|
1014
1030
|
source = { registry = "https://pypi.org/simple" }
|
1015
1031
|
dependencies = [
|
1016
1032
|
{ name = "execnet" },
|
1017
1033
|
{ name = "pytest" },
|
1018
1034
|
]
|
1019
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1035
|
+
sdist = { url = "https://files.pythonhosted.org/packages/78/b4/439b179d1ff526791eb921115fca8e44e596a13efeda518b9d845a619450/pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1", size = 88069, upload-time = "2025-07-01T13:30:59.346Z" }
|
1020
1036
|
wheels = [
|
1021
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1037
|
+
{ url = "https://files.pythonhosted.org/packages/ca/31/d4e37e9e550c2b92a9cbc2e4d0b7420a27224968580b5a447f420847c975/pytest_xdist-3.8.0-py3-none-any.whl", hash = "sha256:202ca578cfeb7370784a8c33d6d05bc6e13b4f25b5053c30a152269fd10f0b88", size = 46396, upload-time = "2025-07-01T13:30:56.632Z" },
|
1022
1038
|
]
|
1023
1039
|
|
1024
1040
|
[[package]]
|
@@ -1115,27 +1131,27 @@ wheels = [
|
|
1115
1131
|
|
1116
1132
|
[[package]]
|
1117
1133
|
name = "ruff"
|
1118
|
-
version = "0.
|
1119
|
-
source = { registry = "https://pypi.org/simple" }
|
1120
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1121
|
-
wheels = [
|
1122
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1123
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1124
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1125
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1126
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1127
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1128
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1129
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1130
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1131
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1132
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1133
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1134
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1135
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1136
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1137
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1138
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1134
|
+
version = "0.12.8"
|
1135
|
+
source = { registry = "https://pypi.org/simple" }
|
1136
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4b/da/5bd7565be729e86e1442dad2c9a364ceeff82227c2dece7c29697a9795eb/ruff-0.12.8.tar.gz", hash = "sha256:4cb3a45525176e1009b2b64126acf5f9444ea59066262791febf55e40493a033", size = 5242373, upload-time = "2025-08-07T19:05:47.268Z" }
|
1137
|
+
wheels = [
|
1138
|
+
{ url = "https://files.pythonhosted.org/packages/c9/1e/c843bfa8ad1114fab3eb2b78235dda76acd66384c663a4e0415ecc13aa1e/ruff-0.12.8-py3-none-linux_armv6l.whl", hash = "sha256:63cb5a5e933fc913e5823a0dfdc3c99add73f52d139d6cd5cc8639d0e0465513", size = 11675315, upload-time = "2025-08-07T19:05:06.15Z" },
|
1139
|
+
{ url = "https://files.pythonhosted.org/packages/24/ee/af6e5c2a8ca3a81676d5480a1025494fd104b8896266502bb4de2a0e8388/ruff-0.12.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9a9bbe28f9f551accf84a24c366c1aa8774d6748438b47174f8e8565ab9dedbc", size = 12456653, upload-time = "2025-08-07T19:05:09.759Z" },
|
1140
|
+
{ url = "https://files.pythonhosted.org/packages/99/9d/e91f84dfe3866fa648c10512904991ecc326fd0b66578b324ee6ecb8f725/ruff-0.12.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2fae54e752a3150f7ee0e09bce2e133caf10ce9d971510a9b925392dc98d2fec", size = 11659690, upload-time = "2025-08-07T19:05:12.551Z" },
|
1141
|
+
{ url = "https://files.pythonhosted.org/packages/fe/ac/a363d25ec53040408ebdd4efcee929d48547665858ede0505d1d8041b2e5/ruff-0.12.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0acbcf01206df963d9331b5838fb31f3b44fa979ee7fa368b9b9057d89f4a53", size = 11896923, upload-time = "2025-08-07T19:05:14.821Z" },
|
1142
|
+
{ url = "https://files.pythonhosted.org/packages/58/9f/ea356cd87c395f6ade9bb81365bd909ff60860975ca1bc39f0e59de3da37/ruff-0.12.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae3e7504666ad4c62f9ac8eedb52a93f9ebdeb34742b8b71cd3cccd24912719f", size = 11477612, upload-time = "2025-08-07T19:05:16.712Z" },
|
1143
|
+
{ url = "https://files.pythonhosted.org/packages/1a/46/92e8fa3c9dcfd49175225c09053916cb97bb7204f9f899c2f2baca69e450/ruff-0.12.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb82efb5d35d07497813a1c5647867390a7d83304562607f3579602fa3d7d46f", size = 13182745, upload-time = "2025-08-07T19:05:18.709Z" },
|
1144
|
+
{ url = "https://files.pythonhosted.org/packages/5e/c4/f2176a310f26e6160deaf661ef60db6c3bb62b7a35e57ae28f27a09a7d63/ruff-0.12.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:dbea798fc0065ad0b84a2947b0aff4233f0cb30f226f00a2c5850ca4393de609", size = 14206885, upload-time = "2025-08-07T19:05:21.025Z" },
|
1145
|
+
{ url = "https://files.pythonhosted.org/packages/87/9d/98e162f3eeeb6689acbedbae5050b4b3220754554526c50c292b611d3a63/ruff-0.12.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49ebcaccc2bdad86fd51b7864e3d808aad404aab8df33d469b6e65584656263a", size = 13639381, upload-time = "2025-08-07T19:05:23.423Z" },
|
1146
|
+
{ url = "https://files.pythonhosted.org/packages/81/4e/1b7478b072fcde5161b48f64774d6edd59d6d198e4ba8918d9f4702b8043/ruff-0.12.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ac9c570634b98c71c88cb17badd90f13fc076a472ba6ef1d113d8ed3df109fb", size = 12613271, upload-time = "2025-08-07T19:05:25.507Z" },
|
1147
|
+
{ url = "https://files.pythonhosted.org/packages/e8/67/0c3c9179a3ad19791ef1b8f7138aa27d4578c78700551c60d9260b2c660d/ruff-0.12.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:560e0cd641e45591a3e42cb50ef61ce07162b9c233786663fdce2d8557d99818", size = 12847783, upload-time = "2025-08-07T19:05:28.14Z" },
|
1148
|
+
{ url = "https://files.pythonhosted.org/packages/4e/2a/0b6ac3dd045acf8aa229b12c9c17bb35508191b71a14904baf99573a21bd/ruff-0.12.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:71c83121512e7743fba5a8848c261dcc454cafb3ef2934a43f1b7a4eb5a447ea", size = 11702672, upload-time = "2025-08-07T19:05:30.413Z" },
|
1149
|
+
{ url = "https://files.pythonhosted.org/packages/9d/ee/f9fdc9f341b0430110de8b39a6ee5fa68c5706dc7c0aa940817947d6937e/ruff-0.12.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:de4429ef2ba091ecddedd300f4c3f24bca875d3d8b23340728c3cb0da81072c3", size = 11440626, upload-time = "2025-08-07T19:05:32.492Z" },
|
1150
|
+
{ url = "https://files.pythonhosted.org/packages/89/fb/b3aa2d482d05f44e4d197d1de5e3863feb13067b22c571b9561085c999dc/ruff-0.12.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a2cab5f60d5b65b50fba39a8950c8746df1627d54ba1197f970763917184b161", size = 12462162, upload-time = "2025-08-07T19:05:34.449Z" },
|
1151
|
+
{ url = "https://files.pythonhosted.org/packages/18/9f/5c5d93e1d00d854d5013c96e1a92c33b703a0332707a7cdbd0a4880a84fb/ruff-0.12.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:45c32487e14f60b88aad6be9fd5da5093dbefb0e3e1224131cb1d441d7cb7d46", size = 12913212, upload-time = "2025-08-07T19:05:36.541Z" },
|
1152
|
+
{ url = "https://files.pythonhosted.org/packages/71/13/ab9120add1c0e4604c71bfc2e4ef7d63bebece0cfe617013da289539cef8/ruff-0.12.8-py3-none-win32.whl", hash = "sha256:daf3475060a617fd5bc80638aeaf2f5937f10af3ec44464e280a9d2218e720d3", size = 11694382, upload-time = "2025-08-07T19:05:38.468Z" },
|
1153
|
+
{ url = "https://files.pythonhosted.org/packages/f6/dc/a2873b7c5001c62f46266685863bee2888caf469d1edac84bf3242074be2/ruff-0.12.8-py3-none-win_amd64.whl", hash = "sha256:7209531f1a1fcfbe8e46bcd7ab30e2f43604d8ba1c49029bb420b103d0b5f76e", size = 12740482, upload-time = "2025-08-07T19:05:40.391Z" },
|
1154
|
+
{ url = "https://files.pythonhosted.org/packages/cb/5c/799a1efb8b5abab56e8a9f2a0b72d12bd64bb55815e9476c7d0a2887d2f7/ruff-0.12.8-py3-none-win_arm64.whl", hash = "sha256:c90e1a334683ce41b0e7a04f41790c429bf5073b62c1ae701c9dc5b3d14f0749", size = 11884718, upload-time = "2025-08-07T19:05:42.866Z" },
|
1139
1155
|
]
|
1140
1156
|
|
1141
1157
|
[[package]]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|