karrio-seko 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.
@@ -0,0 +1,19 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class OutboundManifestType:
8
+ ManifestNumber: typing.Optional[str] = None
9
+ ManifestedConnotes: typing.Optional[typing.List[str]] = None
10
+ ManifestContent: typing.Optional[str] = None
11
+
12
+
13
+ @attr.s(auto_attribs=True)
14
+ class ManifestResponseType:
15
+ OutboundManifest: typing.Optional[typing.List[OutboundManifestType]] = jstruct.JList[OutboundManifestType]
16
+ InboundManifest: typing.Optional[typing.List[typing.Any]] = None
17
+ Error: typing.Optional[typing.List[typing.Any]] = None
18
+ StatusCode: typing.Optional[int] = None
19
+ UnManifestedConnotes: typing.Optional[typing.List[typing.Any]] = None
@@ -0,0 +1,46 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class AddressType:
8
+ BuildingName: typing.Optional[str] = None
9
+ StreetAddress: typing.Optional[str] = None
10
+ Suburb: typing.Optional[str] = None
11
+ City: typing.Optional[str] = None
12
+ PostCode: typing.Optional[int] = None
13
+ CountryCode: typing.Optional[str] = None
14
+
15
+
16
+ @attr.s(auto_attribs=True)
17
+ class DestinationType:
18
+ Id: typing.Optional[int] = None
19
+ Name: typing.Optional[str] = None
20
+ Address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
21
+ ContactPerson: typing.Optional[str] = None
22
+ PhoneNumber: typing.Optional[int] = None
23
+ Email: typing.Optional[str] = None
24
+ DeliveryInstructions: typing.Optional[str] = None
25
+ RecipientTaxId: typing.Optional[int] = None
26
+
27
+
28
+ @attr.s(auto_attribs=True)
29
+ class PackageType:
30
+ Height: typing.Optional[int] = None
31
+ Length: typing.Optional[int] = None
32
+ Id: typing.Optional[int] = None
33
+ Width: typing.Optional[int] = None
34
+ Kg: typing.Optional[float] = None
35
+ Name: typing.Optional[str] = None
36
+ PackageCode: typing.Optional[str] = None
37
+ Type: typing.Optional[str] = None
38
+
39
+
40
+ @attr.s(auto_attribs=True)
41
+ class RatingRequestType:
42
+ DeliveryReference: typing.Optional[str] = None
43
+ Destination: typing.Optional[DestinationType] = jstruct.JStruct[DestinationType]
44
+ IsSaturdayDelivery: typing.Optional[bool] = None
45
+ IsSignatureRequired: typing.Optional[bool] = None
46
+ Packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
@@ -0,0 +1,41 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class AvailableType:
8
+ QuoteId: typing.Optional[str] = None
9
+ CarrierId: typing.Optional[int] = None
10
+ CarrierName: typing.Optional[str] = None
11
+ DeliveryType: typing.Optional[str] = None
12
+ Cost: typing.Optional[float] = None
13
+ ServiceStandard: typing.Optional[str] = None
14
+ Comments: typing.Optional[str] = None
15
+ Route: typing.Optional[str] = None
16
+ IsRuralDelivery: typing.Optional[bool] = None
17
+ IsSaturdayDelivery: typing.Optional[bool] = None
18
+ IsFreightForward: typing.Optional[bool] = None
19
+ CarrierServiceType: typing.Optional[str] = None
20
+
21
+
22
+ @attr.s(auto_attribs=True)
23
+ class RejectedType:
24
+ CarrierName: typing.Optional[str] = None
25
+ DeliveryType: typing.Optional[str] = None
26
+ Reason: typing.Optional[str] = None
27
+
28
+
29
+ @attr.s(auto_attribs=True)
30
+ class ValidationErrorsType:
31
+ Property: typing.Optional[str] = None
32
+ Message: typing.Optional[str] = None
33
+ Key: typing.Optional[str] = None
34
+ Value: typing.Optional[str] = None
35
+
36
+
37
+ @attr.s(auto_attribs=True)
38
+ class RatingResponseType:
39
+ Available: typing.Optional[typing.List[AvailableType]] = jstruct.JList[AvailableType]
40
+ Rejected: typing.Optional[typing.List[RejectedType]] = jstruct.JList[RejectedType]
41
+ ValidationErrors: typing.Optional[ValidationErrorsType] = jstruct.JStruct[ValidationErrorsType]
@@ -0,0 +1,131 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class DangerousGoodsItemType:
8
+ Description: typing.Optional[str] = None
9
+ ClassOrDivision: typing.Optional[str] = None
10
+ UNorIDNo: typing.Optional[str] = None
11
+ PackingGroup: typing.Optional[str] = None
12
+ SubsidaryRisk: typing.Optional[str] = None
13
+ Packing: typing.Optional[str] = None
14
+ PackingInstr: typing.Optional[str] = None
15
+ Authorization: typing.Optional[str] = None
16
+
17
+
18
+ @attr.s(auto_attribs=True)
19
+ class ManufacturerType:
20
+ ManufacturerMID: typing.Optional[str] = None
21
+ Name: typing.Optional[str] = None
22
+ Address1: typing.Optional[str] = None
23
+ Address2: typing.Optional[str] = None
24
+ City: typing.Optional[str] = None
25
+ State: typing.Optional[str] = None
26
+ Zip: typing.Optional[str] = None
27
+
28
+
29
+ @attr.s(auto_attribs=True)
30
+ class CommodityType:
31
+ Description: typing.Optional[str] = None
32
+ HarmonizedCode: typing.Optional[str] = None
33
+ Units: typing.Optional[int] = None
34
+ UnitValue: typing.Optional[int] = None
35
+ UnitCostValue: typing.Optional[float] = None
36
+ UnitKg: typing.Optional[float] = None
37
+ Currency: typing.Optional[str] = None
38
+ Country: typing.Optional[str] = None
39
+ IsDG: typing.Optional[bool] = None
40
+ itemSKU: typing.Optional[str] = None
41
+ ImageURL: typing.Optional[str] = None
42
+ DangerousGoodsItem: typing.Optional[DangerousGoodsItemType] = jstruct.JStruct[DangerousGoodsItemType]
43
+ Manufacturer: typing.Optional[ManufacturerType] = jstruct.JStruct[ManufacturerType]
44
+
45
+
46
+ @attr.s(auto_attribs=True)
47
+ class DangerousGoodsType:
48
+ AdditionalHandlingInfo: typing.Optional[str] = None
49
+ HazchemCode: typing.Optional[str] = None
50
+ IsRadioActive: typing.Optional[bool] = None
51
+ CargoAircraftOnly: typing.Optional[bool] = None
52
+ IsDGLQ: typing.Optional[bool] = None
53
+ TotalQuantity: typing.Optional[int] = None
54
+ TotalKg: typing.Optional[float] = None
55
+ SignOffName: typing.Optional[str] = None
56
+ SignOffRole: typing.Optional[str] = None
57
+
58
+
59
+ @attr.s(auto_attribs=True)
60
+ class AddressType:
61
+ BuildingName: typing.Optional[str] = None
62
+ StreetAddress: typing.Optional[str] = None
63
+ Suburb: typing.Optional[str] = None
64
+ City: typing.Optional[str] = None
65
+ PostCode: typing.Optional[int] = None
66
+ CountryCode: typing.Optional[str] = None
67
+
68
+
69
+ @attr.s(auto_attribs=True)
70
+ class DestinationType:
71
+ Id: typing.Optional[int] = None
72
+ Name: typing.Optional[str] = None
73
+ Address: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
74
+ ContactPerson: typing.Optional[str] = None
75
+ PhoneNumber: typing.Optional[str] = None
76
+ Email: typing.Optional[str] = None
77
+ DeliveryInstructions: typing.Optional[str] = None
78
+ RecipientTaxId: typing.Optional[int] = None
79
+ SendTrackingEmail: typing.Optional[bool] = None
80
+ SignOffName: typing.Optional[str] = None
81
+ SignOffRole: typing.Optional[str] = None
82
+
83
+
84
+ @attr.s(auto_attribs=True)
85
+ class PackageType:
86
+ Height: typing.Optional[float] = None
87
+ Length: typing.Optional[float] = None
88
+ Width: typing.Optional[float] = None
89
+ Kg: typing.Optional[float] = None
90
+ Name: typing.Optional[str] = None
91
+ Type: typing.Optional[str] = None
92
+ OverLabelBarcode: typing.Optional[str] = None
93
+
94
+
95
+ @attr.s(auto_attribs=True)
96
+ class TaxIDType:
97
+ IdType: typing.Optional[str] = None
98
+ IdNumber: typing.Optional[str] = None
99
+
100
+
101
+ @attr.s(auto_attribs=True)
102
+ class ShippingRequestType:
103
+ DeliveryReference: typing.Optional[str] = None
104
+ Reference2: typing.Optional[str] = None
105
+ Reference3: typing.Optional[str] = None
106
+ Origin: typing.Optional[DestinationType] = jstruct.JStruct[DestinationType]
107
+ Destination: typing.Optional[DestinationType] = jstruct.JStruct[DestinationType]
108
+ DangerousGoods: typing.Optional[DangerousGoodsType] = jstruct.JStruct[DangerousGoodsType]
109
+ Commodities: typing.Optional[typing.List[CommodityType]] = jstruct.JList[CommodityType]
110
+ Packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
111
+ issignaturerequired: typing.Optional[bool] = None
112
+ DutiesAndTaxesByReceiver: typing.Optional[bool] = None
113
+ ProductCategory: typing.Optional[str] = None
114
+ ShipType: typing.Optional[str] = None
115
+ PrintToPrinter: typing.Optional[bool] = None
116
+ IncludeLineDetails: typing.Optional[bool] = None
117
+ Carrier: typing.Optional[str] = None
118
+ Service: typing.Optional[str] = None
119
+ CostCentreName: typing.Optional[str] = None
120
+ CodValue: typing.Optional[float] = None
121
+ TaxCollected: typing.Optional[bool] = None
122
+ AmountCollected: typing.Optional[float] = None
123
+ CIFValue: typing.Optional[float] = None
124
+ FreightValue: typing.Optional[float] = None
125
+ SendLabel: typing.Optional[str] = None
126
+ LabelBranding: typing.Optional[str] = None
127
+ InvoiceData: typing.Optional[str] = None
128
+ CODValue: typing.Optional[float] = None
129
+ CostCentreId: typing.Optional[str] = None
130
+ TaxIds: typing.Optional[typing.List[TaxIDType]] = jstruct.JList[TaxIDType]
131
+ Outputs: typing.Optional[typing.List[str]] = None
@@ -0,0 +1,79 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class CommodityChangeType:
8
+ OriginalDescription: typing.Optional[str] = None
9
+ SuitableDescription: typing.Optional[str] = None
10
+ OriginalHSCode: typing.Any = None
11
+ SuitableHsCode: typing.Optional[int] = None
12
+
13
+
14
+ @attr.s(auto_attribs=True)
15
+ class ItemType:
16
+ PartNo: typing.Optional[int] = None
17
+ TrackingNo: typing.Optional[str] = None
18
+ Barcode: typing.Optional[str] = None
19
+ InternalBarcode: typing.Optional[str] = None
20
+ Charge: typing.Optional[float] = None
21
+ ChargeFAF: typing.Optional[float] = None
22
+ ChargeRural: typing.Optional[float] = None
23
+ ChargeSatDel: typing.Optional[float] = None
24
+ ChargeInsurance: typing.Optional[float] = None
25
+ IsTrackPack: typing.Optional[bool] = None
26
+ BarcodeText: typing.Optional[str] = None
27
+ TrackingBarcode: typing.Optional[str] = None
28
+ TrackingBarcode2: typing.Optional[str] = None
29
+
30
+
31
+ @attr.s(auto_attribs=True)
32
+ class OutputFilesType:
33
+ LABELPDF100X150: typing.Optional[typing.List[str]] = None
34
+
35
+
36
+ @attr.s(auto_attribs=True)
37
+ class ConsignmentType:
38
+ Connote: typing.Optional[str] = None
39
+ TrackingUrl: typing.Optional[str] = None
40
+ Cost: typing.Optional[float] = None
41
+ CarrierType: typing.Optional[int] = None
42
+ IsSaturdayDelivery: typing.Optional[bool] = None
43
+ IsRural: typing.Optional[bool] = None
44
+ IsOvernight: typing.Optional[bool] = None
45
+ HasTrackPaks: typing.Optional[bool] = None
46
+ ConsignmentId: typing.Optional[int] = None
47
+ OutputFiles: typing.Optional[OutputFilesType] = jstruct.JStruct[OutputFilesType]
48
+ Items: typing.Optional[typing.List[ItemType]] = jstruct.JList[ItemType]
49
+
50
+
51
+ @attr.s(auto_attribs=True)
52
+ class ErrorType:
53
+ Property: typing.Optional[str] = None
54
+ Message: typing.Optional[str] = None
55
+ Key: typing.Optional[str] = None
56
+ Value: typing.Optional[str] = None
57
+
58
+
59
+ @attr.s(auto_attribs=True)
60
+ class ShippingResponseType:
61
+ CarrierId: typing.Optional[int] = None
62
+ CarrierName: typing.Optional[str] = None
63
+ IsFreightForward: typing.Optional[bool] = None
64
+ IsOvernight: typing.Optional[bool] = None
65
+ IsSaturdayDelivery: typing.Optional[bool] = None
66
+ IsRural: typing.Optional[bool] = None
67
+ HasTrackPaks: typing.Optional[bool] = None
68
+ Message: typing.Optional[str] = None
69
+ Errors: typing.Optional[typing.List[ErrorType]] = jstruct.JList[ErrorType]
70
+ SiteId: typing.Optional[int] = None
71
+ Consignments: typing.Optional[typing.List[ConsignmentType]] = jstruct.JList[ConsignmentType]
72
+ DestinationPort: typing.Optional[str] = None
73
+ Downloads: typing.Optional[typing.List[typing.Any]] = None
74
+ CommodityChanges: typing.Optional[typing.List[CommodityChangeType]] = jstruct.JList[CommodityChangeType]
75
+ CarrierType: typing.Optional[int] = None
76
+ AlertPath: typing.Any = None
77
+ Notifications: typing.Optional[typing.List[typing.Any]] = None
78
+ InvoiceResponse: typing.Optional[str] = None
79
+ LogoPath: typing.Optional[str] = None
@@ -0,0 +1,24 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class EventType:
8
+ EventDT: typing.Optional[str] = None
9
+ Code: typing.Any = None
10
+ OmniCode: typing.Optional[str] = None
11
+ Description: typing.Optional[str] = None
12
+ Location: typing.Optional[str] = None
13
+ Part: typing.Optional[int] = None
14
+
15
+
16
+ @attr.s(auto_attribs=True)
17
+ class TrackingResponseElementType:
18
+ ConsignmentNo: typing.Optional[str] = None
19
+ Status: typing.Optional[str] = None
20
+ Picked: typing.Any = None
21
+ Delivered: typing.Any = None
22
+ Tracking: typing.Optional[str] = None
23
+ Reference1: typing.Optional[str] = None
24
+ Events: typing.Optional[typing.List[EventType]] = jstruct.JList[EventType]
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: karrio_seko
3
+ Version: 2025.5rc1
4
+ Summary: Karrio - SEKO Logistics 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.11
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: karrio
14
+
15
+
16
+ # karrio.seko
17
+
18
+ This package is a SEKO Logistics extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
19
+
20
+ ## Requirements
21
+
22
+ `Python 3.11+`
23
+
24
+ ## Installation
25
+
26
+ ```bash
27
+ pip install karrio.seko
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ ```python
33
+ import karrio.sdk as karrio
34
+ from karrio.mappers.seko.settings import Settings
35
+
36
+
37
+ # Initialize a carrier gateway
38
+ seko = karrio.gateway["seko"].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,28 @@
1
+ karrio/mappers/seko/__init__.py,sha256=Y7-x8XqXTaMapUnZkbwORggHLd6qPtTA4diRGKlMZZg,139
2
+ karrio/mappers/seko/mapper.py,sha256=8pdGvnceOWWoDJtiazsZZ6iAAkAvbk6rs-QOvZ0xiVA,2430
3
+ karrio/mappers/seko/proxy.py,sha256=IvwK9SqaxDBX7ZamekHOn0KbucHrwK0Zcma2oA0QOx8,3294
4
+ karrio/mappers/seko/settings.py,sha256=iiOuwWh-I5FkNex4JyLvs9DmqNjFdWgu096cCTuceu8,491
5
+ karrio/plugins/seko/__init__.py,sha256=7BgFvF8_VRy3CKFmGv3iiBs3KJK_0wsAde8473Nl7Zw,534
6
+ karrio/providers/seko/__init__.py,sha256=IzIUO4eo-TjsNmZeJ85u4yziUgnVu_uSg4dVct20e9U,527
7
+ karrio/providers/seko/error.py,sha256=0tcIO-sZSp039qmMy6M5AjJXOBxYo25Nxe3YzQOTkbM,2371
8
+ karrio/providers/seko/manifest.py,sha256=1r9yenrHGeQeOhacuHw4U28mE2cK0fanR-9pRKEH83w,1915
9
+ karrio/providers/seko/rate.py,sha256=I_7tKF4IzlMijsFI69LPv0i8HKIWBpvTHNxMn6bk6pE,3849
10
+ karrio/providers/seko/tracking.py,sha256=yhwJ0M0dPpC8Swe_z3P__aJ5XjDxLM7f4W_CIr4oMR8,3093
11
+ karrio/providers/seko/units.py,sha256=Z9dhwBiWE5jo4JSYJLsIOBsiAG_OiK1aUDRBt8wnoFo,8847
12
+ karrio/providers/seko/utils.py,sha256=LaUgTpDuKPC_7u1E5c4ukjJEFU-3V5RXDvJkoPu6f1A,3725
13
+ karrio/providers/seko/shipment/__init__.py,sha256=lmk_JKKObr83IAEeITBbVefCO-FeypZB8_jGIojIatA,225
14
+ karrio/providers/seko/shipment/cancel.py,sha256=O5VsuMidTRgpAikTIA5GbIbVSuIy0UCMk1LO3M9oLzk,1812
15
+ karrio/providers/seko/shipment/create.py,sha256=HiURF7t4o64RgiNpjgiE6Dx1wtcjmClas7bB7UL6i20,8624
16
+ karrio/schemas/seko/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ karrio/schemas/seko/error_response.py,sha256=PEcgmhsyboVfWL8BcYhFT_MppXUK5n3XYAv4ANMVWds,254
18
+ karrio/schemas/seko/manifest_response.py,sha256=KuO0CjtAw9ffhZXMEBQPEfymgsCSnshnPWcR7CTXy48,674
19
+ karrio/schemas/seko/rating_request.py,sha256=BkFIuE7mmF1wbzJ6JHD_hID5hcUr6KCUbjbfRi5xOA8,1523
20
+ karrio/schemas/seko/rating_response.py,sha256=sPckTvhyLuj78-FUPIohZW50fE72ieNAHyROujEo_4I,1370
21
+ karrio/schemas/seko/shipping_request.py,sha256=bbgSzoPWoHJDnB8gWoUBc0BwnAfxGj57RA9RX2UXSwQ,4997
22
+ karrio/schemas/seko/shipping_response.py,sha256=WhPbg-1iwLnWjnLvtfegi18Dg7NDppbjLx3sxUsGAXI,2967
23
+ karrio/schemas/seko/tracking_response.py,sha256=vWhaKhWP4ZSor5cVZ2h8CvZMxE3h87e4tDXfPAgCsF4,702
24
+ karrio_seko-2025.5rc1.dist-info/METADATA,sha256=1x3H4_C8nMRWzgH_n7fYjqgKdqARiH-x1QLZaeiDApY,990
25
+ karrio_seko-2025.5rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
26
+ karrio_seko-2025.5rc1.dist-info/entry_points.txt,sha256=38t4NWTw7ZuhE4-KYDHI3ZAN-PKrfduhrwTofZuhDxg,53
27
+ karrio_seko-2025.5rc1.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
28
+ karrio_seko-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
+ seko = karrio.plugins.seko:METADATA
@@ -0,0 +1,3 @@
1
+ dist
2
+ karrio
3
+ schemas