karrio-dicom 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,140 @@
1
+ import attr
2
+ from jstruct import JStruct, JList, REQUIRED
3
+ from typing import Optional, List
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class Appointment:
8
+ type: str
9
+ date: Optional[str] = None
10
+ time: Optional[str] = None
11
+ phone: Optional[str] = None
12
+
13
+
14
+ @attr.s(auto_attribs=True)
15
+ class Contact:
16
+ fullName: str
17
+ extension: Optional[int] = None
18
+ language: Optional[str] = None
19
+ email: Optional[str] = None
20
+ department: Optional[str] = None
21
+ telephone: Optional[str] = None
22
+
23
+
24
+ @attr.s(auto_attribs=True)
25
+ class Address:
26
+ city: str
27
+ provinceCode: str
28
+ postalCode: str
29
+ countryCode: str
30
+ customerName: str
31
+ streetNumber: Optional[int] = None
32
+ suite: Optional[int] = None
33
+ addressLine1: Optional[str] = None
34
+ addressLine2: Optional[str] = None
35
+ streetType: Optional[str] = None
36
+ streetName: Optional[str] = None
37
+ streetDirection: Optional[str] = None
38
+ customerNickName: Optional[str] = None
39
+ contact: Contact = JStruct[Contact]
40
+
41
+
42
+ @attr.s(auto_attribs=True)
43
+ class Broker:
44
+ id: int
45
+ CSA_BusinessNumber: Optional[int] = None
46
+ href: Optional[str] = None
47
+ otherBroker: Optional[str] = None
48
+
49
+
50
+ @attr.s(auto_attribs=True)
51
+ class Product:
52
+ id: int
53
+ Quantity: int
54
+
55
+
56
+ @attr.s(auto_attribs=True)
57
+ class InternationalDetails:
58
+ isDicomBroker: bool
59
+ descriptionOfGoods: str
60
+ totalRetailValue: Optional[int] = None
61
+ currency: Optional[str] = None
62
+ exchangeRate: Optional[int] = None
63
+ dutyBilling: Optional[str] = None
64
+ importerOfRecord: Optional[Address] = JStruct[Address]
65
+ broker: Optional[Broker] = JStruct[Broker]
66
+ purpose: Optional[str] = None
67
+ products: Optional[List[Product]] = JList[Product]
68
+ borderStatus: Optional[str] = None
69
+
70
+
71
+ @attr.s(auto_attribs=True)
72
+ class Hazmat:
73
+ number: int
74
+ phone: str
75
+
76
+
77
+ @attr.s(auto_attribs=True)
78
+ class Parcel:
79
+ quantity: int
80
+ parcelType: str
81
+ id: Optional[int] = None
82
+ weight: Optional[int] = None
83
+ length: Optional[int] = None
84
+ depth: Optional[int] = None
85
+ width: Optional[int] = None
86
+ note: Optional[str] = None
87
+ status: Optional[int] = None
88
+ FCAClass: Optional[str] = None
89
+ hazmat: Optional[Hazmat] = JStruct[Hazmat]
90
+ requestReturnLabel: Optional[bool] = None
91
+ returnWaybill: Optional[str] = None
92
+
93
+
94
+ @attr.s(auto_attribs=True)
95
+ class PromoCode:
96
+ code: str
97
+
98
+
99
+ @attr.s(auto_attribs=True)
100
+ class Reference:
101
+ code: int
102
+ type: str
103
+
104
+
105
+ @attr.s(auto_attribs=True)
106
+ class Surcharge:
107
+ type: str
108
+ id: Optional[int] = None
109
+ value: Optional[str] = None
110
+ name: Optional[str] = None
111
+ amount: Optional[int] = None
112
+
113
+
114
+ @attr.s(auto_attribs=True)
115
+ class ShipmentRequest:
116
+ paymentType: str
117
+ billingAccount: int
118
+ sender: Address = JStruct[Address, REQUIRED]
119
+ consignee: Address = JStruct[Address, REQUIRED]
120
+ parcels: List[Parcel] = JList[Parcel, REQUIRED]
121
+
122
+ note: Optional[str] = None
123
+ category: Optional[str] = None
124
+ pickupDate: Optional[str] = None
125
+ deliveryType: Optional[str] = None
126
+ trackingNumber: Optional[str] = None
127
+ unitOfMeasurement: Optional[str] = None
128
+ surcharges: Optional[List[Surcharge]] = JList[Surcharge]
129
+ promoCodes: Optional[List[PromoCode]] = JList[PromoCode]
130
+ references: Optional[List[Reference]] = JList[Reference]
131
+ returnAddress: Optional[Address] = JStruct[Address]
132
+ appointment: Optional[Appointment] = JStruct[Appointment]
133
+ internationalDetails: Optional[InternationalDetails] = JStruct[InternationalDetails]
134
+
135
+
136
+ @attr.s(auto_attribs=True)
137
+ class ShipmentResponse:
138
+ parcelTrackingNumbers: List[str] = JList[str]
139
+ ID: Optional[str] = None
140
+ trackingNumber: Optional[str] = None
@@ -0,0 +1,58 @@
1
+ import attr
2
+ from jstruct import JStruct, JList
3
+ from typing import Optional, List
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class Activity:
8
+ parcelId: Optional[int] = None
9
+ activityDate: Optional[str] = None
10
+ createDate: Optional[str] = None
11
+ status: Optional[str] = None
12
+ statusDetail: Optional[str] = None
13
+ code: Optional[str] = None
14
+ codeDetail: Optional[str] = None
15
+ group: Optional[str] = None
16
+ additionalInformation: Optional[str] = None
17
+ terminal: Optional[str] = None
18
+ latitude: Optional[str] = None
19
+ longitude: Optional[str] = None
20
+ height: Optional[str] = None
21
+ weight: Optional[str] = None
22
+ width: Optional[str] = None
23
+ length: Optional[str] = None
24
+
25
+
26
+ @attr.s(auto_attribs=True)
27
+ class Tracking:
28
+ id: Optional[int] = None
29
+ billingAccount: Optional[int] = None
30
+ status: Optional[int] = None
31
+ custRefNum: Optional[str] = None
32
+ activities: Optional[List[Activity]] = JList[Activity]
33
+ activityImages: Optional[List[dict]] = JList[dict]
34
+ isAuthorized: Optional[bool] = None
35
+ trackingNumber: Optional[str] = None
36
+ category: Optional[str] = None
37
+ paymentType: Optional[str] = None
38
+ note: Optional[str] = None
39
+ direction: Optional[str] = None
40
+ sender: Optional[dict] = None
41
+ consignee: Optional[dict] = None
42
+ unitOfMeasurement: Optional[str] = None
43
+ parcels: Optional[List[dict]] = None
44
+ surcharges: Optional[List[dict]] = None
45
+ createDate: Optional[str] = None
46
+ updateDate: Optional[str] = None
47
+ deliveryType: Optional[str] = None
48
+ references: Optional[List[dict]] = None
49
+ returnAddress: Optional[dict] = None
50
+ appointment: Optional[dict] = None
51
+ promoCodes: Optional[List[dict]] = None
52
+ internationalDetails: Optional[dict] = None
53
+ pickupDate: Optional[str] = None
54
+
55
+
56
+ @attr.s(auto_attribs=True)
57
+ class TrackingAPI:
58
+ tracking: Optional[List[Tracking]] = JList[Tracking]
@@ -0,0 +1,44 @@
1
+ Metadata-Version: 2.4
2
+ Name: karrio_dicom
3
+ Version: 2025.5rc1
4
+ Summary: Karrio - Dicom 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
+ # karrio.dicom
16
+
17
+ This package is a Dicom extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
18
+
19
+ ## Requirements
20
+
21
+ `Python 3.7+`
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ pip install karrio.dicom
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ ```python
32
+ import karrio.sdk as karrio
33
+ from karrio.mappers.dicom.settings import Settings
34
+
35
+
36
+ # Initialize a carrier gateway
37
+ canadapost = karrio.gateway["dicom"].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,28 @@
1
+ karrio/mappers/dicom/__init__.py,sha256=torxdiMKQFDTLcPQdQ30abGoOavU44DqjxtmlWDjPM0,143
2
+ karrio/mappers/dicom/mapper.py,sha256=gFl3ntss2O2YQ0vwj_2QY8V0KndzoFZZVvbRXOMdm2U,3568
3
+ karrio/mappers/dicom/proxy.py,sha256=6MU2HKCqiA6fQRQbSZNzPYZVVUOk4nilMTDOdNwEg7U,978
4
+ karrio/mappers/dicom/settings.py,sha256=TUUWviX9rHRCMZV9QeQNr9YJ1xH3JoSDpguIwtYGOjA,497
5
+ karrio/plugins/dicom/__init__.py,sha256=VXZv9mJFVHUuyyv5vT2qtfzXDy4mdO51OUv569c-aaA,294
6
+ karrio/providers/dicom/__init__.py,sha256=Y8jmSY8rxZYsHd3UU5buW_cYv3-4GixD-BiTweh-WOk,634
7
+ karrio/providers/dicom/error.py,sha256=sJDrRH2XTBtOkCi2pdYujMG0uYPUU7fMTvWyHbQmTCQ,576
8
+ karrio/providers/dicom/rate.py,sha256=nIRD-h3NRU9mvuAKJFWCyJlII9RC8anKk48OqnkusPM,4159
9
+ karrio/providers/dicom/tracking.py,sha256=m-qqd0FoKm317N4asuAqBZHOZxTkTaX0BjrVCU3nvjE,1571
10
+ karrio/providers/dicom/units.py,sha256=kxtQetEfR3ofxPjLLKjT8RYuIVeRnWRqw24a8XerP7c,5484
11
+ karrio/providers/dicom/utils.py,sha256=Hohf71y7eCe5HYoZI44kRHgMtoTmrbIub6Hf9-dxKc4,797
12
+ karrio/providers/dicom/pickup/__init__.py,sha256=gXajqCRIia5wPYhAN5oNKWbB4PXsoxxgnHjuQYdvV2g,289
13
+ karrio/providers/dicom/pickup/cancel.py,sha256=m8Z_RZtZ28k2Y1NX2MN3tcajJsUe6LMVJx9aUbtiWHc,980
14
+ karrio/providers/dicom/pickup/create.py,sha256=cBuMpPNANOy9D6vBKyoBwBfkUpvRU0YVi2kFIOJkTAQ,3404
15
+ karrio/providers/dicom/pickup/update.py,sha256=iSxgZmMp80OtSmVGqi8q51tSDEjL-9WbsT1ZFoo-qCQ,1902
16
+ karrio/providers/dicom/shipment/__init__.py,sha256=Rx4GcWFSWh2f8P-qwH2vEvmzjW7Ed00rTOKWWMigVZw,200
17
+ karrio/providers/dicom/shipment/cancel.py,sha256=LqY8qtX0Z42uJvXTSBp6yvo3J_yy2guFeQoqM3kb4B4,950
18
+ karrio/providers/dicom/shipment/create.py,sha256=eYjC_vkPNxQKcSqMpUpGR22Msx1YWhpWbwZ1pkUphwU,6706
19
+ karrio/schemas/dicom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ karrio/schemas/dicom/pickups.py,sha256=HNJwnnze1tXnI3D9goi1aBVHc2_9BLCwAn9Nueq8xro,2018
21
+ karrio/schemas/dicom/rates.py,sha256=oGPwtVL6gHIv5_M8faYgVTIThsemLChRc8pDROQbRLU,3327
22
+ karrio/schemas/dicom/shipments.py,sha256=XpffWFe4ZUsJ7rfGYV9T732mybGcN5bzUAWUKM15O0o,3623
23
+ karrio/schemas/dicom/tracking.py,sha256=RVa_1LdlMPyYTVKvyhEqEixXZ_tq43TryPo1gUTqUZQ,1885
24
+ karrio_dicom-2025.5rc1.dist-info/METADATA,sha256=ccvk8iXazZIIAPojg6lILVkQZNkFY2quYaZeQYbrhDI,980
25
+ karrio_dicom-2025.5rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
26
+ karrio_dicom-2025.5rc1.dist-info/entry_points.txt,sha256=SD5VlK4aW56iHQWMKbCYi-nfu3lQ74NbqVKKruwcaZI,55
27
+ karrio_dicom-2025.5rc1.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
28
+ karrio_dicom-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
+ dicom = karrio.plugins.dicom:METADATA
@@ -0,0 +1,3 @@
1
+ dist
2
+ karrio
3
+ schemas