diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 809fed12..a817334f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.13.0" + ".": "4.14.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 9f1d47fd..f4571777 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 118 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-9dda3e74d276c581c08bea0cad47ae390143d94640f267d827caf234301f2721.yml -openapi_spec_hash: 60daf7a378cdf7dd1f7338c303e2d661 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-d63c8075b48441663736b457f8ad859c58cc3e31dfbffb68db44c3f00562012c.yml +openapi_spec_hash: c47dbff685a0a449bfc1ad729c13a72e config_hash: 1f73a949b649ecfe6ec68ba1bb459dc2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 01fedede..369abc0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 4.14.0 (2025-09-05) + +Full Changelog: [v4.13.0...v4.14.0](https://github.com/orbcorp/orb-python/compare/v4.13.0...v4.14.0) + +### Features + +* **api:** api update ([95bd096](https://github.com/orbcorp/orb-python/commit/95bd096525c8f471fb3f8f31bafb1be1c80af9d7)) + + +### Chores + +* **internal:** move mypy configurations to `pyproject.toml` file ([255e19f](https://github.com/orbcorp/orb-python/commit/255e19fa3a417e6fd4aa372cc4e3e9b65ccf82c2)) + ## 4.13.0 (2025-09-03) Full Changelog: [v4.12.0...v4.13.0](https://github.com/orbcorp/orb-python/compare/v4.12.0...v4.13.0) diff --git a/mypy.ini b/mypy.ini deleted file mode 100644 index 35b50327..00000000 --- a/mypy.ini +++ /dev/null @@ -1,50 +0,0 @@ -[mypy] -pretty = True -show_error_codes = True - -# Exclude _files.py because mypy isn't smart enough to apply -# the correct type narrowing and as this is an internal module -# it's fine to just use Pyright. -# -# We also exclude our `tests` as mypy doesn't always infer -# types correctly and Pyright will still catch any type errors. -exclude = ^(src/orb/_files\.py|_dev/.*\.py|tests/.*)$ - -strict_equality = True -implicit_reexport = True -check_untyped_defs = True -no_implicit_optional = True - -warn_return_any = True -warn_unreachable = True -warn_unused_configs = True - -# Turn these options off as it could cause conflicts -# with the Pyright options. -warn_unused_ignores = False -warn_redundant_casts = False - -disallow_any_generics = True -disallow_untyped_defs = True -disallow_untyped_calls = True -disallow_subclassing_any = True -disallow_incomplete_defs = True -disallow_untyped_decorators = True -cache_fine_grained = True - -# By default, mypy reports an error if you assign a value to the result -# of a function call that doesn't return anything. We do this in our test -# cases: -# ``` -# result = ... -# assert result is None -# ``` -# Changing this codegen to make mypy happy would increase complexity -# and would not be worth it. -disable_error_code = func-returns-value,overload-cannot-match - -# https://github.com/python/mypy/issues/12162 -[mypy.overrides] -module = "black.files.*" -ignore_errors = true -ignore_missing_imports = true diff --git a/pyproject.toml b/pyproject.toml index e9fde043..8b02ba29 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "orb-billing" -version = "4.13.0" +version = "4.14.0" description = "The official Python library for the orb API" dynamic = ["readme"] license = "Apache-2.0" @@ -157,6 +157,58 @@ reportOverlappingOverload = false reportImportCycles = false reportPrivateUsage = false +[tool.mypy] +pretty = true +show_error_codes = true + +# Exclude _files.py because mypy isn't smart enough to apply +# the correct type narrowing and as this is an internal module +# it's fine to just use Pyright. +# +# We also exclude our `tests` as mypy doesn't always infer +# types correctly and Pyright will still catch any type errors. +exclude = ['src/orb/_files.py', '_dev/.*.py', 'tests/.*'] + +strict_equality = true +implicit_reexport = true +check_untyped_defs = true +no_implicit_optional = true + +warn_return_any = true +warn_unreachable = true +warn_unused_configs = true + +# Turn these options off as it could cause conflicts +# with the Pyright options. +warn_unused_ignores = false +warn_redundant_casts = false + +disallow_any_generics = true +disallow_untyped_defs = true +disallow_untyped_calls = true +disallow_subclassing_any = true +disallow_incomplete_defs = true +disallow_untyped_decorators = true +cache_fine_grained = true + +# By default, mypy reports an error if you assign a value to the result +# of a function call that doesn't return anything. We do this in our test +# cases: +# ``` +# result = ... +# assert result is None +# ``` +# Changing this codegen to make mypy happy would increase complexity +# and would not be worth it. +disable_error_code = "func-returns-value,overload-cannot-match" + +# https://github.com/python/mypy/issues/12162 +[[tool.mypy.overrides]] +module = "black.files.*" +ignore_errors = true +ignore_missing_imports = true + + [tool.ruff] line-length = 120 output-format = "grouped" diff --git a/src/orb/_version.py b/src/orb/_version.py index 9f63931e..dfc6f577 100644 --- a/src/orb/_version.py +++ b/src/orb/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "orb" -__version__ = "4.13.0" # x-release-please-version +__version__ = "4.14.0" # x-release-please-version diff --git a/src/orb/types/shared/price.py b/src/orb/types/shared/price.py index add25613..d8fe20a9 100644 --- a/src/orb/types/shared/price.py +++ b/src/orb/types/shared/price.py @@ -180,7 +180,7 @@ class UnitPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -253,7 +253,7 @@ class TieredPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -329,7 +329,7 @@ class BulkPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -402,7 +402,7 @@ class PackagePrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -475,7 +475,7 @@ class MatrixPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -564,7 +564,7 @@ class ThresholdTotalAmountPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -656,7 +656,7 @@ class TieredPackagePrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -754,7 +754,7 @@ class TieredWithMinimumPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -849,7 +849,7 @@ class GroupedTieredPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -941,7 +941,7 @@ class TieredPackageWithMinimumPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1028,7 +1028,7 @@ class PackageWithAllocationPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1106,7 +1106,7 @@ class UnitWithPercentPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1182,7 +1182,7 @@ class MatrixWithAllocationPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1268,7 +1268,7 @@ class TieredWithProrationPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1346,7 +1346,7 @@ class UnitWithProrationPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1433,7 +1433,7 @@ class GroupedAllocationPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1519,7 +1519,7 @@ class BulkWithProrationPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1603,7 +1603,7 @@ class GroupedWithProratedMinimumPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1718,7 +1718,7 @@ class GroupedWithMeteredMinimumPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1805,7 +1805,7 @@ class GroupedWithMinMaxThresholdsPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1897,7 +1897,7 @@ class MatrixWithDisplayNamePrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -1992,7 +1992,7 @@ class GroupedTieredPackagePrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -2086,7 +2086,7 @@ class MaxGroupTieredPackagePrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -2186,7 +2186,7 @@ class ScalableMatrixWithUnitPricingPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -2294,7 +2294,7 @@ class ScalableMatrixWithTieredPricingPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -2391,7 +2391,7 @@ class CumulativeGroupedBulkPrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces. @@ -2472,7 +2472,7 @@ class MinimumCompositePrice(BaseModel): plan_phase_order: Optional[int] = None - price_type: Literal["usage_price", "fixed_price"] + price_type: Literal["usage_price", "fixed_price", "composite_price"] replaces_price_id: Optional[str] = None """The price id this price replaces.