sybilion 0.1.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 (51) hide show
  1. sybilion-0.1.0/LICENSE +17 -0
  2. sybilion-0.1.0/PKG-INFO +75 -0
  3. sybilion-0.1.0/README.md +45 -0
  4. sybilion-0.1.0/pyproject.toml +41 -0
  5. sybilion-0.1.0/setup.cfg +4 -0
  6. sybilion-0.1.0/sybilion/__init__.py +55 -0
  7. sybilion-0.1.0/sybilion/_api/__init__.py +59 -0
  8. sybilion-0.1.0/sybilion/_api/api/__init__.py +5 -0
  9. sybilion-0.1.0/sybilion/_api/api/default_api.py +3089 -0
  10. sybilion-0.1.0/sybilion/_api/api_client.py +797 -0
  11. sybilion-0.1.0/sybilion/_api/api_response.py +21 -0
  12. sybilion-0.1.0/sybilion/_api/configuration.py +574 -0
  13. sybilion-0.1.0/sybilion/_api/exceptions.py +216 -0
  14. sybilion-0.1.0/sybilion/_api/models/__init__.py +42 -0
  15. sybilion-0.1.0/sybilion/_api/models/api_v1_forecasts_id_get200_response.py +118 -0
  16. sybilion-0.1.0/sybilion/_api/models/api_v1_forecasts_post202_response.py +93 -0
  17. sybilion-0.1.0/sybilion/_api/models/api_v1_jobs_get200_response.py +101 -0
  18. sybilion-0.1.0/sybilion/_api/models/api_v1_usage_get200_response.py +101 -0
  19. sybilion-0.1.0/sybilion/_api/models/auto_recharge_patch.py +93 -0
  20. sybilion-0.1.0/sybilion/_api/models/auto_recharge_state.py +105 -0
  21. sybilion-0.1.0/sybilion/_api/models/catalog_list_response.py +87 -0
  22. sybilion-0.1.0/sybilion/_api/models/checkout_request.py +89 -0
  23. sybilion-0.1.0/sybilion/_api/models/error_message.py +87 -0
  24. sybilion-0.1.0/sybilion/_api/models/euro_tranche.py +98 -0
  25. sybilion-0.1.0/sybilion/_api/models/filters.py +92 -0
  26. sybilion-0.1.0/sybilion/_api/models/forecast_artifact_meta.py +93 -0
  27. sybilion-0.1.0/sybilion/_api/models/forecast_request_v1.py +126 -0
  28. sybilion-0.1.0/sybilion/_api/models/job_summary.py +128 -0
  29. sybilion-0.1.0/sybilion/_api/models/jobs_pagination.py +112 -0
  30. sybilion-0.1.0/sybilion/_api/models/me_response.py +126 -0
  31. sybilion-0.1.0/sybilion/_api/models/me_response_signup_trial.py +94 -0
  32. sybilion-0.1.0/sybilion/_api/models/pagination.py +112 -0
  33. sybilion-0.1.0/sybilion/_api/models/recommend_request_v1.py +111 -0
  34. sybilion-0.1.0/sybilion/_api/models/tier_config.py +99 -0
  35. sybilion-0.1.0/sybilion/_api/models/tiers_response.py +110 -0
  36. sybilion-0.1.0/sybilion/_api/models/tiers_response_progress.py +91 -0
  37. sybilion-0.1.0/sybilion/_api/models/timeseries_metadata.py +92 -0
  38. sybilion-0.1.0/sybilion/_api/models/usage_event.py +104 -0
  39. sybilion-0.1.0/sybilion/_api/models/validation_error_response.py +104 -0
  40. sybilion-0.1.0/sybilion/_api/models/validation_error_response_details_inner.py +89 -0
  41. sybilion-0.1.0/sybilion/_api/py.typed +0 -0
  42. sybilion-0.1.0/sybilion/_api/rest.py +257 -0
  43. sybilion-0.1.0/sybilion/client.py +100 -0
  44. sybilion-0.1.0/sybilion/defaults_gen.py +3 -0
  45. sybilion-0.1.0/sybilion/env.py +27 -0
  46. sybilion-0.1.0/sybilion.egg-info/PKG-INFO +75 -0
  47. sybilion-0.1.0/sybilion.egg-info/SOURCES.txt +49 -0
  48. sybilion-0.1.0/sybilion.egg-info/dependency_links.txt +1 -0
  49. sybilion-0.1.0/sybilion.egg-info/requires.txt +8 -0
  50. sybilion-0.1.0/sybilion.egg-info/top_level.txt +1 -0
  51. sybilion-0.1.0/tests/test_portal_client.py +85 -0
sybilion-0.1.0/LICENSE ADDED
@@ -0,0 +1,17 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ Copyright 2026 Mir-Insight
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
@@ -0,0 +1,75 @@
1
+ Metadata-Version: 2.4
2
+ Name: sybilion
3
+ Version: 0.1.0
4
+ Summary: Official Python SDK for the Sybilion API.
5
+ Author-email: Sybilion <support@sybilion.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Documentation, https://docs.sybilion.com
8
+ Keywords: sybilion,forecasting,drivers,api,sdk
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: urllib3>=2.0
23
+ Requires-Dist: python-dateutil>=2.8.2
24
+ Requires-Dist: pydantic>=2
25
+ Requires-Dist: typing-extensions>=4.7.1
26
+ Provides-Extra: dev
27
+ Requires-Dist: pytest>=8.0; extra == "dev"
28
+ Requires-Dist: build>=1.2; extra == "dev"
29
+ Dynamic: license-file
30
+
31
+ # Sybilion Python SDK
32
+
33
+ Official Python SDK for the [Sybilion API](https://docs.sybilion.com).
34
+
35
+ ```bash
36
+ pip install sybilion
37
+ ```
38
+
39
+ Requires Python 3.10+.
40
+
41
+ ## Quick use
42
+
43
+ ```python
44
+ import os
45
+
46
+ from sybilion import Client
47
+
48
+ c = Client(token=os.environ["SYBILION_API_TOKEN"])
49
+ me = c.raw.api_v1_me_get()
50
+ print(me.user_id, me.available_eur_cents, me.api_usage_tier)
51
+ ```
52
+
53
+ The token is an API key (`sk_ops_...`) created in the Developers Portal, or a dashboard session token. The default base URL is `https://api.sybilion.dev`; override per-process with `SYBILION_API_BASE_URL` or per-call via the `base_url=` argument.
54
+
55
+ ## What's in the box
56
+
57
+ - `sybilion.Client` — Bearer auth, ergonomic helpers.
58
+ - `client.wait_forecast(job_id)` — polls `GET /api/v1/forecasts/{id}` until settled.
59
+ - `client.iter_usage_pages(...)`, `client.iter_jobs_pages(...)` — paginated iterators.
60
+ - `client.raw` — escape hatch to the OpenAPI-generated `DefaultApi` for any endpoint not yet wrapped.
61
+ - Typed exceptions (`sybilion.ApiException` and per-status subclasses).
62
+
63
+ ## Documentation
64
+
65
+ Full guides, feature walkthroughs, API reference, and SDK patterns: **<https://docs.sybilion.com>**.
66
+
67
+ ## Support
68
+
69
+ - Email — [support@sybilion.com](mailto:support@sybilion.com)
70
+ - Slack — [Sybilion Community](https://join.slack.com/t/sybilioncommunity/shared_invite/zt-3y6vx56nk-WJu35eLxkyFQr~Yfko6RjQ)
71
+ - Discord — [Sybilion Developers Community](https://discord.gg/CEpEvUB7)
72
+
73
+ ## License
74
+
75
+ [Apache 2.0](LICENSE).
@@ -0,0 +1,45 @@
1
+ # Sybilion Python SDK
2
+
3
+ Official Python SDK for the [Sybilion API](https://docs.sybilion.com).
4
+
5
+ ```bash
6
+ pip install sybilion
7
+ ```
8
+
9
+ Requires Python 3.10+.
10
+
11
+ ## Quick use
12
+
13
+ ```python
14
+ import os
15
+
16
+ from sybilion import Client
17
+
18
+ c = Client(token=os.environ["SYBILION_API_TOKEN"])
19
+ me = c.raw.api_v1_me_get()
20
+ print(me.user_id, me.available_eur_cents, me.api_usage_tier)
21
+ ```
22
+
23
+ The token is an API key (`sk_ops_...`) created in the Developers Portal, or a dashboard session token. The default base URL is `https://api.sybilion.dev`; override per-process with `SYBILION_API_BASE_URL` or per-call via the `base_url=` argument.
24
+
25
+ ## What's in the box
26
+
27
+ - `sybilion.Client` — Bearer auth, ergonomic helpers.
28
+ - `client.wait_forecast(job_id)` — polls `GET /api/v1/forecasts/{id}` until settled.
29
+ - `client.iter_usage_pages(...)`, `client.iter_jobs_pages(...)` — paginated iterators.
30
+ - `client.raw` — escape hatch to the OpenAPI-generated `DefaultApi` for any endpoint not yet wrapped.
31
+ - Typed exceptions (`sybilion.ApiException` and per-status subclasses).
32
+
33
+ ## Documentation
34
+
35
+ Full guides, feature walkthroughs, API reference, and SDK patterns: **<https://docs.sybilion.com>**.
36
+
37
+ ## Support
38
+
39
+ - Email — [support@sybilion.com](mailto:support@sybilion.com)
40
+ - Slack — [Sybilion Community](https://join.slack.com/t/sybilioncommunity/shared_invite/zt-3y6vx56nk-WJu35eLxkyFQr~Yfko6RjQ)
41
+ - Discord — [Sybilion Developers Community](https://discord.gg/CEpEvUB7)
42
+
43
+ ## License
44
+
45
+ [Apache 2.0](LICENSE).
@@ -0,0 +1,41 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "sybilion"
7
+ version = "0.1.0"
8
+ description = "Official Python SDK for the Sybilion API."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "Apache-2.0"
12
+ authors = [{ name = "Sybilion", email = "support@sybilion.com" }]
13
+ keywords = ["sybilion", "forecasting", "drivers", "api", "sdk"]
14
+ classifiers = [
15
+ "Development Status :: 4 - Beta",
16
+ "Intended Audience :: Developers",
17
+ "Operating System :: OS Independent",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3 :: Only",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Topic :: Software Development :: Libraries :: Python Modules",
25
+ ]
26
+ dependencies = [
27
+ "urllib3>=2.0",
28
+ "python-dateutil>=2.8.2",
29
+ "pydantic>=2",
30
+ "typing-extensions>=4.7.1",
31
+ ]
32
+
33
+ [project.optional-dependencies]
34
+ dev = ["pytest>=8.0", "build>=1.2"]
35
+
36
+ [project.urls]
37
+ Documentation = "https://docs.sybilion.com"
38
+
39
+ [tool.setuptools.packages.find]
40
+ where = ["."]
41
+ include = ["sybilion*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,55 @@
1
+ """Sybilion API client.
2
+
3
+ The official Python SDK for the Sybilion API. Install with ``pip install sybilion``.
4
+
5
+ Quick use:
6
+
7
+ from sybilion import Client
8
+
9
+ c = Client(token="sk_ops_...")
10
+ me = c.raw.api_v1_me_get()
11
+
12
+ The low-level OpenAPI-generated client lives at ``sybilion._api`` and is exposed
13
+ through ``Client.raw`` for endpoints not yet wrapped by the ergonomic helpers.
14
+ """
15
+
16
+ from sybilion._api.exceptions import (
17
+ ApiException,
18
+ ApiTypeError,
19
+ ApiValueError,
20
+ BadRequestException,
21
+ ConflictException,
22
+ ForbiddenException,
23
+ NotFoundException,
24
+ OpenApiException,
25
+ ServiceException,
26
+ UnauthorizedException,
27
+ UnprocessableEntityException,
28
+ )
29
+ from sybilion.client import Client
30
+ from sybilion.defaults_gen import DEFAULT_PUBLIC_API_BASE_URL
31
+ from sybilion.env import (
32
+ OPERATIONAL_API_BASE_URL_ENV,
33
+ SYBILION_API_BASE_URL_ENV,
34
+ resolve_api_base_url,
35
+ )
36
+
37
+ __all__ = [
38
+ "Client",
39
+ "DEFAULT_PUBLIC_API_BASE_URL",
40
+ "SYBILION_API_BASE_URL_ENV",
41
+ "OPERATIONAL_API_BASE_URL_ENV",
42
+ "resolve_api_base_url",
43
+ # Exception types re-exported from the generated client for convenience.
44
+ "ApiException",
45
+ "ApiTypeError",
46
+ "ApiValueError",
47
+ "BadRequestException",
48
+ "ConflictException",
49
+ "ForbiddenException",
50
+ "NotFoundException",
51
+ "OpenApiException",
52
+ "ServiceException",
53
+ "UnauthorizedException",
54
+ "UnprocessableEntityException",
55
+ ]
@@ -0,0 +1,59 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ Sybilion API
7
+
8
+ The Sybilion API powers the Sybilion Developers Portal: forecasts, drivers, catalog, account and usage. Authenticate every request with `Authorization: Bearer <token>` using either an API key created in the Developers Portal or an Auth0 access token from your dashboard session.
9
+
10
+ The version of the OpenAPI document: 0.1.0
11
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
+
13
+ Do not edit the class manually.
14
+ """ # noqa: E501
15
+
16
+
17
+ __version__ = "1.0.0"
18
+
19
+ # import apis into sdk package
20
+ from sybilion._api.api.default_api import DefaultApi
21
+
22
+ # import ApiClient
23
+ from sybilion._api.api_response import ApiResponse
24
+ from sybilion._api.api_client import ApiClient
25
+ from sybilion._api.configuration import Configuration
26
+ from sybilion._api.exceptions import OpenApiException
27
+ from sybilion._api.exceptions import ApiTypeError
28
+ from sybilion._api.exceptions import ApiValueError
29
+ from sybilion._api.exceptions import ApiKeyError
30
+ from sybilion._api.exceptions import ApiAttributeError
31
+ from sybilion._api.exceptions import ApiException
32
+
33
+ # import models into sdk package
34
+ from sybilion._api.models.api_v1_forecasts_id_get200_response import ApiV1ForecastsIdGet200Response
35
+ from sybilion._api.models.api_v1_forecasts_post202_response import ApiV1ForecastsPost202Response
36
+ from sybilion._api.models.api_v1_jobs_get200_response import ApiV1JobsGet200Response
37
+ from sybilion._api.models.api_v1_usage_get200_response import ApiV1UsageGet200Response
38
+ from sybilion._api.models.auto_recharge_patch import AutoRechargePatch
39
+ from sybilion._api.models.auto_recharge_state import AutoRechargeState
40
+ from sybilion._api.models.catalog_list_response import CatalogListResponse
41
+ from sybilion._api.models.checkout_request import CheckoutRequest
42
+ from sybilion._api.models.error_message import ErrorMessage
43
+ from sybilion._api.models.euro_tranche import EuroTranche
44
+ from sybilion._api.models.filters import Filters
45
+ from sybilion._api.models.forecast_artifact_meta import ForecastArtifactMeta
46
+ from sybilion._api.models.forecast_request_v1 import ForecastRequestV1
47
+ from sybilion._api.models.job_summary import JobSummary
48
+ from sybilion._api.models.jobs_pagination import JobsPagination
49
+ from sybilion._api.models.me_response import MeResponse
50
+ from sybilion._api.models.me_response_signup_trial import MeResponseSignupTrial
51
+ from sybilion._api.models.pagination import Pagination
52
+ from sybilion._api.models.recommend_request_v1 import RecommendRequestV1
53
+ from sybilion._api.models.tier_config import TierConfig
54
+ from sybilion._api.models.tiers_response import TiersResponse
55
+ from sybilion._api.models.tiers_response_progress import TiersResponseProgress
56
+ from sybilion._api.models.timeseries_metadata import TimeseriesMetadata
57
+ from sybilion._api.models.usage_event import UsageEvent
58
+ from sybilion._api.models.validation_error_response import ValidationErrorResponse
59
+ from sybilion._api.models.validation_error_response_details_inner import ValidationErrorResponseDetailsInner
@@ -0,0 +1,5 @@
1
+ # flake8: noqa
2
+
3
+ # import apis into api package
4
+ from sybilion._api.api.default_api import DefaultApi
5
+