karrio-spring 2026.1.3__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.
@@ -0,0 +1,98 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class AddressType:
8
+ Name: typing.Optional[str] = None
9
+ Company: typing.Optional[str] = None
10
+ AddressLine1: typing.Optional[str] = None
11
+ AddressLine2: typing.Optional[str] = None
12
+ AddressLine3: typing.Optional[str] = None
13
+ City: typing.Optional[str] = None
14
+ State: typing.Optional[str] = None
15
+ Zip: typing.Optional[str] = None
16
+ Country: typing.Optional[str] = None
17
+ Phone: typing.Optional[str] = None
18
+ Email: typing.Optional[str] = None
19
+ Vat: typing.Optional[str] = None
20
+ PudoLocationId: typing.Optional[str] = None
21
+
22
+
23
+ @attr.s(auto_attribs=True)
24
+ class ConsignorAddressType:
25
+ Name: typing.Optional[str] = None
26
+ Company: typing.Optional[str] = None
27
+ AddressLine1: typing.Optional[str] = None
28
+ AddressLine2: typing.Optional[str] = None
29
+ AddressLine3: typing.Optional[str] = None
30
+ City: typing.Optional[str] = None
31
+ State: typing.Optional[str] = None
32
+ Zip: typing.Optional[str] = None
33
+ Country: typing.Optional[str] = None
34
+ Phone: typing.Optional[str] = None
35
+ Email: typing.Optional[str] = None
36
+ Vat: typing.Optional[str] = None
37
+ Eori: typing.Optional[str] = None
38
+ NlVat: typing.Optional[str] = None
39
+ EuEori: typing.Optional[str] = None
40
+ GbEori: typing.Optional[str] = None
41
+ Ioss: typing.Optional[str] = None
42
+ LocalTaxNumber: typing.Optional[str] = None
43
+ Art23: typing.Optional[str] = None
44
+
45
+
46
+ @attr.s(auto_attribs=True)
47
+ class ProductType:
48
+ Description: typing.Optional[str] = None
49
+ Sku: typing.Optional[str] = None
50
+ HsCode: typing.Optional[str] = None
51
+ OriginCountry: typing.Optional[str] = None
52
+ ImgUrl: typing.Optional[str] = None
53
+ PurchaseUrl: typing.Optional[str] = None
54
+ Quantity: typing.Optional[str] = None
55
+ Value: typing.Optional[str] = None
56
+ Weight: typing.Optional[str] = None
57
+ DaysForReturn: typing.Optional[str] = None
58
+ NonReturnable: typing.Optional[str] = None
59
+ PreferentialOriginTag: typing.Optional[str] = None
60
+ BondedGoods: typing.Optional[str] = None
61
+
62
+
63
+ @attr.s(auto_attribs=True)
64
+ class ShipmentType:
65
+ LabelFormat: typing.Optional[str] = None
66
+ ShipperReference: typing.Optional[str] = None
67
+ OrderReference: typing.Optional[str] = None
68
+ OrderDate: typing.Optional[str] = None
69
+ DisplayId: typing.Optional[str] = None
70
+ InvoiceNumber: typing.Optional[str] = None
71
+ Service: typing.Optional[str] = None
72
+ Weight: typing.Optional[str] = None
73
+ WeightUnit: typing.Optional[str] = None
74
+ Length: typing.Optional[str] = None
75
+ Width: typing.Optional[str] = None
76
+ Height: typing.Optional[str] = None
77
+ DimUnit: typing.Optional[str] = None
78
+ Value: typing.Optional[str] = None
79
+ ShippingValue: typing.Optional[str] = None
80
+ Currency: typing.Optional[str] = None
81
+ CustomsDuty: typing.Optional[str] = None
82
+ Description: typing.Optional[str] = None
83
+ DeclarationType: typing.Optional[str] = None
84
+ DangerousGoods: typing.Optional[str] = None
85
+ Source: typing.Optional[str] = None
86
+ ExportCarrierName: typing.Optional[str] = None
87
+ ExportAwb: typing.Optional[str] = None
88
+ ConsignorAddress: typing.Optional[ConsignorAddressType] = jstruct.JStruct[ConsignorAddressType]
89
+ ConsigneeAddress: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
90
+ ImporterAddress: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
91
+ Products: typing.Optional[typing.List[ProductType]] = jstruct.JList[ProductType]
92
+
93
+
94
+ @attr.s(auto_attribs=True)
95
+ class ShipmentRequestType:
96
+ Apikey: typing.Optional[str] = None
97
+ Command: typing.Optional[str] = None
98
+ Shipment: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
@@ -0,0 +1,75 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class CalculatedTotalType:
8
+ sourceValue: typing.Optional[float] = None
9
+ destinationValue: typing.Optional[float] = None
10
+
11
+
12
+ @attr.s(auto_attribs=True)
13
+ class ProductType:
14
+ hs6code: typing.Optional[str] = None
15
+ commodityCode: typing.Optional[str] = None
16
+ value: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
17
+ description: typing.Optional[str] = None
18
+ percentageDutyRate: typing.Optional[int] = None
19
+ taxRate: typing.Optional[float] = None
20
+ dutyValue: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
21
+ taxValue: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
22
+ productTotal: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
23
+ hs6codeDescription: typing.Optional[str] = None
24
+
25
+
26
+ @attr.s(auto_attribs=True)
27
+ class LandedCostType:
28
+ requestId: typing.Optional[str] = None
29
+ sourceCountry: typing.Optional[str] = None
30
+ sourceCurrency: typing.Optional[str] = None
31
+ destinationCountry: typing.Optional[str] = None
32
+ destinationCurrency: typing.Optional[str] = None
33
+ convertCurrency: typing.Optional[bool] = None
34
+ currencyExchange: typing.Optional[str] = None
35
+ exchangeRate: typing.Optional[float] = None
36
+ rateLastUpdated: typing.Optional[str] = None
37
+ shippingValue: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
38
+ products: typing.Optional[typing.List[ProductType]] = jstruct.JList[ProductType]
39
+ productRawTotal: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
40
+ calculatedTotal: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
41
+ totalTax: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
42
+ totalDuty: typing.Optional[CalculatedTotalType] = jstruct.JStruct[CalculatedTotalType]
43
+ isError: typing.Optional[bool] = None
44
+ errorCode: typing.Optional[int] = None
45
+ notes: typing.Optional[str] = None
46
+ generatedDate: typing.Optional[str] = None
47
+
48
+
49
+ @attr.s(auto_attribs=True)
50
+ class DdpInfoType:
51
+ requestId: typing.Optional[str] = None
52
+ landedCost: typing.Optional[LandedCostType] = jstruct.JStruct[LandedCostType]
53
+
54
+
55
+ @attr.s(auto_attribs=True)
56
+ class ShipmentType:
57
+ TrackingNumber: typing.Optional[str] = None
58
+ ShipperReference: typing.Optional[str] = None
59
+ DisplayId: typing.Optional[str] = None
60
+ Service: typing.Optional[str] = None
61
+ Carrier: typing.Optional[str] = None
62
+ CarrierTrackingNumber: typing.Optional[str] = None
63
+ CarrierLocalTrackingNumber: typing.Optional[str] = None
64
+ CarrierTrackingUrl: typing.Optional[str] = None
65
+ LabelFormat: typing.Optional[str] = None
66
+ LabelType: typing.Optional[str] = None
67
+ LabelImage: typing.Optional[str] = None
68
+ DdpInfo: typing.Optional[DdpInfoType] = jstruct.JStruct[DdpInfoType]
69
+
70
+
71
+ @attr.s(auto_attribs=True)
72
+ class ShipmentResponseType:
73
+ ErrorLevel: typing.Optional[int] = None
74
+ Error: typing.Optional[str] = None
75
+ Shipment: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
@@ -0,0 +1,16 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class ShipmentType:
8
+ TrackingNumber: typing.Optional[str] = None
9
+ ShipperReference: typing.Optional[str] = None
10
+
11
+
12
+ @attr.s(auto_attribs=True)
13
+ class TrackingRequestType:
14
+ Apikey: typing.Optional[str] = None
15
+ Command: typing.Optional[str] = None
16
+ 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 ConsigneeAddressType:
8
+ Name: typing.Optional[str] = None
9
+ City: typing.Optional[str] = None
10
+ State: typing.Optional[str] = None
11
+ Zip: typing.Optional[str] = None
12
+ Country: typing.Optional[str] = None
13
+
14
+
15
+ @attr.s(auto_attribs=True)
16
+ class EventType:
17
+ Timestamp: typing.Optional[int] = None
18
+ DateTime: typing.Optional[str] = None
19
+ Country: typing.Optional[str] = None
20
+ City: typing.Optional[str] = None
21
+ State: typing.Optional[str] = None
22
+ Zip: typing.Optional[str] = None
23
+ Code: typing.Optional[int] = None
24
+ Description: typing.Optional[str] = None
25
+ CarrierCode: typing.Optional[str] = None
26
+ CarrierDescription: typing.Optional[str] = None
27
+
28
+
29
+ @attr.s(auto_attribs=True)
30
+ class ShipmentType:
31
+ TrackingNumber: typing.Optional[str] = None
32
+ ShipperReference: typing.Optional[str] = None
33
+ DisplayId: typing.Optional[str] = None
34
+ Service: typing.Optional[str] = None
35
+ Carrier: typing.Optional[str] = None
36
+ CarrierTrackingNumber: typing.Optional[str] = None
37
+ CarrierLocalTrackingNumber: typing.Optional[str] = None
38
+ CarrierTrackingUrl: typing.Optional[str] = None
39
+ Weight: typing.Optional[str] = None
40
+ WeightUnit: typing.Optional[str] = None
41
+ ConsigneeAddress: typing.Optional[ConsigneeAddressType] = jstruct.JStruct[ConsigneeAddressType]
42
+ Events: typing.Optional[typing.List[EventType]] = jstruct.JList[EventType]
43
+
44
+
45
+ @attr.s(auto_attribs=True)
46
+ class TrackingResponseType:
47
+ ErrorLevel: typing.Optional[int] = None
48
+ Error: typing.Optional[str] = None
49
+ Shipment: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
@@ -0,0 +1,44 @@
1
+ Metadata-Version: 2.4
2
+ Name: karrio_spring
3
+ Version: 2026.1.3
4
+ Summary: Karrio - Spring Shipping Extension
5
+ Author-email: karrio <hello@karrio.io>
6
+ License-Expression: LGPL-3.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.11
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: karrio
14
+
15
+ # karrio.spring
16
+
17
+ This package is a Spring extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
18
+
19
+ ## Requirements
20
+
21
+ `Python 3.11+`
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ pip install karrio.spring
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ ```python
32
+ import karrio.sdk as karrio
33
+ from karrio.mappers.spring.settings import Settings
34
+
35
+
36
+ # Initialize a carrier gateway
37
+ spring = karrio.gateway["spring"].create(
38
+ Settings(
39
+ ...
40
+ )
41
+ )
42
+ ```
43
+
44
+ Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests
@@ -0,0 +1,26 @@
1
+ karrio/mappers/spring/__init__.py,sha256=438dGr0HApbPM25SffA5OJHRp7B_8qsbdbGBQhRr80k,145
2
+ karrio/mappers/spring/mapper.py,sha256=aPE2dCeQvNkBtVjESILmRpUQ8pSa0nT-i7A-A8LtXd8,2072
3
+ karrio/mappers/spring/proxy.py,sha256=LreFfH55hvRQxMYOa6FiuvNOjnceo1AvsRfMGTJDUeI,2546
4
+ karrio/mappers/spring/settings.py,sha256=PhFLpSzjwtCk6C7oMk_Z9ok-nMISw48NgAIM10xgaEg,1024
5
+ karrio/plugins/spring/__init__.py,sha256=igwmn6DoWVijnsqGWbKEfcTSgxyEILO1BFSCWwYiynE,519
6
+ karrio/providers/spring/__init__.py,sha256=M304FzXhCriZNNhuuvATJIXGWvMm1WmwrjI4dviB7V4,353
7
+ karrio/providers/spring/error.py,sha256=SJCnfpzoSRV7ndWZwwBoUNMKF6wpmUrlwI0TiftmVsk,1411
8
+ karrio/providers/spring/tracking.py,sha256=8rAP3XxwkpKVUrQDSLFO5Js9eNsoM22VoxaA8o9Mfcg,5092
9
+ karrio/providers/spring/units.py,sha256=pbMjDAHsSruB05s-0Qu_v7pAs3kUwr-HyElNNtKwaug,12710
10
+ karrio/providers/spring/utils.py,sha256=bz-zo1Vmii9Ilc_3xJg1VtSZA5nDqvIGS-1kXXhDmMU,760
11
+ karrio/providers/spring/shipment/__init__.py,sha256=GWbrHT_bmYJRGXlEKLMs_dNjhd3dEfRTILSj06Ril4E,229
12
+ karrio/providers/spring/shipment/cancel.py,sha256=QIe12TH071e1VthzRr71qehXDAhEQI9hn5_pYzBr7nM,1674
13
+ karrio/providers/spring/shipment/create.py,sha256=TJkkZYi4a8jbhMzsgJ-Hc0M0Js-q7q4j-CGhcj7u4sQ,9423
14
+ karrio/schemas/spring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ karrio/schemas/spring/error_response.py,sha256=6093kbnpPtbXjSdMSHZziwXrhvoUMf3nWyeBIVF_rus,178
16
+ karrio/schemas/spring/shipment_cancel_request.py,sha256=7sRpwCB3L_1vY_byexuVUd-YcvWAXt6fueVP7FHfm_A,407
17
+ karrio/schemas/spring/shipment_cancel_response.py,sha256=X7CUtVwYn1TGj7NM31tiCR1mSC7k9Dx9ttMKxNvi07g,410
18
+ karrio/schemas/spring/shipment_request.py,sha256=CTGheaCI4Uug6cn7p_-oGOr3WL6dloWbNaFWKvtoWww,3687
19
+ karrio/schemas/spring/shipment_response.py,sha256=Od-buOvkSwjNeOXsao02L3_IJgvRucKeBZuUFuz25r0,3136
20
+ karrio/schemas/spring/tracking_request.py,sha256=hWlDQGbyCfb_ch_qmAAEoQMgYEdGX3w9N5xRPWUYoiI,401
21
+ karrio/schemas/spring/tracking_response.py,sha256=JKyCljOZQmlST_IszIsOZsZszuq4yVHsI5wIlDCGKLg,1675
22
+ karrio_spring-2026.1.3.dist-info/METADATA,sha256=UUT92o0jYVviVInI7veO4ZyntvIzE_B92Dklvq-njkc,982
23
+ karrio_spring-2026.1.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
24
+ karrio_spring-2026.1.3.dist-info/entry_points.txt,sha256=WCJdc5iA3UM-nVymOa0w2AkbGjawBoh3FLW6lxvKsL8,57
25
+ karrio_spring-2026.1.3.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
26
+ karrio_spring-2026.1.3.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [karrio.plugins]
2
+ spring = karrio.plugins.spring:METADATA
@@ -0,0 +1,3 @@
1
+ dist
2
+ karrio
3
+ schemas