From 28a57463640f9be6ee2faa238731525a65adcb2a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 16:51:18 +0000 Subject: [PATCH 1/7] chore(internal): version bump (#460) From 7ede2cb2c3f741a69b3e5e47553dccc48d409ef6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:13:41 +0000 Subject: [PATCH 2/7] chore(internal): remove some duplicated imports (#462) --- src/orb/resources/customers/customers.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/orb/resources/customers/customers.py b/src/orb/resources/customers/customers.py index e584c033..c174abaf 100644 --- a/src/orb/resources/customers/customers.py +++ b/src/orb/resources/customers/customers.py @@ -23,14 +23,6 @@ customer_update_params, customer_update_by_external_id_params, ) -from .credits import ( - Credits, - AsyncCredits, - CreditsWithRawResponse, - AsyncCreditsWithRawResponse, - CreditsWithStreamingResponse, - AsyncCreditsWithStreamingResponse, -) from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven from ..._utils import ( maybe_transform, @@ -41,7 +33,14 @@ from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper from ...pagination import SyncPage, AsyncPage from ..._base_client import AsyncPaginator, make_request_options -from .credits.credits import Credits, AsyncCredits +from .credits.credits import ( + Credits, + AsyncCredits, + CreditsWithRawResponse, + AsyncCreditsWithRawResponse, + CreditsWithStreamingResponse, + AsyncCreditsWithStreamingResponse, +) from ...types.customer import Customer from .balance_transactions import ( BalanceTransactions, From 2487ca601d123fa24acc8135123f1029933c69c2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:49:37 +0000 Subject: [PATCH 3/7] chore(internal): updated imports (#463) --- src/orb/_client.py | 248 +++++++++++++++++++++++---------------------- 1 file changed, 128 insertions(+), 120 deletions(-) diff --git a/src/orb/_client.py b/src/orb/_client.py index 6b3f24c5..4a341ccc 100644 --- a/src/orb/_client.py +++ b/src/orb/_client.py @@ -8,7 +8,7 @@ import httpx -from . import resources, _exceptions +from . import _exceptions from ._qs import Querystring from ._types import ( NOT_GIVEN, @@ -25,6 +25,17 @@ get_async_library, ) from ._version import __version__ +from .resources import ( + items, + alerts, + metrics, + invoices, + webhooks, + top_level, + credit_notes, + subscriptions, + invoice_line_items, +) from ._streaming import Stream as Stream, AsyncStream as AsyncStream from ._exceptions import OrbError, APIStatusError from ._base_client import ( @@ -32,35 +43,30 @@ SyncAPIClient, AsyncAPIClient, ) +from .resources.plans import plans +from .resources.events import events +from .resources.prices import prices +from .resources.coupons import coupons +from .resources.customers import customers -__all__ = [ - "Timeout", - "Transport", - "ProxiesTypes", - "RequestOptions", - "resources", - "Orb", - "AsyncOrb", - "Client", - "AsyncClient", -] +__all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Orb", "AsyncOrb", "Client", "AsyncClient"] class Orb(SyncAPIClient): - top_level: resources.TopLevel - coupons: resources.Coupons - credit_notes: resources.CreditNotes - customers: resources.Customers - events: resources.Events - invoice_line_items: resources.InvoiceLineItems - invoices: resources.Invoices - items: resources.Items - metrics: resources.Metrics - plans: resources.Plans - prices: resources.Prices - subscriptions: resources.Subscriptions - webhooks: resources.Webhooks - alerts: resources.Alerts + top_level: top_level.TopLevel + coupons: coupons.Coupons + credit_notes: credit_notes.CreditNotes + customers: customers.Customers + events: events.Events + invoice_line_items: invoice_line_items.InvoiceLineItems + invoices: invoices.Invoices + items: items.Items + metrics: metrics.Metrics + plans: plans.Plans + prices: prices.Prices + subscriptions: subscriptions.Subscriptions + webhooks: webhooks.Webhooks + alerts: alerts.Alerts with_raw_response: OrbWithRawResponse with_streaming_response: OrbWithStreamedResponse @@ -128,20 +134,20 @@ def __init__( self._idempotency_header = "Idempotency-Key" - self.top_level = resources.TopLevel(self) - self.coupons = resources.Coupons(self) - self.credit_notes = resources.CreditNotes(self) - self.customers = resources.Customers(self) - self.events = resources.Events(self) - self.invoice_line_items = resources.InvoiceLineItems(self) - self.invoices = resources.Invoices(self) - self.items = resources.Items(self) - self.metrics = resources.Metrics(self) - self.plans = resources.Plans(self) - self.prices = resources.Prices(self) - self.subscriptions = resources.Subscriptions(self) - self.webhooks = resources.Webhooks(self) - self.alerts = resources.Alerts(self) + self.top_level = top_level.TopLevel(self) + self.coupons = coupons.Coupons(self) + self.credit_notes = credit_notes.CreditNotes(self) + self.customers = customers.Customers(self) + self.events = events.Events(self) + self.invoice_line_items = invoice_line_items.InvoiceLineItems(self) + self.invoices = invoices.Invoices(self) + self.items = items.Items(self) + self.metrics = metrics.Metrics(self) + self.plans = plans.Plans(self) + self.prices = prices.Prices(self) + self.subscriptions = subscriptions.Subscriptions(self) + self.webhooks = webhooks.Webhooks(self) + self.alerts = alerts.Alerts(self) self.with_raw_response = OrbWithRawResponse(self) self.with_streaming_response = OrbWithStreamedResponse(self) @@ -301,20 +307,20 @@ def _make_status_error( class AsyncOrb(AsyncAPIClient): - top_level: resources.AsyncTopLevel - coupons: resources.AsyncCoupons - credit_notes: resources.AsyncCreditNotes - customers: resources.AsyncCustomers - events: resources.AsyncEvents - invoice_line_items: resources.AsyncInvoiceLineItems - invoices: resources.AsyncInvoices - items: resources.AsyncItems - metrics: resources.AsyncMetrics - plans: resources.AsyncPlans - prices: resources.AsyncPrices - subscriptions: resources.AsyncSubscriptions - webhooks: resources.AsyncWebhooks - alerts: resources.AsyncAlerts + top_level: top_level.AsyncTopLevel + coupons: coupons.AsyncCoupons + credit_notes: credit_notes.AsyncCreditNotes + customers: customers.AsyncCustomers + events: events.AsyncEvents + invoice_line_items: invoice_line_items.AsyncInvoiceLineItems + invoices: invoices.AsyncInvoices + items: items.AsyncItems + metrics: metrics.AsyncMetrics + plans: plans.AsyncPlans + prices: prices.AsyncPrices + subscriptions: subscriptions.AsyncSubscriptions + webhooks: webhooks.AsyncWebhooks + alerts: alerts.AsyncAlerts with_raw_response: AsyncOrbWithRawResponse with_streaming_response: AsyncOrbWithStreamedResponse @@ -382,20 +388,20 @@ def __init__( self._idempotency_header = "Idempotency-Key" - self.top_level = resources.AsyncTopLevel(self) - self.coupons = resources.AsyncCoupons(self) - self.credit_notes = resources.AsyncCreditNotes(self) - self.customers = resources.AsyncCustomers(self) - self.events = resources.AsyncEvents(self) - self.invoice_line_items = resources.AsyncInvoiceLineItems(self) - self.invoices = resources.AsyncInvoices(self) - self.items = resources.AsyncItems(self) - self.metrics = resources.AsyncMetrics(self) - self.plans = resources.AsyncPlans(self) - self.prices = resources.AsyncPrices(self) - self.subscriptions = resources.AsyncSubscriptions(self) - self.webhooks = resources.AsyncWebhooks(self) - self.alerts = resources.AsyncAlerts(self) + self.top_level = top_level.AsyncTopLevel(self) + self.coupons = coupons.AsyncCoupons(self) + self.credit_notes = credit_notes.AsyncCreditNotes(self) + self.customers = customers.AsyncCustomers(self) + self.events = events.AsyncEvents(self) + self.invoice_line_items = invoice_line_items.AsyncInvoiceLineItems(self) + self.invoices = invoices.AsyncInvoices(self) + self.items = items.AsyncItems(self) + self.metrics = metrics.AsyncMetrics(self) + self.plans = plans.AsyncPlans(self) + self.prices = prices.AsyncPrices(self) + self.subscriptions = subscriptions.AsyncSubscriptions(self) + self.webhooks = webhooks.AsyncWebhooks(self) + self.alerts = alerts.AsyncAlerts(self) self.with_raw_response = AsyncOrbWithRawResponse(self) self.with_streaming_response = AsyncOrbWithStreamedResponse(self) @@ -556,70 +562,72 @@ def _make_status_error( class OrbWithRawResponse: def __init__(self, client: Orb) -> None: - self.top_level = resources.TopLevelWithRawResponse(client.top_level) - self.coupons = resources.CouponsWithRawResponse(client.coupons) - self.credit_notes = resources.CreditNotesWithRawResponse(client.credit_notes) - self.customers = resources.CustomersWithRawResponse(client.customers) - self.events = resources.EventsWithRawResponse(client.events) - self.invoice_line_items = resources.InvoiceLineItemsWithRawResponse(client.invoice_line_items) - self.invoices = resources.InvoicesWithRawResponse(client.invoices) - self.items = resources.ItemsWithRawResponse(client.items) - self.metrics = resources.MetricsWithRawResponse(client.metrics) - self.plans = resources.PlansWithRawResponse(client.plans) - self.prices = resources.PricesWithRawResponse(client.prices) - self.subscriptions = resources.SubscriptionsWithRawResponse(client.subscriptions) - self.alerts = resources.AlertsWithRawResponse(client.alerts) + self.top_level = top_level.TopLevelWithRawResponse(client.top_level) + self.coupons = coupons.CouponsWithRawResponse(client.coupons) + self.credit_notes = credit_notes.CreditNotesWithRawResponse(client.credit_notes) + self.customers = customers.CustomersWithRawResponse(client.customers) + self.events = events.EventsWithRawResponse(client.events) + self.invoice_line_items = invoice_line_items.InvoiceLineItemsWithRawResponse(client.invoice_line_items) + self.invoices = invoices.InvoicesWithRawResponse(client.invoices) + self.items = items.ItemsWithRawResponse(client.items) + self.metrics = metrics.MetricsWithRawResponse(client.metrics) + self.plans = plans.PlansWithRawResponse(client.plans) + self.prices = prices.PricesWithRawResponse(client.prices) + self.subscriptions = subscriptions.SubscriptionsWithRawResponse(client.subscriptions) + self.alerts = alerts.AlertsWithRawResponse(client.alerts) class AsyncOrbWithRawResponse: def __init__(self, client: AsyncOrb) -> None: - self.top_level = resources.AsyncTopLevelWithRawResponse(client.top_level) - self.coupons = resources.AsyncCouponsWithRawResponse(client.coupons) - self.credit_notes = resources.AsyncCreditNotesWithRawResponse(client.credit_notes) - self.customers = resources.AsyncCustomersWithRawResponse(client.customers) - self.events = resources.AsyncEventsWithRawResponse(client.events) - self.invoice_line_items = resources.AsyncInvoiceLineItemsWithRawResponse(client.invoice_line_items) - self.invoices = resources.AsyncInvoicesWithRawResponse(client.invoices) - self.items = resources.AsyncItemsWithRawResponse(client.items) - self.metrics = resources.AsyncMetricsWithRawResponse(client.metrics) - self.plans = resources.AsyncPlansWithRawResponse(client.plans) - self.prices = resources.AsyncPricesWithRawResponse(client.prices) - self.subscriptions = resources.AsyncSubscriptionsWithRawResponse(client.subscriptions) - self.alerts = resources.AsyncAlertsWithRawResponse(client.alerts) + self.top_level = top_level.AsyncTopLevelWithRawResponse(client.top_level) + self.coupons = coupons.AsyncCouponsWithRawResponse(client.coupons) + self.credit_notes = credit_notes.AsyncCreditNotesWithRawResponse(client.credit_notes) + self.customers = customers.AsyncCustomersWithRawResponse(client.customers) + self.events = events.AsyncEventsWithRawResponse(client.events) + self.invoice_line_items = invoice_line_items.AsyncInvoiceLineItemsWithRawResponse(client.invoice_line_items) + self.invoices = invoices.AsyncInvoicesWithRawResponse(client.invoices) + self.items = items.AsyncItemsWithRawResponse(client.items) + self.metrics = metrics.AsyncMetricsWithRawResponse(client.metrics) + self.plans = plans.AsyncPlansWithRawResponse(client.plans) + self.prices = prices.AsyncPricesWithRawResponse(client.prices) + self.subscriptions = subscriptions.AsyncSubscriptionsWithRawResponse(client.subscriptions) + self.alerts = alerts.AsyncAlertsWithRawResponse(client.alerts) class OrbWithStreamedResponse: def __init__(self, client: Orb) -> None: - self.top_level = resources.TopLevelWithStreamingResponse(client.top_level) - self.coupons = resources.CouponsWithStreamingResponse(client.coupons) - self.credit_notes = resources.CreditNotesWithStreamingResponse(client.credit_notes) - self.customers = resources.CustomersWithStreamingResponse(client.customers) - self.events = resources.EventsWithStreamingResponse(client.events) - self.invoice_line_items = resources.InvoiceLineItemsWithStreamingResponse(client.invoice_line_items) - self.invoices = resources.InvoicesWithStreamingResponse(client.invoices) - self.items = resources.ItemsWithStreamingResponse(client.items) - self.metrics = resources.MetricsWithStreamingResponse(client.metrics) - self.plans = resources.PlansWithStreamingResponse(client.plans) - self.prices = resources.PricesWithStreamingResponse(client.prices) - self.subscriptions = resources.SubscriptionsWithStreamingResponse(client.subscriptions) - self.alerts = resources.AlertsWithStreamingResponse(client.alerts) + self.top_level = top_level.TopLevelWithStreamingResponse(client.top_level) + self.coupons = coupons.CouponsWithStreamingResponse(client.coupons) + self.credit_notes = credit_notes.CreditNotesWithStreamingResponse(client.credit_notes) + self.customers = customers.CustomersWithStreamingResponse(client.customers) + self.events = events.EventsWithStreamingResponse(client.events) + self.invoice_line_items = invoice_line_items.InvoiceLineItemsWithStreamingResponse(client.invoice_line_items) + self.invoices = invoices.InvoicesWithStreamingResponse(client.invoices) + self.items = items.ItemsWithStreamingResponse(client.items) + self.metrics = metrics.MetricsWithStreamingResponse(client.metrics) + self.plans = plans.PlansWithStreamingResponse(client.plans) + self.prices = prices.PricesWithStreamingResponse(client.prices) + self.subscriptions = subscriptions.SubscriptionsWithStreamingResponse(client.subscriptions) + self.alerts = alerts.AlertsWithStreamingResponse(client.alerts) class AsyncOrbWithStreamedResponse: def __init__(self, client: AsyncOrb) -> None: - self.top_level = resources.AsyncTopLevelWithStreamingResponse(client.top_level) - self.coupons = resources.AsyncCouponsWithStreamingResponse(client.coupons) - self.credit_notes = resources.AsyncCreditNotesWithStreamingResponse(client.credit_notes) - self.customers = resources.AsyncCustomersWithStreamingResponse(client.customers) - self.events = resources.AsyncEventsWithStreamingResponse(client.events) - self.invoice_line_items = resources.AsyncInvoiceLineItemsWithStreamingResponse(client.invoice_line_items) - self.invoices = resources.AsyncInvoicesWithStreamingResponse(client.invoices) - self.items = resources.AsyncItemsWithStreamingResponse(client.items) - self.metrics = resources.AsyncMetricsWithStreamingResponse(client.metrics) - self.plans = resources.AsyncPlansWithStreamingResponse(client.plans) - self.prices = resources.AsyncPricesWithStreamingResponse(client.prices) - self.subscriptions = resources.AsyncSubscriptionsWithStreamingResponse(client.subscriptions) - self.alerts = resources.AsyncAlertsWithStreamingResponse(client.alerts) + self.top_level = top_level.AsyncTopLevelWithStreamingResponse(client.top_level) + self.coupons = coupons.AsyncCouponsWithStreamingResponse(client.coupons) + self.credit_notes = credit_notes.AsyncCreditNotesWithStreamingResponse(client.credit_notes) + self.customers = customers.AsyncCustomersWithStreamingResponse(client.customers) + self.events = events.AsyncEventsWithStreamingResponse(client.events) + self.invoice_line_items = invoice_line_items.AsyncInvoiceLineItemsWithStreamingResponse( + client.invoice_line_items + ) + self.invoices = invoices.AsyncInvoicesWithStreamingResponse(client.invoices) + self.items = items.AsyncItemsWithStreamingResponse(client.items) + self.metrics = metrics.AsyncMetricsWithStreamingResponse(client.metrics) + self.plans = plans.AsyncPlansWithStreamingResponse(client.plans) + self.prices = prices.AsyncPricesWithStreamingResponse(client.prices) + self.subscriptions = subscriptions.AsyncSubscriptionsWithStreamingResponse(client.subscriptions) + self.alerts = alerts.AsyncAlertsWithStreamingResponse(client.alerts) Client = Orb From c832f0ad06c2048b2961d2b4c9a9febf5b43b9cd Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:14:44 +0000 Subject: [PATCH 4/7] docs(readme): example snippet for client context manager (#464) --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index acf67a22..89850273 100644 --- a/README.md +++ b/README.md @@ -425,6 +425,16 @@ client.with_options(http_client=DefaultHttpxClient(...)) By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting. +```py +from orb import Orb + +with Orb() as client: + # make requests here + ... + +# HTTP client is now closed +``` + ## Versioning This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions: From 8ccbc2a9d62dc8853b8460562a8fb5760ed6608f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 17 Dec 2024 17:25:34 +0000 Subject: [PATCH 5/7] chore(internal): fix some typos (#465) --- tests/test_client.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_client.py b/tests/test_client.py index 6155e0e0..72ff508e 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -340,11 +340,11 @@ def test_default_query_option(self) -> None: FinalRequestOptions( method="get", url="/foo", - params={"foo": "baz", "query_param": "overriden"}, + params={"foo": "baz", "query_param": "overridden"}, ) ) url = httpx.URL(request.url) - assert dict(url.params) == {"foo": "baz", "query_param": "overriden"} + assert dict(url.params) == {"foo": "baz", "query_param": "overridden"} def test_request_extra_json(self) -> None: request = self.client._build_request( @@ -1158,11 +1158,11 @@ def test_default_query_option(self) -> None: FinalRequestOptions( method="get", url="/foo", - params={"foo": "baz", "query_param": "overriden"}, + params={"foo": "baz", "query_param": "overridden"}, ) ) url = httpx.URL(request.url) - assert dict(url.params) == {"foo": "baz", "query_param": "overriden"} + assert dict(url.params) == {"foo": "baz", "query_param": "overridden"} def test_request_extra_json(self) -> None: request = self.client._build_request( From abcce3cf709af675b0ac2beb2aa1b401b1aada1c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 17 Dec 2024 20:13:37 +0000 Subject: [PATCH 6/7] feat(api): api update (#466) --- .stats.yml | 2 +- src/orb/resources/customers/credits/ledger.py | 180 ++++++++++-------- 2 files changed, 101 insertions(+), 81 deletions(-) diff --git a/.stats.yml b/.stats.yml index 26721953..fcff3ba6 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 97 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-908960f165205e2874dd29322cc974df5ab10c7634ab9a342ab22047013de1b4.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-02151f7654870aee7820ee1c04659a469e6b67ac4977116334512c6b6e6a2016.yml diff --git a/src/orb/resources/customers/credits/ledger.py b/src/orb/resources/customers/credits/ledger.py index 84815e8a..fbfc7ed6 100644 --- a/src/orb/resources/customers/credits/ledger.py +++ b/src/orb/resources/customers/credits/ledger.py @@ -250,10 +250,11 @@ def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -419,10 +420,11 @@ def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -578,10 +580,11 @@ def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -745,10 +748,11 @@ def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -906,10 +910,11 @@ def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -1141,10 +1146,11 @@ def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -1310,10 +1316,11 @@ def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -1469,10 +1476,11 @@ def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -1636,10 +1644,11 @@ def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -1797,10 +1806,11 @@ def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -2379,10 +2389,11 @@ async def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -2548,10 +2559,11 @@ async def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -2707,10 +2719,11 @@ async def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -2874,10 +2887,11 @@ async def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -3035,10 +3049,11 @@ async def create_entry( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -3270,10 +3285,11 @@ async def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -3439,10 +3455,11 @@ async def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -3598,10 +3615,11 @@ async def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -3765,10 +3783,11 @@ async def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). @@ -3926,10 +3945,11 @@ async def create_entry_by_external_id( will return a credit block that represents the changes (i.e. balance changes or transfers). 2. A ledger entry will be added to the credits ledger for this customer, and - therefore returned in the [View Credits Ledger](fetch-customer-credits) - response as well as serialized in the response to this request. In the case - of deductions without a specified block, multiple ledger entries may be - created if the deduction spans credit blocks. + therefore returned in the + [View Credits Ledger](fetch-customer-credits-ledger) response as well as + serialized in the response to this request. In the case of deductions without + a specified block, multiple ledger entries may be created if the deduction + spans credit blocks. 3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`). From 45200ef2ced05c39c0b530f37104def06f8e615e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:51:12 +0000 Subject: [PATCH 7/7] release: 2.20.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 21 +++++++++++++++++++++ pyproject.toml | 2 +- src/orb/_version.py | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 89652a35..da2177c6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.19.0" + ".": "2.20.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 9082e3f1..30d467ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## 2.20.0 (2024-12-19) + +Full Changelog: [v2.19.0...v2.20.0](https://github.com/orbcorp/orb-python/compare/v2.19.0...v2.20.0) + +### Features + +* **api:** api update ([#466](https://github.com/orbcorp/orb-python/issues/466)) ([abcce3c](https://github.com/orbcorp/orb-python/commit/abcce3cf709af675b0ac2beb2aa1b401b1aada1c)) + + +### Chores + +* **internal:** fix some typos ([#465](https://github.com/orbcorp/orb-python/issues/465)) ([8ccbc2a](https://github.com/orbcorp/orb-python/commit/8ccbc2a9d62dc8853b8460562a8fb5760ed6608f)) +* **internal:** remove some duplicated imports ([#462](https://github.com/orbcorp/orb-python/issues/462)) ([7ede2cb](https://github.com/orbcorp/orb-python/commit/7ede2cb2c3f741a69b3e5e47553dccc48d409ef6)) +* **internal:** updated imports ([#463](https://github.com/orbcorp/orb-python/issues/463)) ([2487ca6](https://github.com/orbcorp/orb-python/commit/2487ca601d123fa24acc8135123f1029933c69c2)) +* **internal:** version bump ([#460](https://github.com/orbcorp/orb-python/issues/460)) ([28a5746](https://github.com/orbcorp/orb-python/commit/28a57463640f9be6ee2faa238731525a65adcb2a)) + + +### Documentation + +* **readme:** example snippet for client context manager ([#464](https://github.com/orbcorp/orb-python/issues/464)) ([c832f0a](https://github.com/orbcorp/orb-python/commit/c832f0ad06c2048b2961d2b4c9a9febf5b43b9cd)) + ## 2.19.0 (2024-12-12) Full Changelog: [v2.18.0...v2.19.0](https://github.com/orbcorp/orb-python/compare/v2.18.0...v2.19.0) diff --git a/pyproject.toml b/pyproject.toml index 80cdb12d..5e98c63e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "orb-billing" -version = "2.19.0" +version = "2.20.0" description = "The official Python library for the orb API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/orb/_version.py b/src/orb/_version.py index 9e5ea44f..4efdcb3d 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__ = "2.19.0" # x-release-please-version +__version__ = "2.20.0" # x-release-please-version