dataquery-sdk 1.0.0__tar.gz → 1.2.0__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 (52) hide show
  1. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/CHANGELOG.md +9 -1
  2. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/MANIFEST.in +1 -3
  3. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/PKG-INFO +1 -1
  4. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/__init__.py +16 -11
  5. dataquery_sdk-1.2.0/dataquery/cli.py +776 -0
  6. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/config/env.py +0 -45
  7. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/config/logging.py +1 -12
  8. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/constants/__init__.py +5 -5
  9. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/constants/api.py +1 -5
  10. dataquery_sdk-1.2.0/dataquery/constants/download.py +33 -0
  11. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/constants/rate_limit.py +0 -1
  12. dataquery_sdk-1.2.0/dataquery/constants/sse.py +10 -0
  13. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/core/_mixins.py +185 -51
  14. dataquery_sdk-1.2.0/dataquery/core/_sync.py +97 -0
  15. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/core/client.py +75 -135
  16. dataquery_sdk-1.2.0/dataquery/data/function.json +1024 -0
  17. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/dataquery.py +46 -113
  18. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/download/parallel.py +0 -43
  19. dataquery_sdk-1.2.0/dataquery/export.py +153 -0
  20. dataquery_sdk-1.2.0/dataquery/function_registry.py +148 -0
  21. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/sse/client.py +155 -100
  22. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/sse/event_store.py +0 -9
  23. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/sse/subscriber.py +2 -48
  24. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/transport/__init__.py +0 -6
  25. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/transport/auth.py +32 -38
  26. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/transport/connection_pool.py +8 -23
  27. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/transport/rate_limiter.py +18 -183
  28. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/transport/retry.py +26 -24
  29. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/types/__init__.py +0 -2
  30. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/types/exceptions.py +0 -4
  31. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/types/models.py +28 -91
  32. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/utils.py +120 -44
  33. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery_sdk.egg-info/PKG-INFO +1 -1
  34. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery_sdk.egg-info/SOURCES.txt +4 -0
  35. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/pyproject.toml +5 -4
  36. dataquery_sdk-1.0.0/dataquery/cli.py +0 -363
  37. dataquery_sdk-1.0.0/dataquery/constants/download.py +0 -51
  38. dataquery_sdk-1.0.0/dataquery/constants/sse.py +0 -9
  39. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/CONTRIBUTING.md +0 -0
  40. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/LICENSE +0 -0
  41. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/README.md +0 -0
  42. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/config/__init__.py +0 -0
  43. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/core/__init__.py +0 -0
  44. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/download/__init__.py +0 -0
  45. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/download/utils.py +0 -0
  46. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/py.typed +0 -0
  47. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery/sse/__init__.py +0 -0
  48. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery_sdk.egg-info/dependency_links.txt +0 -0
  49. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery_sdk.egg-info/entry_points.txt +0 -0
  50. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery_sdk.egg-info/requires.txt +0 -0
  51. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/dataquery_sdk.egg-info/top_level.txt +0 -0
  52. {dataquery_sdk-1.0.0 → dataquery_sdk-1.2.0}/setup.cfg +0 -0
@@ -33,4 +33,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
33
33
  ## [1.0.0] - 2026-06-03
34
34
  - Stable 1.0 release
35
35
  - Bumped minimum Python to 3.12; added 3.14 to test matrix
36
- - Security floors: idna>=3.15, urllib3>=2.7.0, pymdown-extensions>=10.21.3
36
+ - Security floors: idna>=3.15, urllib3>=2.7.0, pymdown-extensions>=10.21.3
37
+ ## [1.1.0] - 2026-06-10
38
+ - Reliability: 429 responses are now retried instead of surfaced immediately; the server `Retry-After` is honored when timing retry backoff; adaptive rate-limit backoff now engages instead of staying at zero
39
+ - Auth: OAuth token-fetch network/timeout failures now raise `NetworkError` (previously `AuthenticationError`); token acquisition is single-flight so concurrent callers don't stampede the token endpoint
40
+ - SSE: jittered reconnect backoff to avoid synchronized reconnect storms; stop reconnecting on fatal 403/404 and bound retries on 401; idle `sock_read` timeout distinguished from the heartbeat watchdog; honor the server `retry:` hint; strip a leading UTF-8 BOM; larger read buffer guards against `LineTooLong`; `stop()` is await-safe under concurrent callers
41
+ ## [1.2.0] - 2026-06-29
42
+ - DataQuery functions: new `function-help` command for local lookup of all 158 DQ function syntaxes, parameters, and categories (no API call); backed by a static, frozen `dataquery/data/function.json` dataset
43
+
44
+
@@ -2,14 +2,12 @@ include README.md
2
2
  include LICENSE
3
3
  include CHANGELOG.md
4
4
  include CONTRIBUTING.md
5
- include requirements.txt
6
- include requirements-dev.txt
7
5
  include pyproject.toml
8
- include .env.template
9
6
 
10
7
  # Include package data
11
8
  recursive-include dataquery *.py
12
9
  recursive-include dataquery *.typed
10
+ recursive-include dataquery *.json
13
11
 
14
12
  # Exclude development and testing files
15
13
  recursive-exclude tests *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataquery-sdk
3
- Version: 1.0.0
3
+ Version: 1.2.0
4
4
  Summary: Python SDK for DATAQUERY Data API - Query, download, and check availability of economic data files
5
5
  Author-email: DATAQUERY SDK Team <dataquery_support@jpmorgan.com>
6
6
  Project-URL: Homepage, https://github.com/dataquery/dataquery-sdk
@@ -14,16 +14,23 @@ Quick Start:
14
14
  For more information, visit: https://github.com/dataquery/dataquery-sdk
15
15
  """
16
16
 
17
- __version__ = "1.0.0"
17
+ __version__ = "1.2.0"
18
18
  __author__ = "DATAQUERY SDK Team"
19
19
  __email__ = "dataquery_support@jpmorgan.com"
20
20
  __license__ = "MIT"
21
21
  __url__ = "https://github.com/jpmorganchase/dataquery-sdk"
22
22
 
23
- # Core
24
23
  from .config import EnvConfig
25
24
  from .core import DataQueryClient
26
25
  from .dataquery import DataQuery
26
+ from .function_registry import (
27
+ format_function_syntax,
28
+ get_function_categories,
29
+ get_function_param_counts,
30
+ get_function_registry,
31
+ list_functions_by_category,
32
+ lookup_function,
33
+ )
27
34
  from .sse.client import SSEClient, SSEEvent
28
35
  from .sse.subscriber import NotificationDownloadManager
29
36
  from .types.exceptions import (
@@ -57,12 +64,9 @@ from .types.models import (
57
64
  GroupList,
58
65
  )
59
66
 
60
- # Type aliases for convenience
61
67
  __all__ = [
62
- # Core
63
68
  "DataQuery",
64
69
  "DataQueryClient",
65
- # Models
66
70
  "ClientConfig",
67
71
  "Group",
68
72
  "GroupList",
@@ -75,7 +79,6 @@ __all__ = [
75
79
  "DownloadOptions",
76
80
  "DownloadProgress",
77
81
  "DateRange",
78
- # Exceptions
79
82
  "DataQueryError",
80
83
  "AuthenticationError",
81
84
  "ValidationError",
@@ -90,18 +93,20 @@ __all__ = [
90
93
  "DateRangeError",
91
94
  "FileTypeError",
92
95
  "WorkflowError",
93
- # Configuration
94
96
  "EnvConfig",
95
- # SSE notification-driven download
96
97
  "NotificationDownloadManager",
97
98
  "SSEClient",
98
99
  "SSEEvent",
100
+ "format_function_syntax",
101
+ "get_function_categories",
102
+ "get_function_param_counts",
103
+ "get_function_registry",
104
+ "list_functions_by_category",
105
+ "lookup_function",
99
106
  ]
100
107
 
101
- # Version info
102
108
  __version_info__ = tuple(int(x) for x in __version__.split("."))
103
109
 
104
- # Package metadata
105
110
  __package_info__ = {
106
111
  "name": "dataquery-sdk",
107
112
  "version": __version__,
@@ -110,5 +115,5 @@ __package_info__ = {
110
115
  "license": __license__,
111
116
  "url": __url__,
112
117
  "description": "Python SDK for DATAQUERY Data API - Query, download, and check availability of economic data files",
113
- "python_requires": ">=3.11",
118
+ "python_requires": ">=3.12",
114
119
  }