karrio-geodis 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,216 @@
1
+ import attr
2
+ import jstruct
3
+ import typing
4
+
5
+
6
+ @attr.s(auto_attribs=True)
7
+ class PaysType:
8
+ code: typing.Optional[str] = None
9
+ libelle: typing.Optional[str] = None
10
+ indicatifTel: typing.Optional[int] = None
11
+ formatTel: typing.Optional[int] = None
12
+ formatCodePostal: typing.Optional[int] = None
13
+ preInfoDestinataire: typing.Optional[bool] = None
14
+ controleLocalite: typing.Optional[bool] = None
15
+ exportControl: typing.Optional[bool] = None
16
+ defaut: typing.Optional[bool] = None
17
+ listDepartementsExclus: typing.Optional[typing.List[int]] = None
18
+
19
+
20
+ @attr.s(auto_attribs=True)
21
+ class DestinataireType:
22
+ type: typing.Optional[str] = None
23
+ code: typing.Optional[int] = None
24
+ nom: typing.Optional[str] = None
25
+ codeTiers: typing.Optional[str] = None
26
+ indTelephoneFixe: typing.Optional[int] = None
27
+ telephoneFixe: typing.Optional[str] = None
28
+ indTelephoneMobile: typing.Optional[int] = None
29
+ telephoneMobile: typing.Optional[str] = None
30
+ fax: typing.Optional[str] = None
31
+ email: typing.Optional[str] = None
32
+ noVoie: typing.Optional[str] = None
33
+ libelleVoie: typing.Optional[str] = None
34
+ adresse1: typing.Optional[str] = None
35
+ adresse2: typing.Optional[str] = None
36
+ codePostal: typing.Optional[int] = None
37
+ ville: typing.Optional[str] = None
38
+ pays: typing.Optional[PaysType] = jstruct.JStruct[PaysType]
39
+ codePorte: typing.Optional[str] = None
40
+ latitude: typing.Optional[str] = None
41
+ longitude: typing.Optional[str] = None
42
+ instructionsLivraison: typing.Optional[str] = None
43
+ instructionsEnlevement: typing.Optional[str] = None
44
+ nomContact: typing.Optional[str] = None
45
+ telephoneContact: typing.Optional[str] = None
46
+ eaDestinataire: typing.Optional[str] = None
47
+ typePreinfo: typing.Optional[str] = None
48
+ typeDestinataire: typing.Optional[str] = None
49
+ adresseRetour: typing.Optional[str] = None
50
+ marque: typing.Optional[str] = None
51
+ defaut: typing.Optional[str] = None
52
+ restrictionAni: typing.Optional[str] = None
53
+ codeRegion: typing.Optional[int] = None
54
+ urlPlan: typing.Optional[str] = None
55
+ agenceTeos: typing.Optional[str] = None
56
+ listDisponibilites: typing.Optional[str] = None
57
+
58
+
59
+ @attr.s(auto_attribs=True)
60
+ class IncotermConditionLivraisonType:
61
+ code: typing.Optional[str] = None
62
+ libelle: typing.Optional[str] = None
63
+ defaut: typing.Optional[str] = None
64
+
65
+
66
+ @attr.s(auto_attribs=True)
67
+ class ListSuiviType:
68
+ dateSuivi: typing.Optional[str] = None
69
+ dateSuiviFrs: typing.Optional[str] = None
70
+ heureSuivi: typing.Optional[str] = None
71
+ heureSuiviFrs: typing.Optional[str] = None
72
+ codeSa: typing.Optional[str] = None
73
+ libelleCentre: typing.Optional[str] = None
74
+ libelleSuivi: typing.Optional[str] = None
75
+ libelleCourtSuivi: typing.Optional[str] = None
76
+ listInformationsComplementaires: typing.Optional[typing.List[str]] = None
77
+ suiviNotifications: typing.Optional[str] = None
78
+ codeSituationJustification: typing.Optional[str] = None
79
+ suiviInstruction: typing.Optional[str] = None
80
+ instructionADonner: typing.Optional[str] = None
81
+ instructionDonnee: typing.Optional[str] = None
82
+ dateRetour: typing.Optional[str] = None
83
+ dateRetourFrs: typing.Optional[str] = None
84
+ compteurRebours: typing.Optional[str] = None
85
+ uniteRebours: typing.Optional[str] = None
86
+ mentionAConfirmer: typing.Optional[str] = None
87
+ parametrageInstruction: typing.Optional[str] = None
88
+ instructionClient: typing.Optional[str] = None
89
+
90
+
91
+ @attr.s(auto_attribs=True)
92
+ class PrestationCommercialeType:
93
+ codeGroupeProduits: typing.Optional[str] = None
94
+ codeProduit: typing.Optional[str] = None
95
+ codeOption: typing.Optional[str] = None
96
+ type: typing.Optional[str] = None
97
+ libelle: typing.Optional[str] = None
98
+ typeService: typing.Optional[str] = None
99
+ sansB2C: typing.Optional[bool] = None
100
+ europe: typing.Optional[bool] = None
101
+ vinsSpiritueux: typing.Optional[str] = None
102
+ pointRelais: typing.Optional[str] = None
103
+ bureauRestant: typing.Optional[str] = None
104
+ rdvWeb: typing.Optional[str] = None
105
+ rdvTel: typing.Optional[str] = None
106
+ livEtage: typing.Optional[str] = None
107
+ miseLieuUtil: typing.Optional[str] = None
108
+ depotage: typing.Optional[str] = None
109
+ defaut: typing.Optional[str] = None
110
+
111
+
112
+ @attr.s(auto_attribs=True)
113
+ class SuiviBilanCarboneType:
114
+ emissionDisponible: typing.Optional[bool] = None
115
+ emissionEqc: typing.Optional[str] = None
116
+ emissionEqa: typing.Optional[str] = None
117
+ emissionPar: typing.Optional[str] = None
118
+
119
+
120
+ @attr.s(auto_attribs=True)
121
+ class ListTimestepType:
122
+ position: typing.Optional[int] = None
123
+ libelle: typing.Optional[str] = None
124
+ libelle2: typing.Optional[str] = None
125
+ actif: typing.Optional[bool] = None
126
+ codeSituationJustification: typing.Optional[str] = None
127
+ isCreneauPassage: typing.Optional[str] = None
128
+
129
+
130
+ @attr.s(auto_attribs=True)
131
+ class TimelineType:
132
+ positionCourante: typing.Optional[int] = None
133
+ listTimesteps: typing.Optional[typing.List[ListTimestepType]] = jstruct.JList[ListTimestepType]
134
+
135
+
136
+ @attr.s(auto_attribs=True)
137
+ class ContenuType:
138
+ refUniExp: typing.Optional[int] = None
139
+ refUniEnl: typing.Optional[int] = None
140
+ noSuivi: typing.Optional[str] = None
141
+ codeSa: typing.Optional[str] = None
142
+ codeClient: typing.Optional[int] = None
143
+ noRecepisse: typing.Optional[int] = None
144
+ dateDepart: typing.Optional[str] = None
145
+ dateDepartFrs: typing.Optional[str] = None
146
+ prestationCommerciale: typing.Optional[PrestationCommercialeType] = jstruct.JStruct[PrestationCommercialeType]
147
+ expediteur: typing.Optional[DestinataireType] = jstruct.JStruct[DestinataireType]
148
+ destinataire: typing.Optional[DestinataireType] = jstruct.JStruct[DestinataireType]
149
+ reference1: typing.Optional[str] = None
150
+ reference2: typing.Optional[str] = None
151
+ refEdides: typing.Optional[int] = None
152
+ dateLivraisonSouhaitee: typing.Optional[str] = None
153
+ dateLivraisonSouhaiteeFrs: typing.Optional[str] = None
154
+ dateLivraisonPrevue: typing.Optional[str] = None
155
+ dateLivraisonPrevueFrs: typing.Optional[str] = None
156
+ creneauLivraisonPrevue: typing.Optional[str] = None
157
+ instructionsLivraison1: typing.Optional[str] = None
158
+ instructionsLivraison2: typing.Optional[str] = None
159
+ nbColis: typing.Optional[int] = None
160
+ nbPalettes: typing.Optional[int] = None
161
+ nbPalettesConsignees: typing.Optional[int] = None
162
+ poids: typing.Optional[float] = None
163
+ volume: typing.Optional[float] = None
164
+ qteUniteTaxation: typing.Optional[str] = None
165
+ uniteTaxation: typing.Optional[str] = None
166
+ valeurDeclaree: typing.Optional[str] = None
167
+ deviseValeurDeclaree: typing.Optional[str] = None
168
+ contreRemboursement: typing.Optional[str] = None
169
+ deviseContreRemboursement: typing.Optional[str] = None
170
+ portDu: typing.Optional[str] = None
171
+ devisePortDu: typing.Optional[str] = None
172
+ incotermConditionLivraison: typing.Optional[IncotermConditionLivraisonType] = jstruct.JStruct[IncotermConditionLivraisonType]
173
+ natureMarchandises: typing.Optional[str] = None
174
+ sadLivEtage: typing.Optional[bool] = None
175
+ sadMiseLieuUtil: typing.Optional[bool] = None
176
+ sadDepotage: typing.Optional[bool] = None
177
+ sadSwso: typing.Optional[bool] = None
178
+ listEnvoisRegroupes: typing.Optional[typing.List[str]] = None
179
+ listSuivis: typing.Optional[typing.List[ListSuiviType]] = jstruct.JList[ListSuiviType]
180
+ timeline: typing.Optional[TimelineType] = jstruct.JStruct[TimelineType]
181
+ listReferencesColis: typing.Optional[typing.List[str]] = None
182
+ listPointages: typing.Optional[typing.List[str]] = None
183
+ suiviBilanCarbone: typing.Optional[SuiviBilanCarboneType] = jstruct.JStruct[SuiviBilanCarboneType]
184
+ suiviTemperature: typing.Optional[str] = None
185
+ listImagesPoc: typing.Optional[typing.List[str]] = None
186
+ listImagesRecepEmarge: typing.Optional[typing.List[str]] = None
187
+ listImagesBordereauxLivr: typing.Optional[typing.List[str]] = None
188
+ listImagesCopilote: typing.Optional[typing.List[str]] = None
189
+ listImagesMiseLieuSur: typing.Optional[typing.List[str]] = None
190
+ listImagesPreuveService: typing.Optional[typing.List[str]] = None
191
+ listPjsEnvoi: typing.Optional[typing.List[str]] = None
192
+ listServicesLivraison: typing.Optional[typing.List[str]] = None
193
+ listServicesAdditionnels: typing.Optional[typing.List[str]] = None
194
+ loginDestinataire: typing.Optional[str] = None
195
+ urlSuiviDestinataire: typing.Optional[str] = None
196
+ libelleDepart: typing.Optional[str] = None
197
+ libelleLivraison: typing.Optional[str] = None
198
+ infoETA: typing.Optional[str] = None
199
+ swapAller: typing.Optional[bool] = None
200
+ refUniExpSwapAller: typing.Optional[int] = None
201
+ noRecepisseSwapAller: typing.Optional[str] = None
202
+ noSuiviSwapAller: typing.Optional[str] = None
203
+ swapRetour: typing.Optional[bool] = None
204
+ refUniExpSwapRetour: typing.Optional[int] = None
205
+ noRecepisseSwapRetour: typing.Optional[str] = None
206
+ noSuiviSwapRetour: typing.Optional[str] = None
207
+ controleDouane: typing.Optional[bool] = None
208
+ listFacturesDouane: typing.Optional[str] = None
209
+
210
+
211
+ @attr.s(auto_attribs=True)
212
+ class TrackingResponseType:
213
+ ok: typing.Optional[bool] = None
214
+ codeErreur: typing.Optional[str] = None
215
+ texteErreur: typing.Optional[str] = None
216
+ contenu: typing.Optional[ContenuType] = jstruct.JStruct[ContenuType]
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: karrio_geodis
3
+ Version: 2025.5rc1
4
+ Summary: Karrio - GEODIS 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.geodis
17
+
18
+ This package is a GEODIS 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.geodis
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ ```python
33
+ import karrio.sdk as karrio
34
+ from karrio.mappers.geodis.settings import Settings
35
+
36
+
37
+ # Initialize a carrier gateway
38
+ geodis = karrio.gateway["geodis"].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,26 @@
1
+ karrio/mappers/geodis/__init__.py,sha256=602ltVZTu888R9xzB7Kv9Afo5B-OST7vQJQQ9k3ni2Q,146
2
+ karrio/mappers/geodis/mapper.py,sha256=VM8iMK6sfoBsBMe3jIqwxBr29pwwkw5b2bIy_d1Q06M,2021
3
+ karrio/mappers/geodis/proxy.py,sha256=Y0JzOqDqXqW0ZjBQBzMZkfenhXYt9oRglF-zke-DT_U,2689
4
+ karrio/mappers/geodis/settings.py,sha256=rxSFMlzyJ7cpwVj1bqRnckuiRaNdWk8BaDVRMIqNFS8,1051
5
+ karrio/plugins/geodis/__init__.py,sha256=O5KyFBVDwcKyKjZv0-gXKx0JCpckGuWUO4EitBp9m5s,519
6
+ karrio/providers/geodis/__init__.py,sha256=mORc64CizSQPWZotdDsGc0GQ3_8cf2gPGnd5DEW17jc,316
7
+ karrio/providers/geodis/error.py,sha256=IiCv6yjI1alxgO6ujfk7GeKdVNoMQFiTWPr0VcuDfzY,840
8
+ karrio/providers/geodis/tracking.py,sha256=n9McvuIjc2S_o7LlHzf2yYhU5Yl7jIdZE6u9V-YcY3o,3421
9
+ karrio/providers/geodis/units.py,sha256=6yJ-Y7B1GpjN5D62OtpOFsfNy0033Y0NQX1IAL7VNJs,7844
10
+ karrio/providers/geodis/utils.py,sha256=b9N3NtMWKD8hZ6YUkdAYyIP7u3V7beWN4BP5_Q3O98M,1538
11
+ karrio/providers/geodis/shipment/__init__.py,sha256=UntO3FIgOv0jZzcp70e-P0d7KSGQ0dQ_oGk22WEHel0,228
12
+ karrio/providers/geodis/shipment/cancel.py,sha256=8NT1M0Jk8rZF3tJXDC21-Jg1J8asJkC-BUA0N4L2cmE,1201
13
+ karrio/providers/geodis/shipment/create.py,sha256=ey-eS6Wc1yp1dQ7Z35_rCDrKf5LXD7LoJXlkA0bviIg,7856
14
+ karrio/schemas/geodis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ karrio/schemas/geodis/cancel_request.py,sha256=fqpaQ99_vNKqHNYiB2P-Nqo2Eqxh338bjoQ-xbalBGU,280
16
+ karrio/schemas/geodis/cancel_response.py,sha256=idGitPEnqZ0oYBG3Lm18VqBu0kuGZqwQDV-fJTWE7-Q,2763
17
+ karrio/schemas/geodis/error_response.py,sha256=O2TvmHjusVxwr8aJXQnhg90z9Ia0JxNwKw-exFkVMV0,221
18
+ karrio/schemas/geodis/shipping_request.py,sha256=hukxIfMyqpClZyF3-zrIS_1lmk5YY8gkxdA9Ospco58,7160
19
+ karrio/schemas/geodis/shipping_response.py,sha256=tEh0aTS7Rd7B73XYuki3eqraOlJlLuSiwle6g9VtIW0,3395
20
+ karrio/schemas/geodis/tracking_request.py,sha256=drZlCbINrSOOfBgZtIUmotmeJMqs_cqOBFkbwbeFOVQ,181
21
+ karrio/schemas/geodis/tracking_response.py,sha256=MDtb-SEI6UYCwWtPr808_V931t42SozAc_ejUejS51A,9366
22
+ karrio_geodis-2025.5rc1.dist-info/METADATA,sha256=saTbQRnEnNgEcCosKtXcPN1tavodssj4sl5zHU-_Ur0,984
23
+ karrio_geodis-2025.5rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
24
+ karrio_geodis-2025.5rc1.dist-info/entry_points.txt,sha256=aWuFnvMvXF2TLAPblGwpwH-XWzbCv4FnZDsF41vKyJs,57
25
+ karrio_geodis-2025.5rc1.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
26
+ karrio_geodis-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
+ geodis = karrio.plugins.geodis:METADATA
@@ -0,0 +1,3 @@
1
+ dist
2
+ karrio
3
+ schemas