lark-billing 0.0.6__py3-none-any.whl → 0.0.7__py3-none-any.whl

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.

Potentially problematic release.


This version of lark-billing might be problematic. Click here for more details.

Files changed (141) hide show
  1. lark/__init__.py +69 -360
  2. lark/checkout/client.py +8 -85
  3. lark/checkout/raw_client.py +6 -102
  4. lark/client.py +93 -27
  5. lark/core/client_wrapper.py +2 -2
  6. lark/{feature_access → customer_access}/client.py +30 -24
  7. lark/{feature_access → customer_access}/raw_client.py +22 -17
  8. lark/{types/rate_card.py → customer_portal/__init__.py} +1 -2
  9. lark/customer_portal/client.py +115 -0
  10. lark/customer_portal/raw_client.py +134 -0
  11. lark/environment.py +7 -0
  12. lark/pricing_metrics/__init__.py +38 -0
  13. lark/pricing_metrics/client.py +219 -0
  14. lark/pricing_metrics/raw_client.py +268 -0
  15. lark/pricing_metrics/types/__init__.py +42 -0
  16. lark/{types/credit_grant_resource_input_schedule.py → pricing_metrics/types/pricing_metric_aggregation.py} +7 -8
  17. lark/rate_cards/__init__.py +3 -30
  18. lark/rate_cards/client.py +28 -540
  19. lark/rate_cards/raw_client.py +32 -368
  20. lark/rate_cards/types/__init__.py +2 -29
  21. lark/subjects/client.py +2 -36
  22. lark/subjects/raw_client.py +0 -16
  23. lark/subscriptions/client.py +24 -184
  24. lark/subscriptions/raw_client.py +18 -135
  25. lark/types/__init__.py +41 -356
  26. lark/types/amount.py +5 -1
  27. lark/types/{create_dimension_coordinate_interface.py → billing_state_response.py} +3 -3
  28. lark/types/{credit_grant_schedule_one_time_resource.py → count_aggregation_pricing_metric_resource.py} +1 -1
  29. lark/types/{create_dimension_interface.py → create_customer_portal_session_response.py} +3 -3
  30. lark/types/create_fixed_rate_interface.py +1 -7
  31. lark/types/{pricing_metric_interface.py → create_pricing_metric_response.py} +2 -5
  32. lark/types/create_simple_usage_based_rate_interface.py +3 -8
  33. lark/types/create_subject_response.py +2 -1
  34. lark/types/create_subscription_checkout_session_response.py +1 -2
  35. lark/types/create_usage_event_summary_response.py +1 -1
  36. lark/types/{credit_grant_schedule_rate_cycle_start_resource.py → custom_pricing_metric_resource.py} +3 -1
  37. lark/types/fixed_rate_interface.py +0 -6
  38. lark/types/{create_pricing_metric_interface.py → get_pricing_metric_response.py} +3 -5
  39. lark/types/{credit_grant_schedule_one_time_interface.py → last_aggregation_pricing_metric_resource.py} +2 -2
  40. lark/types/{credit_grant_date_time_expiration_resource.py → max_aggregation_pricing_metric_resource.py} +2 -2
  41. lark/types/package_price.py +2 -2
  42. lark/types/package_price_input_rounding_behavior.py +5 -0
  43. lark/types/package_price_output_rounding_behavior.py +5 -0
  44. lark/types/price.py +39 -1
  45. lark/types/rate_card_resource.py +0 -6
  46. lark/types/rate_card_resource_usage_based_rates_item.py +2 -28
  47. lark/types/simple_usage_based_rate_interface.py +1 -2
  48. lark/types/status.py +1 -1
  49. lark/types/subject_resource.py +2 -1
  50. lark/types/subscription_resource.py +0 -1
  51. lark/types/{credit_grant_date_time_expiration_interface.py → sum_aggregation_pricing_metric_resource.py} +2 -2
  52. lark/types/{subject.py → value.py} +1 -1
  53. lark/usage_events/client.py +8 -21
  54. lark/usage_events/raw_client.py +6 -6
  55. {lark_billing-0.0.6.dist-info → lark_billing-0.0.7.dist-info}/METADATA +3 -3
  56. lark_billing-0.0.7.dist-info/RECORD +94 -0
  57. lark/rate_cards/types/create_rate_card_request_usage_based_rates_item.py +0 -56
  58. lark/rate_cards/types/create_rate_card_version_request_usage_based_rates_item.py +0 -58
  59. lark/rate_cards/types/create_rate_card_version_request_version_type.py +0 -5
  60. lark/types/check_feature_access_request.py +0 -24
  61. lark/types/check_feature_access_response.py +0 -21
  62. lark/types/complete_subscription_checkout_response.py +0 -21
  63. lark/types/create_credit_grant_interface.py +0 -27
  64. lark/types/create_credit_grant_interface_expiration.py +0 -27
  65. lark/types/create_credit_pool_request.py +0 -5
  66. lark/types/create_dimensional_usage_based_rate_interface.py +0 -32
  67. lark/types/create_pricing_matrix_cell_interface.py +0 -22
  68. lark/types/create_pricing_matrix_interface.py +0 -20
  69. lark/types/create_pricing_plan_request.py +0 -5
  70. lark/types/create_rate_card_response.py +0 -36
  71. lark/types/create_rate_card_response_billing_interval.py +0 -5
  72. lark/types/create_rate_card_response_usage_based_rates_item.py +0 -58
  73. lark/types/create_rate_card_version_response.py +0 -36
  74. lark/types/create_rate_card_version_response_billing_interval.py +0 -5
  75. lark/types/create_rate_card_version_response_usage_based_rates_item.py +0 -59
  76. lark/types/credit_grant.py +0 -5
  77. lark/types/credit_grant_duration_expiration_interface.py +0 -21
  78. lark/types/credit_grant_duration_expiration_resource.py +0 -21
  79. lark/types/credit_grant_interface.py +0 -28
  80. lark/types/credit_grant_interface_input_expiration.py +0 -27
  81. lark/types/credit_grant_interface_output_expiration.py +0 -43
  82. lark/types/credit_grant_interface_output_schedule.py +0 -41
  83. lark/types/credit_grant_resource.py +0 -28
  84. lark/types/credit_grant_resource_input_expiration.py +0 -27
  85. lark/types/credit_grant_resource_output_expiration.py +0 -43
  86. lark/types/credit_grant_resource_output_schedule.py +0 -39
  87. lark/types/credit_grant_schedule.py +0 -5
  88. lark/types/credit_grant_schedule_rate_cycle_start_interface.py +0 -19
  89. lark/types/credit_grant_subject_granting_config_interface.py +0 -20
  90. lark/types/credit_pool.py +0 -5
  91. lark/types/credit_pool_rollover_config.py +0 -5
  92. lark/types/custom_aggregation_pricing_metric_interface.py +0 -22
  93. lark/types/custom_pricing_metric.py +0 -5
  94. lark/types/custom_unit.py +0 -5
  95. lark/types/custom_unit_amount.py +0 -5
  96. lark/types/dimension.py +0 -5
  97. lark/types/dimension_coordinate.py +0 -5
  98. lark/types/dimension_coordinate_interface.py +0 -20
  99. lark/types/dimension_coordinate_set.py +0 -5
  100. lark/types/dimension_interface.py +0 -20
  101. lark/types/dimensional_rate_matrix.py +0 -5
  102. lark/types/dimensional_rate_matrix_cell.py +0 -5
  103. lark/types/dimensional_usage_based_rate.py +0 -5
  104. lark/types/dimensional_usage_based_rate_input.py +0 -5
  105. lark/types/dimensional_usage_based_rate_interface.py +0 -33
  106. lark/types/feature_access_resource.py +0 -21
  107. lark/types/get_rate_card_response.py +0 -36
  108. lark/types/get_rate_card_response_billing_interval.py +0 -5
  109. lark/types/get_rate_card_response_usage_based_rates_item.py +0 -58
  110. lark/types/grant_credits_request.py +0 -5
  111. lark/types/last_aggregation_pricing_metric_interface.py +0 -22
  112. lark/types/license_based_rate.py +0 -5
  113. lark/types/license_based_rate_input.py +0 -5
  114. lark/types/max_aggregation_pricing_metric_interface.py +0 -22
  115. lark/types/monetary_amount.py +0 -5
  116. lark/types/package_price_rounding_behavior.py +0 -5
  117. lark/types/package_price_wrapper.py +0 -5
  118. lark/types/pricing_matrix_cell_interface.py +0 -22
  119. lark/types/pricing_matrix_interface.py +0 -20
  120. lark/types/pricing_metric.py +0 -5
  121. lark/types/pricing_plan.py +0 -5
  122. lark/types/pricing_plan_subscription.py +0 -5
  123. lark/types/pricing_tier.py +0 -5
  124. lark/types/rate_card_version.py +0 -5
  125. lark/types/rate_card_version_input.py +0 -5
  126. lark/types/simple_usage_based_rate.py +0 -5
  127. lark/types/simple_usage_based_rate_input.py +0 -5
  128. lark/types/subject_granting_config.py +0 -5
  129. lark/types/subject_granting_config_resource.py +0 -20
  130. lark/types/tiered_price.py +0 -5
  131. lark/types/tiered_price_wrapper.py +0 -5
  132. lark/types/unit.py +0 -5
  133. lark/types/update_pricing_plan_request.py +0 -5
  134. lark/types/update_rate_card_request.py +0 -5
  135. lark/types/update_subscription_request.py +0 -5
  136. lark/types/usage_based_rate.py +0 -5
  137. lark/types/usage_based_rate_input.py +0 -5
  138. lark/types/usage_unit.py +0 -5
  139. lark_billing-0.0.6.dist-info/RECORD +0 -167
  140. /lark/{feature_access → customer_access}/__init__.py +0 -0
  141. {lark_billing-0.0.6.dist-info → lark_billing-0.0.7.dist-info}/WHEEL +0 -0
@@ -6,7 +6,9 @@ import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
 
8
8
 
9
- class CreditGrantScheduleRateCycleStartResource(UniversalBaseModel):
9
+ class CustomPricingMetricResource(UniversalBaseModel):
10
+ sql: str
11
+
10
12
  if IS_PYDANTIC_V2:
11
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
12
14
  else:
@@ -4,7 +4,6 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .credit_grant_interface import CreditGrantInterface
8
7
  from .price import Price
9
8
 
10
9
 
@@ -13,11 +12,6 @@ class FixedRateInterface(UniversalBaseModel):
13
12
  name: str
14
13
  description: str
15
14
  price: Price
16
- credit_grants: typing.List[CreditGrantInterface]
17
- quantity_code: typing.Optional[str] = pydantic.Field(default=None)
18
- """
19
- Code of this rate to be used for setting quantity.
20
- """
21
15
 
22
16
  if IS_PYDANTIC_V2:
23
17
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -7,14 +7,12 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
  from .aggregation import Aggregation
8
8
 
9
9
 
10
- class CreatePricingMetricInterface(UniversalBaseModel):
10
+ class GetPricingMetricResponse(UniversalBaseModel):
11
+ id: str
11
12
  name: str
12
13
  event_name: str
13
14
  aggregation: Aggregation
14
- unit: str = pydantic.Field()
15
- """
16
- Unit of the value computed by the pricing metric.
17
- """
15
+ unit: str
18
16
 
19
17
  if IS_PYDANTIC_V2:
20
18
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -6,8 +6,8 @@ import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
 
8
8
 
9
- class CreditGrantScheduleOneTimeInterface(UniversalBaseModel):
10
- scheduled_at: str
9
+ class LastAggregationPricingMetricResource(UniversalBaseModel):
10
+ value_field: str
11
11
 
12
12
  if IS_PYDANTIC_V2:
13
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -6,8 +6,8 @@ import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
 
8
8
 
9
- class CreditGrantDateTimeExpirationResource(UniversalBaseModel):
10
- date: str
9
+ class MaxAggregationPricingMetricResource(UniversalBaseModel):
10
+ value_field: str
11
11
 
12
12
  if IS_PYDANTIC_V2:
13
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -5,7 +5,7 @@ import typing
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
  from .amount import Amount
8
- from .package_price_rounding_behavior import PackagePriceRoundingBehavior
8
+ from .package_price_output_rounding_behavior import PackagePriceOutputRoundingBehavior
9
9
 
10
10
 
11
11
  class PackagePrice(UniversalBaseModel):
@@ -15,7 +15,7 @@ class PackagePrice(UniversalBaseModel):
15
15
 
16
16
  amount: Amount
17
17
  package_units: int
18
- rounding_behavior: PackagePriceRoundingBehavior
18
+ rounding_behavior: PackagePriceOutputRoundingBehavior
19
19
 
20
20
  if IS_PYDANTIC_V2:
21
21
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ PackagePriceInputRoundingBehavior = typing.Union[typing.Literal["round_up", "round_down"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ PackagePriceOutputRoundingBehavior = typing.Union[typing.Literal["round_up", "round_down"], typing.Any]
lark/types/price.py CHANGED
@@ -1,5 +1,43 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from __future__ import annotations
4
+
3
5
  import typing
4
6
 
5
- Price = typing.Optional[typing.Any]
7
+ import pydantic
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
+ from .amount import Amount
10
+ from .package_price_output_rounding_behavior import PackagePriceOutputRoundingBehavior
11
+
12
+
13
+ class Price_Flat(UniversalBaseModel):
14
+ price_type: typing.Literal["flat"] = "flat"
15
+ amount: Amount
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
25
+
26
+
27
+ class Price_Package(UniversalBaseModel):
28
+ price_type: typing.Literal["package"] = "package"
29
+ amount: Amount
30
+ package_units: int
31
+ rounding_behavior: PackagePriceOutputRoundingBehavior
32
+
33
+ if IS_PYDANTIC_V2:
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
35
+ else:
36
+
37
+ class Config:
38
+ frozen = True
39
+ smart_union = True
40
+ extra = pydantic.Extra.allow
41
+
42
+
43
+ Price = typing.Union[Price_Flat, Price_Package]
@@ -4,8 +4,6 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .credit_grant_resource import CreditGrantResource
8
- from .feature_access_resource import FeatureAccessResource
9
7
  from .fixed_rate_interface import FixedRateInterface
10
8
  from .rate_card_resource_billing_interval import RateCardResourceBillingInterval
11
9
  from .rate_card_resource_usage_based_rates_item import RateCardResourceUsageBasedRatesItem
@@ -18,12 +16,8 @@ class RateCardResource(UniversalBaseModel):
18
16
  usage_based_rates: typing.List[RateCardResourceUsageBasedRatesItem]
19
17
  fixed_rates: typing.List[FixedRateInterface]
20
18
  billing_interval: RateCardResourceBillingInterval
21
- credit_grants: typing.List[CreditGrantResource]
22
19
  created_at: str
23
20
  updated_at: str
24
- major_version: int
25
- minor_version: int
26
- feature_access: typing.List[FeatureAccessResource]
27
21
  metadata: typing.Dict[str, str]
28
22
 
29
23
  if IS_PYDANTIC_V2:
@@ -6,31 +6,7 @@ import typing
6
6
 
7
7
  import pydantic
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from .dimension_interface import DimensionInterface
10
9
  from .price import Price
11
- from .pricing_matrix_interface import PricingMatrixInterface
12
- from .pricing_metric_interface import PricingMetricInterface
13
-
14
-
15
- class RateCardResourceUsageBasedRatesItem_Dimensional(UniversalBaseModel):
16
- usage_based_rate_type: typing.Literal["dimensional"] = "dimensional"
17
- id: str
18
- code: str
19
- name: str
20
- description: str
21
- included_units: int
22
- pricing_metric: PricingMetricInterface
23
- dimensions: typing.List[DimensionInterface]
24
- pricing_matrix: PricingMatrixInterface
25
-
26
- if IS_PYDANTIC_V2:
27
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
- else:
29
-
30
- class Config:
31
- frozen = True
32
- smart_union = True
33
- extra = pydantic.Extra.allow
34
10
 
35
11
 
36
12
  class RateCardResourceUsageBasedRatesItem_Simple(UniversalBaseModel):
@@ -41,7 +17,7 @@ class RateCardResourceUsageBasedRatesItem_Simple(UniversalBaseModel):
41
17
  description: str
42
18
  price: Price
43
19
  included_units: int
44
- pricing_metric: PricingMetricInterface
20
+ pricing_metric_id: str
45
21
 
46
22
  if IS_PYDANTIC_V2:
47
23
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -53,6 +29,4 @@ class RateCardResourceUsageBasedRatesItem_Simple(UniversalBaseModel):
53
29
  extra = pydantic.Extra.allow
54
30
 
55
31
 
56
- RateCardResourceUsageBasedRatesItem = typing.Union[
57
- RateCardResourceUsageBasedRatesItem_Dimensional, RateCardResourceUsageBasedRatesItem_Simple
58
- ]
32
+ RateCardResourceUsageBasedRatesItem = RateCardResourceUsageBasedRatesItem_Simple
@@ -5,7 +5,6 @@ import typing
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
  from .price import Price
8
- from .pricing_metric_interface import PricingMetricInterface
9
8
 
10
9
 
11
10
  class SimpleUsageBasedRateInterface(UniversalBaseModel):
@@ -19,7 +18,7 @@ class SimpleUsageBasedRateInterface(UniversalBaseModel):
19
18
  description: str
20
19
  price: Price
21
20
  included_units: int
22
- pricing_metric: PricingMetricInterface
21
+ pricing_metric_id: str
23
22
 
24
23
  if IS_PYDANTIC_V2:
25
24
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
lark/types/status.py CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- Status = typing.Union[typing.Literal["active", "cancelled", "paused"], typing.Any]
5
+ Status = typing.Union[typing.Literal["active", "cancelled"], typing.Any]
@@ -1,5 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import datetime as dt
3
4
  import typing
4
5
 
5
6
  import pydantic
@@ -11,8 +12,8 @@ class SubjectResource(UniversalBaseModel):
11
12
  external_id: typing.Optional[str] = None
12
13
  name: typing.Optional[str] = None
13
14
  email: typing.Optional[str] = None
14
- parent_subject_id: typing.Optional[str] = None
15
15
  metadata: typing.Dict[str, str]
16
+ created_at: dt.datetime
16
17
 
17
18
  if IS_PYDANTIC_V2:
18
19
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -14,7 +14,6 @@ class SubscriptionResource(UniversalBaseModel):
14
14
  rate_card_id: str
15
15
  effective_at: dt.datetime
16
16
  cycles_next_at: typing.Optional[dt.datetime] = None
17
- variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
18
17
  metadata: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
19
18
  status: Status
20
19
 
@@ -6,8 +6,8 @@ import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
 
8
8
 
9
- class CreditGrantDateTimeExpirationInterface(UniversalBaseModel):
10
- date: str
9
+ class SumAggregationPricingMetricResource(UniversalBaseModel):
10
+ value_field: str
11
11
 
12
12
  if IS_PYDANTIC_V2:
13
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- Subject = typing.Optional[typing.Any]
5
+ Value = typing.Union[float, str]
@@ -35,8 +35,8 @@ class UsageEventsClient:
35
35
  idempotency_key: str,
36
36
  event_name: str,
37
37
  subject_id: str,
38
- timestamp: dt.datetime,
39
38
  data: typing.Dict[str, typing.Optional[typing.Any]],
39
+ timestamp: typing.Optional[dt.datetime] = OMIT,
40
40
  request_options: typing.Optional[RequestOptions] = None,
41
41
  ) -> typing.Optional[typing.Any]:
42
42
  """
@@ -48,10 +48,10 @@ class UsageEventsClient:
48
48
 
49
49
  subject_id : str
50
50
 
51
- timestamp : dt.datetime
52
-
53
51
  data : typing.Dict[str, typing.Optional[typing.Any]]
54
52
 
53
+ timestamp : typing.Optional[dt.datetime]
54
+
55
55
  request_options : typing.Optional[RequestOptions]
56
56
  Request-specific configuration.
57
57
 
@@ -62,21 +62,15 @@ class UsageEventsClient:
62
62
 
63
63
  Examples
64
64
  --------
65
- import datetime
66
-
67
65
  from lark import Lark
68
66
 
69
67
  client = Lark(
70
68
  api_key="YOUR_API_KEY",
71
- base_url="https://yourhost.com/path/to/api",
72
69
  )
73
70
  client.usage_events.create_usage_event(
74
71
  idempotency_key="idempotency_key",
75
72
  event_name="event_name",
76
73
  subject_id="subject_id",
77
- timestamp=datetime.datetime.fromisoformat(
78
- "2024-01-15 09:30:00+00:00",
79
- ),
80
74
  data={"key": "value"},
81
75
  )
82
76
  """
@@ -84,8 +78,8 @@ class UsageEventsClient:
84
78
  idempotency_key=idempotency_key,
85
79
  event_name=event_name,
86
80
  subject_id=subject_id,
87
- timestamp=timestamp,
88
81
  data=data,
82
+ timestamp=timestamp,
89
83
  request_options=request_options,
90
84
  )
91
85
  return _response.data
@@ -124,7 +118,6 @@ class UsageEventsClient:
124
118
 
125
119
  client = Lark(
126
120
  api_key="YOUR_API_KEY",
127
- base_url="https://yourhost.com/path/to/api",
128
121
  )
129
122
  client.usage_events.create_usage_event_summary(
130
123
  event_name="event_name",
@@ -167,8 +160,8 @@ class AsyncUsageEventsClient:
167
160
  idempotency_key: str,
168
161
  event_name: str,
169
162
  subject_id: str,
170
- timestamp: dt.datetime,
171
163
  data: typing.Dict[str, typing.Optional[typing.Any]],
164
+ timestamp: typing.Optional[dt.datetime] = OMIT,
172
165
  request_options: typing.Optional[RequestOptions] = None,
173
166
  ) -> typing.Optional[typing.Any]:
174
167
  """
@@ -180,10 +173,10 @@ class AsyncUsageEventsClient:
180
173
 
181
174
  subject_id : str
182
175
 
183
- timestamp : dt.datetime
184
-
185
176
  data : typing.Dict[str, typing.Optional[typing.Any]]
186
177
 
178
+ timestamp : typing.Optional[dt.datetime]
179
+
187
180
  request_options : typing.Optional[RequestOptions]
188
181
  Request-specific configuration.
189
182
 
@@ -195,13 +188,11 @@ class AsyncUsageEventsClient:
195
188
  Examples
196
189
  --------
197
190
  import asyncio
198
- import datetime
199
191
 
200
192
  from lark import AsyncLark
201
193
 
202
194
  client = AsyncLark(
203
195
  api_key="YOUR_API_KEY",
204
- base_url="https://yourhost.com/path/to/api",
205
196
  )
206
197
 
207
198
 
@@ -210,9 +201,6 @@ class AsyncUsageEventsClient:
210
201
  idempotency_key="idempotency_key",
211
202
  event_name="event_name",
212
203
  subject_id="subject_id",
213
- timestamp=datetime.datetime.fromisoformat(
214
- "2024-01-15 09:30:00+00:00",
215
- ),
216
204
  data={"key": "value"},
217
205
  )
218
206
 
@@ -223,8 +211,8 @@ class AsyncUsageEventsClient:
223
211
  idempotency_key=idempotency_key,
224
212
  event_name=event_name,
225
213
  subject_id=subject_id,
226
- timestamp=timestamp,
227
214
  data=data,
215
+ timestamp=timestamp,
228
216
  request_options=request_options,
229
217
  )
230
218
  return _response.data
@@ -265,7 +253,6 @@ class AsyncUsageEventsClient:
265
253
 
266
254
  client = AsyncLark(
267
255
  api_key="YOUR_API_KEY",
268
- base_url="https://yourhost.com/path/to/api",
269
256
  )
270
257
 
271
258
 
@@ -30,8 +30,8 @@ class RawUsageEventsClient:
30
30
  idempotency_key: str,
31
31
  event_name: str,
32
32
  subject_id: str,
33
- timestamp: dt.datetime,
34
33
  data: typing.Dict[str, typing.Optional[typing.Any]],
34
+ timestamp: typing.Optional[dt.datetime] = OMIT,
35
35
  request_options: typing.Optional[RequestOptions] = None,
36
36
  ) -> HttpResponse[typing.Optional[typing.Any]]:
37
37
  """
@@ -43,10 +43,10 @@ class RawUsageEventsClient:
43
43
 
44
44
  subject_id : str
45
45
 
46
- timestamp : dt.datetime
47
-
48
46
  data : typing.Dict[str, typing.Optional[typing.Any]]
49
47
 
48
+ timestamp : typing.Optional[dt.datetime]
49
+
50
50
  request_options : typing.Optional[RequestOptions]
51
51
  Request-specific configuration.
52
52
 
@@ -179,8 +179,8 @@ class AsyncRawUsageEventsClient:
179
179
  idempotency_key: str,
180
180
  event_name: str,
181
181
  subject_id: str,
182
- timestamp: dt.datetime,
183
182
  data: typing.Dict[str, typing.Optional[typing.Any]],
183
+ timestamp: typing.Optional[dt.datetime] = OMIT,
184
184
  request_options: typing.Optional[RequestOptions] = None,
185
185
  ) -> AsyncHttpResponse[typing.Optional[typing.Any]]:
186
186
  """
@@ -192,10 +192,10 @@ class AsyncRawUsageEventsClient:
192
192
 
193
193
  subject_id : str
194
194
 
195
- timestamp : dt.datetime
196
-
197
195
  data : typing.Dict[str, typing.Optional[typing.Any]]
198
196
 
197
+ timestamp : typing.Optional[dt.datetime]
198
+
199
199
  request_options : typing.Optional[RequestOptions]
200
200
  Request-specific configuration.
201
201
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lark-billing
3
- Version: 0.0.6
3
+ Version: 0.0.7
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -50,11 +50,11 @@ from lark import Lark
50
50
 
51
51
  client = Lark(
52
52
  api_key="YOUR_API_KEY",
53
- base_url="https://yourhost.com/path/to/api",
54
53
  )
55
54
  client.checkout.create_subscription_checkout_session(
56
55
  subject_id="subject_id",
57
56
  rate_card_id="rate_card_id",
57
+ callback_url="callback_url",
58
58
  )
59
59
  ```
60
60
 
@@ -69,7 +69,6 @@ from lark import AsyncLark
69
69
 
70
70
  client = AsyncLark(
71
71
  api_key="YOUR_API_KEY",
72
- base_url="https://yourhost.com/path/to/api",
73
72
  )
74
73
 
75
74
 
@@ -77,6 +76,7 @@ async def main() -> None:
77
76
  await client.checkout.create_subscription_checkout_session(
78
77
  subject_id="subject_id",
79
78
  rate_card_id="rate_card_id",
79
+ callback_url="callback_url",
80
80
  )
81
81
 
82
82
 
@@ -0,0 +1,94 @@
1
+ lark/__init__.py,sha256=zZDuRKYB6HeX3PLo6rSDtQfZabEiXWlrYx0WQN4UU9o,7745
2
+ lark/checkout/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
3
+ lark/checkout/client.py,sha256=Eu5FS6YlR6pogfR4ciWHJ5D1dIlDZKKlrC4UxzJuV_M,3870
4
+ lark/checkout/raw_client.py,sha256=svo8NgORezE9w7jdJanm7y9Vq6FiW4YcdG5cbY4Xlv8,5676
5
+ lark/client.py,sha256=WGOVdXdqRNbml5-US82J2NZxDX2DT4UzBaGVsDtFAdo,11928
6
+ lark/core/__init__.py,sha256=GkNNgA0CeqvpCzo2vVtAafE8YcnGV-VGtbU5op93lbc,3624
7
+ lark/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
8
+ lark/core/client_wrapper.py,sha256=1_y6OXzS_1TzjGPiH-G46RWzMvGtrU1DghJ8hYNXl0g,2374
9
+ lark/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
10
+ lark/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
11
+ lark/core/force_multipart.py,sha256=cH981xLy0kZVKiZZkFoeUjgJ2Zuq7KXB2aRAnmHzRDc,477
12
+ lark/core/http_client.py,sha256=QurkBvCZZz2Z1d8znp4M2YbOXebBUPcPXRhPIS84Wvk,21214
13
+ lark/core/http_response.py,sha256=A6URkoTBCiryctAA-m9EiDWOsHgM5oYAlcYVc_YOiiI,1330
14
+ lark/core/jsonable_encoder.py,sha256=hGgcEEeX11sqxxsll7h15pO3pTNVxk_n79Kcn0laoWA,3655
15
+ lark/core/pydantic_utilities.py,sha256=kdepxVbqP7nmMhh9rttKiMF3bQEYRZiiS2-JIyTLfAc,10824
16
+ lark/core/query_encoder.py,sha256=ekulqNd0j8TgD7ox-Qbz7liqX8-KP9blvT9DsRCenYM,2144
17
+ lark/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
18
+ lark/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxpcg,1681
19
+ lark/core/serialization.py,sha256=ECL3bvv_0i7U4uvPidZCNel--MUbA0iq0aGcNKi3kws,9818
20
+ lark/customer_access/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
21
+ lark/customer_access/client.py,sha256=wKvoiC1trQOC99bMoihluFF7BXZi9f18Yu96EFnXc_Q,2989
22
+ lark/customer_access/raw_client.py,sha256=0hK-AC5QpLxkiQJ8eeNXespg4MnXVO1UIwGS-e0MM4I,4668
23
+ lark/customer_portal/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
24
+ lark/customer_portal/client.py,sha256=hDiShY7gyhNrqVIMlBs_VEhTtmfxL5OC62Z0OoemmjM,3322
25
+ lark/customer_portal/raw_client.py,sha256=ykHL6kRZWFjks1T8ej8SwQQofDfeWC0Y9ojgm81SfKY,5194
26
+ lark/environment.py,sha256=dyFMCpgEEgFYj5pj8M-IxENul1uXC6owvlm4Kn6Lw3A,152
27
+ lark/errors/__init__.py,sha256=4g1JPPnrPS-pG-WGU1S8HrYE5RoctStcA35abyL_tmI,1134
28
+ lark/errors/unprocessable_entity_error.py,sha256=aDgvUf-6k1fSUL-OxI3MgOIFQNssTUNpv5vW9M4vfRc,401
29
+ lark/pricing_metrics/__init__.py,sha256=GjKCI2AEhDsAXGdUMkyZlGRyNzIj6HRWPRZEcScwVEU,1321
30
+ lark/pricing_metrics/client.py,sha256=b7-8Cetwcj6ND6Mw7hzqtTkZAe9Z9QF7CkdCWPGCXMk,6147
31
+ lark/pricing_metrics/raw_client.py,sha256=qGg0Hz4HdhTPtiGXaCxXtDNA8b_EoqbGFIYFkq-zar8,10126
32
+ lark/pricing_metrics/types/__init__.py,sha256=DaWe3hOaIKUlI4nWjNOmEtjks5ges3BFq4jujJDDX2M,1438
33
+ lark/pricing_metrics/types/pricing_metric_aggregation.py,sha256=NkO1F-g7n1UfUVVaYmcmeBnOP-lcu1lhs5_TQytj_b0,1145
34
+ lark/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ lark/rate_cards/__init__.py,sha256=Ex8AazkS9LkZUgO5eQE7C2F8d9ALRLLO9-hbZiy3cEo,1128
36
+ lark/rate_cards/client.py,sha256=8FOpK4Ojnq29hAdTYZNYuHOhHey002d_CuSRGR4fozQ,8753
37
+ lark/rate_cards/raw_client.py,sha256=QeOj7jIgh-CsPltnQSNYGBmBIMSrnsYuOcMc38hGFTI,15553
38
+ lark/rate_cards/types/__init__.py,sha256=CASbUjScGbmJVDTwXF2ytFowA2zN6V6JfqMHEe-aj80,1206
39
+ lark/rate_cards/types/create_rate_card_request_billing_interval.py,sha256=k-FOfMuwtBOTn0ZIGkWuJcFBbqbsPkUO4_DvIcBXLRc,181
40
+ lark/subjects/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
41
+ lark/subjects/client.py,sha256=4h7uGtz0Zs1VZYL36WmyjZsqAtbsYWABi2NxoNrUyVw,12105
42
+ lark/subjects/raw_client.py,sha256=Nl0k4cS0FSKbpEiqUwtU-rTWbM0TkYOksdtuNp3h8EY,22909
43
+ lark/subscriptions/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
44
+ lark/subscriptions/client.py,sha256=GmvUX8sli2b2z_OPFj-lbMC3ayDsBk3Y_O66pE7lM3s,8525
45
+ lark/subscriptions/raw_client.py,sha256=mB62aUhtxdmMmdLjs3UQRTwSI4ZdExJhyd5NkNVOpCQ,14350
46
+ lark/types/__init__.py,sha256=9v8fRjJTKZjNEADtmDXTjkXMAo-TAcRV4Y9-640NrMw,8129
47
+ lark/types/aggregation.py,sha256=fObzgStVfkYfBhUeleq3gY08cVdOZUYSDoA9oYZD70Q,2374
48
+ lark/types/amount.py,sha256=1RNZbJNsLMUCPFRq6_iU6hFs1wbg6IJkQ_wUPWOX8Kk,639
49
+ lark/types/billing_state_response.py,sha256=PwsR7EjjKal_GHaxsfPUztyDuunAevjwL85KFKvSShk,579
50
+ lark/types/count_aggregation_pricing_metric_interface.py,sha256=4RnOiOWtUUCkqT-rc0HHetar8DmI72lX0_yaZR1ZTTc,530
51
+ lark/types/count_aggregation_pricing_metric_resource.py,sha256=RNCjrE6zT_Aw8gQWZNNzbAAKmRqISQI3df9em-d4tyk,529
52
+ lark/types/create_customer_portal_session_response.py,sha256=V9YASol5nLLGTCzykViIuenPhX_tUtHF5VObvN62lOI,561
53
+ lark/types/create_fixed_rate_interface.py,sha256=u8B7s3fDC9W9W6YbEqPj_METLqRojksMdXxzMBluccs,642
54
+ lark/types/create_pricing_metric_response.py,sha256=4qzlMDVkAhRMrUCPt9IDS8h6r0EagIJuZOgpTNBwq8g,646
55
+ lark/types/create_simple_usage_based_rate_interface.py,sha256=SyfetjVuh2lk6uTawvPZgS49vDv450bbE68O6zPqcyM,804
56
+ lark/types/create_subject_response.py,sha256=Ehplj4YU7IC7OtLEjWVZc8o-OOFWTxFUC3OI8iWUXfQ,734
57
+ lark/types/create_subscription_checkout_session_response.py,sha256=kO4Z5DzluPutnYYSW6ZiDrySL1DHmCka2POCyeDrFaA,605
58
+ lark/types/create_usage_event_summary_response.py,sha256=9GWy3RxD02CDt3qHpsTSlouwzaztWlRqfkRAGNHpEgU,649
59
+ lark/types/custom_pricing_metric_resource.py,sha256=CnWhGrD4XGQjNO3Iaay3b7prmMrnrJ6Anh9469vTbYo,533
60
+ lark/types/fixed_rate_interface.py,sha256=zQuokRdlr6aWHO6lAmdYmBOBQCHqBBaQ65bZQvBNElc,600
61
+ lark/types/flat_price.py,sha256=JPhR3x686VtDTvMfToATj3mwTKNE4W4wcj3nCmm-A5g,631
62
+ lark/types/get_pricing_metric_response.py,sha256=tojAOAuufWaFOEwcLGmnrOrguCP_FbzW_otJPXnZ_P8,643
63
+ lark/types/http_validation_error.py,sha256=NNTK9AbbHXm0n9m1YcsG5zEaSn1n6RghohUX5R8LGzw,623
64
+ lark/types/last_aggregation_pricing_metric_resource.py,sha256=vEohWOLO5VdIdEO0wqWXQmOAS37G0Zl1ynQAvvB53Xs,550
65
+ lark/types/list_rate_cards_response.py,sha256=IRm3aSOF5zMqS2nxADruN4988Wi4UAT3WYE_fKJrtHU,628
66
+ lark/types/list_subjects_response.py,sha256=k7QbDj-q8oWe15QoEUv4AbixXj5crsBC7CJH6XQuPZM,621
67
+ lark/types/list_subscriptions_response.py,sha256=4LmecLcE6NmMsNe6wyV7CSzaen9HAamKQLfJf8ZDhwI,646
68
+ lark/types/max_aggregation_pricing_metric_resource.py,sha256=jic_mOemy8Rx7iBQ2lbUK0iZdp7QfBQRhyoCA41ZfEE,549
69
+ lark/types/package_price.py,sha256=pigTnTKFK_b7kG6gNGJnYEDcYZAr3J60q1jRZxkUFZU,938
70
+ lark/types/package_price_input_rounding_behavior.py,sha256=i2_tUvyiFR1Z4s--m4GeTGt5EhSPyu32JpQrI0cdzMA,183
71
+ lark/types/package_price_output_rounding_behavior.py,sha256=3suJHfO9lGMWOb2kRn199FdTpcYdMtOKFlIUWq_xeQU,184
72
+ lark/types/period.py,sha256=rjptqL1APWiYEMxIluE5vL1vuAXKXwnIzl0AsnWBKCA,625
73
+ lark/types/price.py,sha256=1Cn5GRNmqs6yPw5Ajemx7Uxlozz3yBzcAUCkXKFFqw4,1261
74
+ lark/types/rate_card_resource.py,sha256=xDjYAXA_I8G0-ZQF402lvjxl3EG6cqwgPUI_IWaVrZA,1032
75
+ lark/types/rate_card_resource_billing_interval.py,sha256=OT3PxH3tQBXo7TvxcRLcTsXd8dBZo8po1T_k4OWQY7g,176
76
+ lark/types/rate_card_resource_usage_based_rates_item.py,sha256=yerroQidEvHw_1E9zPYkuVaNya7YlCRwouAGDE3N6CY,871
77
+ lark/types/simple_usage_based_rate_interface.py,sha256=D3S1hpfagCjqLILHKK2lkxMGHULcMthQNO2Dst05AfA,783
78
+ lark/types/status.py,sha256=wfhEncMsJ_zinGqqrC8lssHXOsKZyKhzHgedLZM8FIs,153
79
+ lark/types/subject_resource.py,sha256=55hWhCw_vjD-zr-7sHOYJmUa_-cAamlKqdfRjOwvlrk,728
80
+ lark/types/subscription_resource.py,sha256=-vZfKh2MzkxWcsso2UvS9iE4jdGFLHvMt7ULiX7EKgc,798
81
+ lark/types/sum_aggregation_pricing_metric_interface.py,sha256=R_sDNeB5RaZ9o4-O1_ceC7Ium_NKn5m6egj9AykjEN4,608
82
+ lark/types/sum_aggregation_pricing_metric_resource.py,sha256=PeF2LCNjjILU5OneNMCluIqW0CTM1SPW6VRX6-H7P9E,549
83
+ lark/types/validation_error.py,sha256=Ou-GSQTdmDFWIFlP_y9ka_EUAavqFEFLonU9srAkJdc,642
84
+ lark/types/validation_error_loc_item.py,sha256=LAtjCHIllWRBFXvAZ5QZpp7CPXjdtN9EB7HrLVo6EP0,128
85
+ lark/types/value.py,sha256=s8eOsCXi5_1G0uGPyW2QUaJFzJcCCqN-FMYJnA9UR9s,113
86
+ lark/usage_events/__init__.py,sha256=Qv907rll-HgEgk2S4L40ZH7cU-h2BC97gLd5L7tMaWY,1155
87
+ lark/usage_events/client.py,sha256=AN5Eu8X59v99-s6X8fcBwKbs0pnLYh1GVrojsUqUCwI,7743
88
+ lark/usage_events/raw_client.py,sha256=cWTLiwSuR0_9q8YfbcVryHrfezyP_nDyU45jgN68EC4,11752
89
+ lark/usage_events/types/__init__.py,sha256=zAaz1oVwvwjfhEubLwwIoDAoqeiqwnXw95CAXIoJ2cY,1253
90
+ lark/usage_events/types/create_usage_event_summary_request_aggregation_type.py,sha256=0jg9JuFlG2TmTeQvPY4yHV_9Ec2MpPe_zqKffvBpCvw,192
91
+ lark/version.py,sha256=maFXg-cBsqCfydHwhGdh6kzQElFbriuo8a2yvidAV1c,79
92
+ lark_billing-0.0.7.dist-info/METADATA,sha256=CS7Fc3Igh81UHmTMru7X5sTfRuocD4H80LL03EuVINw,5494
93
+ lark_billing-0.0.7.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
94
+ lark_billing-0.0.7.dist-info/RECORD,,
@@ -1,56 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from ...types.create_dimension_interface import CreateDimensionInterface
10
- from ...types.create_pricing_matrix_interface import CreatePricingMatrixInterface
11
- from ...types.create_pricing_metric_interface import CreatePricingMetricInterface
12
- from ...types.price import Price
13
-
14
-
15
- class CreateRateCardRequestUsageBasedRatesItem_Dimensional(UniversalBaseModel):
16
- usage_based_rate_type: typing.Literal["dimensional"] = "dimensional"
17
- code: str
18
- name: str
19
- description: typing.Optional[str] = None
20
- included_units: typing.Optional[int] = None
21
- pricing_metric: CreatePricingMetricInterface
22
- dimensions: typing.List[CreateDimensionInterface]
23
- pricing_matrix: CreatePricingMatrixInterface
24
-
25
- if IS_PYDANTIC_V2:
26
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
- else:
28
-
29
- class Config:
30
- frozen = True
31
- smart_union = True
32
- extra = pydantic.Extra.allow
33
-
34
-
35
- class CreateRateCardRequestUsageBasedRatesItem_Simple(UniversalBaseModel):
36
- usage_based_rate_type: typing.Literal["simple"] = "simple"
37
- code: str
38
- name: str
39
- description: typing.Optional[str] = None
40
- price: Price
41
- included_units: typing.Optional[int] = None
42
- pricing_metric: CreatePricingMetricInterface
43
-
44
- if IS_PYDANTIC_V2:
45
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
46
- else:
47
-
48
- class Config:
49
- frozen = True
50
- smart_union = True
51
- extra = pydantic.Extra.allow
52
-
53
-
54
- CreateRateCardRequestUsageBasedRatesItem = typing.Union[
55
- CreateRateCardRequestUsageBasedRatesItem_Dimensional, CreateRateCardRequestUsageBasedRatesItem_Simple
56
- ]