vanda-api 1.0.2__tar.gz → 1.0.3__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 (36) hide show
  1. {vanda_api-1.0.2 → vanda_api-1.0.3}/PKG-INFO +1 -83
  2. {vanda_api-1.0.2 → vanda_api-1.0.3}/README.md +0 -82
  3. {vanda_api-1.0.2 → vanda_api-1.0.3}/pyproject.toml +1 -1
  4. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/__init__.py +1 -1
  5. {vanda_api-1.0.2 → vanda_api-1.0.3}/.gitignore +0 -0
  6. {vanda_api-1.0.2 → vanda_api-1.0.3}/CHANGELOG.md +0 -0
  7. {vanda_api-1.0.2 → vanda_api-1.0.3}/LICENSE +0 -0
  8. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/_base/__init__.py +0 -0
  9. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/_base/async_base_client.py +0 -0
  10. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/_base/base_client.py +0 -0
  11. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/async_auth.py +0 -0
  12. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/async_client.py +0 -0
  13. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/auth.py +0 -0
  14. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/client.py +0 -0
  15. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/errors.py +0 -0
  16. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/models.py +0 -0
  17. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/retry.py +0 -0
  18. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/services/__init__.py +0 -0
  19. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/services/aggregates.py +0 -0
  20. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/services/async_aggregates.py +0 -0
  21. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/services/async_series.py +0 -0
  22. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/services/series.py +0 -0
  23. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/utils/__init__.py +0 -0
  24. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/utils/dates.py +0 -0
  25. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/utils/deprecation.py +0 -0
  26. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/utils/io.py +0 -0
  27. {vanda_api-1.0.2 → vanda_api-1.0.3}/src/vanda/utils/normalize.py +0 -0
  28. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/__init__.py +0 -0
  29. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_aggregates_client.py +0 -0
  30. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_async_aggregates_client.py +0 -0
  31. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_async_series_client.py +0 -0
  32. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_auth.py +0 -0
  33. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_dates.py +0 -0
  34. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_normalize.py +0 -0
  35. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_retry.py +0 -0
  36. {vanda_api-1.0.2 → vanda_api-1.0.3}/tests/test_series_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: vanda-api
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: Official Python SDK for Vanda Analytics Data API
5
5
  Project-URL: Homepage, https://gitlab.com/yourusername/vanda-api
6
6
  Project-URL: Documentation, https://gitlab.com/yourusername/vanda-api#readme
@@ -288,88 +288,6 @@ client = VandaClient(email="your_email@example.com", password="your_password")
288
288
  - `get_timeseries()` - Get timeseries for multiple aggregate id's
289
289
  - `get_constituents()` - Get constituents using Vanda identifier
290
290
 
291
- ### Positioning Data
292
-
293
- Accessed via `client.positioning`.
294
-
295
- - `get_timeseries()` - Get positioning timeseries for one or more series
296
- - `get_latest()` - Get the latest reading per series, with its crowding signal
297
- - `export_timeseries()` - Export positioning timeseries to file
298
- - `list_catalog()` - Search the catalog and filter by dimension
299
-
300
- ```python
301
- from vanda import VandaClient
302
-
303
- with VandaClient(token="YOUR_TOKEN_HERE") as client:
304
- catalog = client.positioning.list_catalog(sector="Energy", records_per_page=5)
305
- series_label = catalog["data"][0]["identity"]["series_label"]
306
-
307
- data = client.positioning.get_timeseries(
308
- series_ids=series_label,
309
- start_date="2025-01-01",
310
- end_date="2025-12-31",
311
- )
312
- print(data["count"], data["pagination"])
313
- ```
314
-
315
- Responses keep their envelope: alongside `data` you get `count`, `metric`,
316
- `revision`, `series_ids`, `version` and `pagination`. Use `pagination` to page -
317
- `records_per_page` defaults to 2000 and is capped by your access tier.
318
-
319
- Unlike aggregates, positioning does not accept `normalisation` /
320
- `normalisation_period`; its values are already z-scores. `transformation` and
321
- `window` must be passed together.
322
-
323
- ### Flow Data
324
-
325
- Accessed via `client.flow`.
326
-
327
- - `get_timeseries()` - Get flow timeseries for one or more series
328
- - `get_latest()` - Get the latest observation per series
329
- - `export_timeseries()` - Export flow timeseries to file
330
- - `list_catalog()` - Search the catalog and filter by dimension
331
-
332
- ```python
333
- from vanda import VandaClient
334
-
335
- with VandaClient(token="YOUR_TOKEN_HERE") as client:
336
- catalog = client.flow.list_catalog(metric="net", records_per_page=5)
337
-
338
- # Catalog entries are keyed by series_label. Read `series` for anything
339
- # per-series, and address series by `slug` - `series_id` changes when the
340
- # pipeline reloads.
341
- slug = catalog["data"][0]["series"][0]["slug"]
342
-
343
- data = client.flow.get_timeseries(
344
- series_ids=slug,
345
- metrics=["net", "buy"],
346
- start_date="2026-01-01",
347
- end_date="2026-08-03",
348
- )
349
- print(data["metrics"], data["unresolved"], data["pagination"])
350
- ```
351
-
352
- `series_ids`, `metrics` and `frequency` accept either a comma-separated string
353
- or a sequence. Identifiers that matched nothing are reported in `unresolved`
354
- rather than failing the request, so check it before treating a short result as
355
- complete.
356
-
357
- Unlike positioning, flow accepts `normalisation` / `normalisation_period` - each
358
- must be passed with its partner, as must `transformation` / `window`. A
359
- transformation has to resolve to exactly one series.
360
-
361
- For both services, if the transformation service is unavailable the
362
- untransformed rows are returned with `transformation.status` set to `"Failure"`
363
- rather than raising:
364
-
365
- ```python
366
- data = client.flow.get_timeseries(
367
- series_ids=slug, transformation="moving_avg", window="20"
368
- )
369
- if data["transformation"]["status"] == "Failure":
370
- print("untransformed:", data["transformation"]["detail"])
371
- ```
372
-
373
291
  ## Examples
374
292
 
375
293
  See `examples/` directory for complete usage examples.
@@ -250,88 +250,6 @@ client = VandaClient(email="your_email@example.com", password="your_password")
250
250
  - `get_timeseries()` - Get timeseries for multiple aggregate id's
251
251
  - `get_constituents()` - Get constituents using Vanda identifier
252
252
 
253
- ### Positioning Data
254
-
255
- Accessed via `client.positioning`.
256
-
257
- - `get_timeseries()` - Get positioning timeseries for one or more series
258
- - `get_latest()` - Get the latest reading per series, with its crowding signal
259
- - `export_timeseries()` - Export positioning timeseries to file
260
- - `list_catalog()` - Search the catalog and filter by dimension
261
-
262
- ```python
263
- from vanda import VandaClient
264
-
265
- with VandaClient(token="YOUR_TOKEN_HERE") as client:
266
- catalog = client.positioning.list_catalog(sector="Energy", records_per_page=5)
267
- series_label = catalog["data"][0]["identity"]["series_label"]
268
-
269
- data = client.positioning.get_timeseries(
270
- series_ids=series_label,
271
- start_date="2025-01-01",
272
- end_date="2025-12-31",
273
- )
274
- print(data["count"], data["pagination"])
275
- ```
276
-
277
- Responses keep their envelope: alongside `data` you get `count`, `metric`,
278
- `revision`, `series_ids`, `version` and `pagination`. Use `pagination` to page -
279
- `records_per_page` defaults to 2000 and is capped by your access tier.
280
-
281
- Unlike aggregates, positioning does not accept `normalisation` /
282
- `normalisation_period`; its values are already z-scores. `transformation` and
283
- `window` must be passed together.
284
-
285
- ### Flow Data
286
-
287
- Accessed via `client.flow`.
288
-
289
- - `get_timeseries()` - Get flow timeseries for one or more series
290
- - `get_latest()` - Get the latest observation per series
291
- - `export_timeseries()` - Export flow timeseries to file
292
- - `list_catalog()` - Search the catalog and filter by dimension
293
-
294
- ```python
295
- from vanda import VandaClient
296
-
297
- with VandaClient(token="YOUR_TOKEN_HERE") as client:
298
- catalog = client.flow.list_catalog(metric="net", records_per_page=5)
299
-
300
- # Catalog entries are keyed by series_label. Read `series` for anything
301
- # per-series, and address series by `slug` - `series_id` changes when the
302
- # pipeline reloads.
303
- slug = catalog["data"][0]["series"][0]["slug"]
304
-
305
- data = client.flow.get_timeseries(
306
- series_ids=slug,
307
- metrics=["net", "buy"],
308
- start_date="2026-01-01",
309
- end_date="2026-08-03",
310
- )
311
- print(data["metrics"], data["unresolved"], data["pagination"])
312
- ```
313
-
314
- `series_ids`, `metrics` and `frequency` accept either a comma-separated string
315
- or a sequence. Identifiers that matched nothing are reported in `unresolved`
316
- rather than failing the request, so check it before treating a short result as
317
- complete.
318
-
319
- Unlike positioning, flow accepts `normalisation` / `normalisation_period` - each
320
- must be passed with its partner, as must `transformation` / `window`. A
321
- transformation has to resolve to exactly one series.
322
-
323
- For both services, if the transformation service is unavailable the
324
- untransformed rows are returned with `transformation.status` set to `"Failure"`
325
- rather than raising:
326
-
327
- ```python
328
- data = client.flow.get_timeseries(
329
- series_ids=slug, transformation="moving_avg", window="20"
330
- )
331
- if data["transformation"]["status"] == "Failure":
332
- print("untransformed:", data["transformation"]["detail"])
333
- ```
334
-
335
253
  ## Examples
336
254
 
337
255
  See `examples/` directory for complete usage examples.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "vanda-api"
7
- version = "1.0.2"
7
+ version = "1.0.3"
8
8
  description = "Official Python SDK for Vanda Analytics Data API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -10,7 +10,7 @@ from vanda.errors import (
10
10
  VandaError,
11
11
  )
12
12
 
13
- __version__ = "0.1.0"
13
+ __version__ = "1.0.3"
14
14
 
15
15
  __all__ = [
16
16
  "VandaClient",
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