karrio-easyship 2025.5rc1__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.
Files changed (39) hide show
  1. karrio/mappers/easyship/__init__.py +3 -0
  2. karrio/mappers/easyship/mapper.py +94 -0
  3. karrio/mappers/easyship/proxy.py +155 -0
  4. karrio/mappers/easyship/settings.py +20 -0
  5. karrio/plugins/easyship/__init__.py +20 -0
  6. karrio/providers/easyship/__init__.py +25 -0
  7. karrio/providers/easyship/error.py +38 -0
  8. karrio/providers/easyship/manifest.py +72 -0
  9. karrio/providers/easyship/metadata.json +6985 -0
  10. karrio/providers/easyship/pickup/__init__.py +4 -0
  11. karrio/providers/easyship/pickup/cancel.py +42 -0
  12. karrio/providers/easyship/pickup/create.py +86 -0
  13. karrio/providers/easyship/pickup/update.py +88 -0
  14. karrio/providers/easyship/rate.py +215 -0
  15. karrio/providers/easyship/shipment/__init__.py +9 -0
  16. karrio/providers/easyship/shipment/cancel.py +39 -0
  17. karrio/providers/easyship/shipment/create.py +306 -0
  18. karrio/providers/easyship/tracking.py +110 -0
  19. karrio/providers/easyship/units.py +162 -0
  20. karrio/providers/easyship/utils.py +98 -0
  21. karrio/schemas/easyship/__init__.py +0 -0
  22. karrio/schemas/easyship/error_response.py +17 -0
  23. karrio/schemas/easyship/manifest_request.py +9 -0
  24. karrio/schemas/easyship/manifest_response.py +31 -0
  25. karrio/schemas/easyship/pickup_cancel_response.py +19 -0
  26. karrio/schemas/easyship/pickup_request.py +13 -0
  27. karrio/schemas/easyship/pickup_response.py +85 -0
  28. karrio/schemas/easyship/rate_request.py +100 -0
  29. karrio/schemas/easyship/rate_response.py +124 -0
  30. karrio/schemas/easyship/shipment_cancel_response.py +19 -0
  31. karrio/schemas/easyship/shipment_request.py +147 -0
  32. karrio/schemas/easyship/shipment_response.py +273 -0
  33. karrio/schemas/easyship/tracking_request.py +49 -0
  34. karrio/schemas/easyship/tracking_response.py +54 -0
  35. karrio_easyship-2025.5rc1.dist-info/METADATA +45 -0
  36. karrio_easyship-2025.5rc1.dist-info/RECORD +39 -0
  37. karrio_easyship-2025.5rc1.dist-info/WHEEL +5 -0
  38. karrio_easyship-2025.5rc1.dist-info/entry_points.txt +2 -0
  39. karrio_easyship-2025.5rc1.dist-info/top_level.txt +3 -0
@@ -0,0 +1,273 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class UnavailableCourierType:
8
+ id: typing.Optional[str] = None
9
+ name: typing.Optional[str] = None
10
+ message: typing.Optional[str] = None
11
+
12
+
13
+ @attr.s(auto_attribs=True)
14
+ class MetaType:
15
+ request_id: typing.Optional[str] = None
16
+ status: typing.Optional[str] = None
17
+ unavailable_couriers: typing.Optional[typing.List[UnavailableCourierType]] = jstruct.JList[UnavailableCourierType]
18
+ errors: typing.Optional[typing.List[str]] = None
19
+
20
+
21
+ @attr.s(auto_attribs=True)
22
+ class BuyerRegulatoryIdentifiersType:
23
+ ein: typing.Optional[str] = None
24
+ vat_number: typing.Optional[str] = None
25
+
26
+
27
+ @attr.s(auto_attribs=True)
28
+ class CourierType:
29
+ id: typing.Optional[str] = None
30
+ name: typing.Optional[str] = None
31
+
32
+
33
+ @attr.s(auto_attribs=True)
34
+ class AddressType:
35
+ city: typing.Optional[str] = None
36
+ company_name: typing.Optional[str] = None
37
+ contact_email: typing.Optional[str] = None
38
+ contact_name: typing.Optional[str] = None
39
+ contact_phone: typing.Optional[str] = None
40
+ country_alpha2: typing.Optional[str] = None
41
+ line_1: typing.Optional[str] = None
42
+ line_2: typing.Optional[str] = None
43
+ postal_code: typing.Optional[str] = None
44
+ state: typing.Optional[str] = None
45
+
46
+
47
+ @attr.s(auto_attribs=True)
48
+ class InsuranceType:
49
+ insured_amount: typing.Optional[int] = None
50
+ insured_currency: typing.Optional[str] = None
51
+ is_insured: typing.Optional[bool] = None
52
+
53
+
54
+ @attr.s(auto_attribs=True)
55
+ class LastFailureHTTPResponseMessageType:
56
+ code: typing.Optional[str] = None
57
+ message: typing.Optional[str] = None
58
+
59
+
60
+ @attr.s(auto_attribs=True)
61
+ class OrderDataType:
62
+ buyer_notes: typing.Optional[str] = None
63
+ buyer_selected_courier_name: typing.Optional[str] = None
64
+ order_created_at: typing.Optional[str] = None
65
+ order_tag_list: typing.Optional[typing.List[str]] = None
66
+ platform_name: typing.Optional[str] = None
67
+ platform_order_number: typing.Optional[str] = None
68
+ seller_notes: typing.Optional[str] = None
69
+
70
+
71
+ @attr.s(auto_attribs=True)
72
+ class DimensionsType:
73
+ height: typing.Optional[int] = None
74
+ length: typing.Optional[int] = None
75
+ width: typing.Optional[int] = None
76
+
77
+
78
+ @attr.s(auto_attribs=True)
79
+ class BoxType:
80
+ id: typing.Optional[str] = None
81
+ name: typing.Optional[str] = None
82
+ outer_dimensions: typing.Optional[DimensionsType] = jstruct.JStruct[DimensionsType]
83
+ slug: typing.Optional[str] = None
84
+ type: typing.Optional[str] = None
85
+ weight: typing.Optional[int] = None
86
+
87
+
88
+ @attr.s(auto_attribs=True)
89
+ class ItemType:
90
+ actual_weight: typing.Optional[int] = None
91
+ category: typing.Optional[str] = None
92
+ contains_battery_pi966: typing.Optional[bool] = None
93
+ contains_battery_pi967: typing.Optional[bool] = None
94
+ contains_liquids: typing.Optional[bool] = None
95
+ declared_currency: typing.Optional[str] = None
96
+ declared_customs_value: typing.Optional[int] = None
97
+ description: typing.Optional[str] = None
98
+ dimensions: typing.Optional[DimensionsType] = jstruct.JStruct[DimensionsType]
99
+ hs_code: typing.Optional[int] = None
100
+ id: typing.Optional[str] = None
101
+ origin_country_alpha2: typing.Optional[str] = None
102
+ origin_currency: typing.Optional[str] = None
103
+ origin_customs_value: typing.Optional[int] = None
104
+ quantity: typing.Optional[int] = None
105
+ sku: typing.Optional[str] = None
106
+
107
+
108
+ @attr.s(auto_attribs=True)
109
+ class ParcelType:
110
+ box: typing.Optional[BoxType] = jstruct.JStruct[BoxType]
111
+ id: typing.Optional[str] = None
112
+ items: typing.Optional[typing.List[ItemType]] = jstruct.JList[ItemType]
113
+ total_actual_weight: typing.Optional[int] = None
114
+
115
+
116
+ @attr.s(auto_attribs=True)
117
+ class DetailType:
118
+ fee: typing.Optional[int] = None
119
+ name: typing.Optional[str] = None
120
+ origin_fee: typing.Optional[int] = None
121
+
122
+
123
+ @attr.s(auto_attribs=True)
124
+ class OtherSurchargesType:
125
+ details: typing.Optional[typing.List[DetailType]] = jstruct.JList[DetailType]
126
+ total_fee: typing.Optional[int] = None
127
+
128
+
129
+ @attr.s(auto_attribs=True)
130
+ class RatesInOriginCurrencyType:
131
+ additional_services_surcharge: typing.Optional[int] = None
132
+ currency: typing.Optional[str] = None
133
+ ddp_handling_fee: typing.Optional[str] = None
134
+ estimated_import_duty: typing.Optional[str] = None
135
+ estimated_import_tax: typing.Optional[str] = None
136
+ fuel_surcharge: typing.Optional[int] = None
137
+ import_duty_charge: typing.Optional[str] = None
138
+ import_tax_charge: typing.Optional[str] = None
139
+ import_tax_non_chargeable: typing.Optional[str] = None
140
+ insurance_fee: typing.Optional[int] = None
141
+ minimum_pickup_fee: typing.Optional[int] = None
142
+ oversized_surcharge: typing.Optional[int] = None
143
+ provincial_sales_tax: typing.Optional[int] = None
144
+ remote_area_surcharge: typing.Optional[int] = None
145
+ residential_discounted_fee: typing.Optional[int] = None
146
+ residential_full_fee: typing.Optional[int] = None
147
+ sales_tax: typing.Optional[int] = None
148
+ shipment_charge: typing.Optional[int] = None
149
+ shipment_charge_total: typing.Optional[int] = None
150
+ total_charge: typing.Optional[int] = None
151
+ warehouse_handling_fee: typing.Optional[int] = None
152
+
153
+
154
+ @attr.s(auto_attribs=True)
155
+ class RateType:
156
+ additional_services_surcharge: typing.Optional[int] = None
157
+ available_handover_options: typing.Optional[typing.List[str]] = None
158
+ cost_rank: typing.Optional[int] = None
159
+ courier_id: typing.Optional[str] = None
160
+ courier_logo_url: typing.Optional[str] = None
161
+ courier_name: typing.Optional[str] = None
162
+ courier_remarks: typing.Optional[str] = None
163
+ currency: typing.Optional[str] = None
164
+ ddp_handling_fee: typing.Optional[str] = None
165
+ delivery_time_rank: typing.Optional[int] = None
166
+ description: typing.Optional[str] = None
167
+ discount: typing.Optional[str] = None
168
+ easyship_rating: typing.Optional[int] = None
169
+ estimated_import_duty: typing.Optional[str] = None
170
+ estimated_import_tax: typing.Optional[str] = None
171
+ fuel_surcharge: typing.Optional[int] = None
172
+ full_description: typing.Optional[str] = None
173
+ import_duty_charge: typing.Optional[str] = None
174
+ import_tax_charge: typing.Optional[str] = None
175
+ import_tax_non_chargeable: typing.Optional[str] = None
176
+ incoterms: typing.Optional[str] = None
177
+ insurance_fee: typing.Optional[int] = None
178
+ is_above_threshold: typing.Optional[bool] = None
179
+ max_delivery_time: typing.Optional[int] = None
180
+ min_delivery_time: typing.Optional[int] = None
181
+ minimum_pickup_fee: typing.Optional[int] = None
182
+ other_surcharges: typing.Optional[OtherSurchargesType] = jstruct.JStruct[OtherSurchargesType]
183
+ oversized_surcharge: typing.Optional[int] = None
184
+ payment_recipient: typing.Optional[str] = None
185
+ provincial_sales_tax: typing.Optional[int] = None
186
+ rates_in_origin_currency: typing.Optional[RatesInOriginCurrencyType] = jstruct.JStruct[RatesInOriginCurrencyType]
187
+ remote_area_surcharge: typing.Optional[int] = None
188
+ remote_area_surcharges: typing.Optional[str] = None
189
+ residential_discounted_fee: typing.Optional[int] = None
190
+ residential_full_fee: typing.Optional[int] = None
191
+ sales_tax: typing.Optional[int] = None
192
+ shipment_charge: typing.Optional[int] = None
193
+ shipment_charge_total: typing.Optional[int] = None
194
+ total_charge: typing.Optional[int] = None
195
+ tracking_rating: typing.Optional[int] = None
196
+ value_for_money_rank: typing.Optional[int] = None
197
+ warehouse_handling_fee: typing.Optional[int] = None
198
+
199
+
200
+ @attr.s(auto_attribs=True)
201
+ class RegulatoryIdentifiersType:
202
+ eori: typing.Optional[str] = None
203
+ ioss: typing.Optional[str] = None
204
+ vat_number: typing.Optional[str] = None
205
+
206
+
207
+ @attr.s(auto_attribs=True)
208
+ class ShippingDocumentType:
209
+ base64_encoded_strings: typing.Optional[typing.List[str]] = None
210
+ category: typing.Optional[str] = None
211
+ format: typing.Optional[str] = None
212
+ page_size: typing.Optional[str] = None
213
+ required: typing.Optional[bool] = None
214
+ url: typing.Any = None
215
+
216
+
217
+ @attr.s(auto_attribs=True)
218
+ class ShippingSettingsType:
219
+ b13_a_filing: typing.Optional[str] = None
220
+
221
+
222
+ @attr.s(auto_attribs=True)
223
+ class TrackingType:
224
+ alternate_tracking_number: typing.Optional[str] = None
225
+ handler: typing.Optional[str] = None
226
+ leg_number: typing.Optional[int] = None
227
+ local_tracking_number: typing.Optional[str] = None
228
+ tracking_number: typing.Optional[str] = None
229
+ tracking_state: typing.Optional[str] = None
230
+
231
+
232
+ @attr.s(auto_attribs=True)
233
+ class ShipmentType:
234
+ buyer_regulatory_identifiers: typing.Optional[BuyerRegulatoryIdentifiersType] = jstruct.JStruct[BuyerRegulatoryIdentifiersType]
235
+ consignee_tax_id: typing.Optional[str] = None
236
+ courier: typing.Optional[CourierType] = jstruct.JStruct[CourierType]
237
+ created_at: typing.Optional[str] = None
238
+ currency: typing.Optional[str] = None
239
+ delivery_state: typing.Optional[str] = None
240
+ destination_address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
241
+ easyship_shipment_id: typing.Optional[str] = None
242
+ eei_reference: typing.Optional[str] = None
243
+ incoterms: typing.Optional[str] = None
244
+ insurance: typing.Optional[InsuranceType] = jstruct.JStruct[InsuranceType]
245
+ label_generated_at: typing.Optional[str] = None
246
+ label_paid_at: typing.Optional[str] = None
247
+ label_state: typing.Optional[str] = None
248
+ last_failure_http_response_messages: typing.Optional[typing.List[LastFailureHTTPResponseMessageType]] = jstruct.JList[LastFailureHTTPResponseMessageType]
249
+ metadata: typing.Optional[typing.List[typing.Any]] = None
250
+ order_created_at: typing.Optional[str] = None
251
+ order_data: typing.Optional[OrderDataType] = jstruct.JStruct[OrderDataType]
252
+ origin_address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
253
+ parcels: typing.Optional[typing.List[ParcelType]] = jstruct.JList[ParcelType]
254
+ pickup_state: typing.Optional[str] = None
255
+ rates: typing.Optional[typing.List[RateType]] = jstruct.JList[RateType]
256
+ regulatory_identifiers: typing.Optional[RegulatoryIdentifiersType] = jstruct.JStruct[RegulatoryIdentifiersType]
257
+ shipment_return: typing.Optional[bool] = None
258
+ return_address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
259
+ sender_address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
260
+ set_as_residential: typing.Optional[bool] = None
261
+ shipment_state: typing.Optional[str] = None
262
+ shipping_documents: typing.Optional[typing.List[ShippingDocumentType]] = jstruct.JList[ShippingDocumentType]
263
+ shipping_settings: typing.Optional[ShippingSettingsType] = jstruct.JStruct[ShippingSettingsType]
264
+ tracking_page_url: typing.Optional[str] = None
265
+ trackings: typing.Optional[typing.List[TrackingType]] = jstruct.JList[TrackingType]
266
+ updated_at: typing.Optional[str] = None
267
+ warehouse_state: typing.Optional[str] = None
268
+
269
+
270
+ @attr.s(auto_attribs=True)
271
+ class ShipmentResponseType:
272
+ meta: typing.Optional[MetaType] = jstruct.JStruct[MetaType]
273
+ shipment: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
@@ -0,0 +1,49 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class ComparisonType:
8
+ changes: typing.Optional[str] = None
9
+ post: typing.Optional[str] = None
10
+ pre: typing.Optional[str] = None
11
+
12
+
13
+ @attr.s(auto_attribs=True)
14
+ class ValidationType:
15
+ detail: typing.Optional[str] = None
16
+ status: typing.Optional[str] = None
17
+ comparison: typing.Optional[ComparisonType] = jstruct.JStruct[ComparisonType]
18
+
19
+
20
+ @attr.s(auto_attribs=True)
21
+ class NAddressType:
22
+ city: typing.Optional[str] = None
23
+ company_name: typing.Optional[str] = None
24
+ contact_email: typing.Optional[str] = None
25
+ contact_name: typing.Optional[str] = None
26
+ contact_phone: typing.Optional[str] = None
27
+ country_alpha2: typing.Optional[str] = None
28
+ line_1: typing.Optional[str] = None
29
+ line_2: typing.Optional[str] = None
30
+ postal_code: typing.Optional[str] = None
31
+ state: typing.Optional[str] = None
32
+ validation: typing.Optional[ValidationType] = jstruct.JStruct[ValidationType]
33
+
34
+
35
+ @attr.s(auto_attribs=True)
36
+ class ItemType:
37
+ description: typing.Optional[str] = None
38
+ quantity: typing.Optional[int] = None
39
+
40
+
41
+ @attr.s(auto_attribs=True)
42
+ class TrackingRequestType:
43
+ destination_address: typing.Optional[NAddressType] = jstruct.JStruct[NAddressType]
44
+ origin_address: typing.Optional[NAddressType] = jstruct.JStruct[NAddressType]
45
+ courier_id: typing.Optional[str] = None
46
+ origin_address_id: typing.Optional[str] = None
47
+ platform_order_number: typing.Optional[int] = None
48
+ items: typing.Optional[typing.List[ItemType]] = jstruct.JList[ItemType]
49
+ tracking_number: typing.Optional[int] = None
@@ -0,0 +1,54 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class MetaType:
8
+ request_id: typing.Optional[str] = None
9
+
10
+
11
+ @attr.s(auto_attribs=True)
12
+ class CheckpointType:
13
+ checkpoint_time: typing.Optional[str] = None
14
+ city: typing.Optional[str] = None
15
+ country_iso3: typing.Optional[str] = None
16
+ country_name: typing.Optional[str] = None
17
+ handler: typing.Optional[str] = None
18
+ location: typing.Optional[str] = None
19
+ message: typing.Optional[str] = None
20
+ order_number: typing.Optional[str] = None
21
+ postal_code: typing.Optional[str] = None
22
+ country_alpha2: typing.Optional[str] = None
23
+ description: typing.Optional[str] = None
24
+ primary_status: typing.Optional[str] = None
25
+ state: typing.Optional[str] = None
26
+
27
+
28
+ @attr.s(auto_attribs=True)
29
+ class CourierType:
30
+ id: typing.Optional[str] = None
31
+ umbrella_name: typing.Optional[str] = None
32
+
33
+
34
+ @attr.s(auto_attribs=True)
35
+ class TrackingType:
36
+ courier: typing.Optional[CourierType] = jstruct.JStruct[CourierType]
37
+ destination_country_alpha2: typing.Optional[str] = None
38
+ easyship_shipment_id: typing.Optional[str] = None
39
+ eta_date: typing.Optional[str] = None
40
+ id: typing.Optional[str] = None
41
+ origin_country_alpha2: typing.Optional[str] = None
42
+ platform_order_number: typing.Optional[str] = None
43
+ source: typing.Optional[str] = None
44
+ status: typing.Optional[str] = None
45
+ tracking_number: typing.Optional[str] = None
46
+ tracking_status: typing.Optional[str] = None
47
+ tracking_page_url: typing.Optional[str] = None
48
+ checkpoints: typing.Optional[typing.List[CheckpointType]] = jstruct.JList[CheckpointType]
49
+
50
+
51
+ @attr.s(auto_attribs=True)
52
+ class TrackingResponseType:
53
+ meta: typing.Optional[MetaType] = jstruct.JStruct[MetaType]
54
+ tracking: typing.Optional[TrackingType] = jstruct.JStruct[TrackingType]
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: karrio_easyship
3
+ Version: 2025.5rc1
4
+ Summary: Karrio - Easyship Shipping Extension
5
+ Author-email: karrio <hello@karrio.io>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/karrioapi/karrio
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Requires-Python: >=3.7
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: karrio
14
+
15
+
16
+ # karrio.easyship
17
+
18
+ This package is a Easyship extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
19
+
20
+ ## Requirements
21
+
22
+ `Python 3.7+`
23
+
24
+ ## Installation
25
+
26
+ ```bash
27
+ pip install karrio.easyship
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ ```python
33
+ import karrio.sdk as karrio
34
+ from karrio.mappers.easyship.settings import Settings
35
+
36
+
37
+ # Initialize a carrier gateway
38
+ easyship = karrio.gateway["easyship"].create(
39
+ Settings(
40
+ ...
41
+ )
42
+ )
43
+ ```
44
+
45
+ Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests
@@ -0,0 +1,39 @@
1
+ karrio/mappers/easyship/__init__.py,sha256=aLA1ENTKZ7CGHtXQ0t5BQYucVdOnKMDPKGrdRXWZyGw,151
2
+ karrio/mappers/easyship/mapper.py,sha256=fLIBDvC8BkNAi2viZuuBy_zj1sjLSF7cEEbfxtXCz5E,3703
3
+ karrio/mappers/easyship/proxy.py,sha256=xoaDjuuEW9kWsBVxBKr42g_jNv2K9l4zB2bOAE2DN_Y,5811
4
+ karrio/mappers/easyship/settings.py,sha256=ghyujn4gy5XtjCggAI59tzEAHNX_GxA0RC2-vxxv_mo,489
5
+ karrio/plugins/easyship/__init__.py,sha256=ENXQAYszRmxCvdVoY8EJtRAJBL0u31AlUhEmKD3Kpx0,543
6
+ karrio/providers/easyship/__init__.py,sha256=dWvRdjJLzka87iVfszU3cWVDJJBQn2YKKrT7-rZjAAU,759
7
+ karrio/providers/easyship/error.py,sha256=rjYvj3iSa0SP_ScwtKMm05OVGx2vBhjMVWvzE2z7ccM,1063
8
+ karrio/providers/easyship/manifest.py,sha256=BoFk5beASPeIbdToB5yi_naVzUSTLcIB11rLBmgJ7kY,2243
9
+ karrio/providers/easyship/metadata.json,sha256=EuukQpPGZST6ANmXCz5QqTYYAhFUxHvt3QAnxlrqyvk,229126
10
+ karrio/providers/easyship/rate.py,sha256=PSKu8wDJH0i3xeUpk6OLmIe7Pyio6_i4tiXmP8ekqpk,9005
11
+ karrio/providers/easyship/tracking.py,sha256=WdWLFmYYyQz9UYm3QDzSDsiw6aS_JVtS6uNV2oRmoBM,3532
12
+ karrio/providers/easyship/units.py,sha256=52urzcBU0tEUiOFcfBPQnwnbNkRyeQNE3VtvKFWtKKo,4284
13
+ karrio/providers/easyship/utils.py,sha256=v-H-rdbCnjV6qrxYtOZR3GT91dkGFFsQl7phgclakm4,3340
14
+ karrio/providers/easyship/pickup/__init__.py,sha256=vObZR6snWBhZb09L-klqUgNbb3Ib9g0NTSEQpF_T4mM,299
15
+ karrio/providers/easyship/pickup/cancel.py,sha256=Kq6T0AvWjV1QSs43tbvRxiuJx0nP5v7cVa6Ls-0cQ1Y,1251
16
+ karrio/providers/easyship/pickup/create.py,sha256=YX4pFPdZIgvIH5tB5SpcxiBo-4Rxp3c4msZKy-Ib_4E,3118
17
+ karrio/providers/easyship/pickup/update.py,sha256=8DGoLhQNNV5JAaMypD7pYuZ-PMQhkTk8jI-LoPvA9Sw,3212
18
+ karrio/providers/easyship/shipment/__init__.py,sha256=XZUedqB7ZIut6FPey7DTx64_OeD7c9KPsUIiAl6oSag,233
19
+ karrio/providers/easyship/shipment/cancel.py,sha256=2YKshLIZkOnF6nX3EMDXPkUBdjJRZm9sYwwB7mTC-D4,1212
20
+ karrio/providers/easyship/shipment/create.py,sha256=rddyz8MNxWdX0Z1jMm7nqV0ICZ0aN6_O6Z-u6IGSW0w,12547
21
+ karrio/schemas/easyship/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ karrio/schemas/easyship/error_response.py,sha256=P-SUAjY7b703B0KHaYK4uFSLkexCBp-JZZvg8Blxw0E,423
23
+ karrio/schemas/easyship/manifest_request.py,sha256=GzcJqgBbumbTl4muIvwtnbrb8aM-Hdj1JtSbQ9D7wis,208
24
+ karrio/schemas/easyship/manifest_response.py,sha256=1oFFxwpjhdqvC1Xsar1_lMM5QaHKkiZIW7YqLsIZOuc,858
25
+ karrio/schemas/easyship/pickup_cancel_response.py,sha256=PtRZEtDTR_9JGeQqpVW2-J4SFDt6z6ZAHXrG-9TieCs,417
26
+ karrio/schemas/easyship/pickup_request.py,sha256=6ePJvDzQMROhA57RRH0IRbNMt80yHegt9zOUClJZrHY,402
27
+ karrio/schemas/easyship/pickup_response.py,sha256=al5IxhoS3kX4gwYU-6sHQvaG50o766ajuumyxRJBAZg,2786
28
+ karrio/schemas/easyship/rate_request.py,sha256=9Cc_oiuxyFPzbeoC3P-PDfahh0GrlE5DK6Sqm0W9noY,3413
29
+ karrio/schemas/easyship/rate_response.py,sha256=EuacPrzMrbOesWNoxJOMgmywM3-hO36B5uYkmoWIGfg,4981
30
+ karrio/schemas/easyship/shipment_cancel_response.py,sha256=N_BoQbzEvkjR6cTX0r-TKs9TyzC37hBqbOpG6zrEm9w,419
31
+ karrio/schemas/easyship/shipment_request.py,sha256=nowz5CWtxdZg4zb81a_QsrmEI0dEtgO9yoeq44ZeDm8,5534
32
+ karrio/schemas/easyship/shipment_response.py,sha256=9uJJs4xR0bLLz7vmZMCSaIyz59dBl4kvHjMKwVvLs7g,11002
33
+ karrio/schemas/easyship/tracking_request.py,sha256=XQ735p0jyG46fzaNlSqb2Wu8Ral6UgID8HFM6fBQsPw,1620
34
+ karrio/schemas/easyship/tracking_response.py,sha256=QwuvI_8-YQXo-2q6uMAJA5IQrgX2gfoPtg1TGBHoZA4,1830
35
+ karrio_easyship-2025.5rc1.dist-info/METADATA,sha256=sNPw0m1BGQvFgAAkBMXz1zSMZoMhX3KG691-Hl9CA5A,1000
36
+ karrio_easyship-2025.5rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
+ karrio_easyship-2025.5rc1.dist-info/entry_points.txt,sha256=fWVjIqvIorXvb1UVUMceu3i7pP0ba6gJnaZm7HLkZIY,61
38
+ karrio_easyship-2025.5rc1.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
39
+ karrio_easyship-2025.5rc1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [karrio.plugins]
2
+ easyship = karrio.plugins.easyship:METADATA
@@ -0,0 +1,3 @@
1
+ dist
2
+ karrio
3
+ schemas