Roulier
Roulier is a shipping library written in Python for sending parcels. Roulier will get a label + tracking number to your carrier for you.
- Roulier runs on your server and call each carrier API directly.
- You have to use your own credentials provided by each carriers.
- Roulier is Open Source software, AGPL-3
- Roulier integrate a multitude of carriers
- French La Poste
- French DPD
- French GLS
- French Chronopost
- more to come… (geodis, kuehne…)
Installation
This is not compatible with python 2.7. Please use version < 1.0.0 (python2 branch) in that case.
Usage
from roulier import roulier
payload= {
"auth": {
"login": "12345",
"password": "password",
},
"service": {
"productCode": "COL"
},
"parcels": [{
"weight": 3.4,
}],
"to_address": {
"firstName": "Hparfr"
"street1": "35 b Rue Montgolfier"
"city": "Villeurbanne"
"country": "FR",
"zip": "69100"
},
"from_address": {
"fristName": "Akretion France"
"street1": "35 b Rue Montgolfier"
"city": "Villeurbanne"
"country": "FR",
"zip": "69100"
},
}
# first parameter is the carrier type.
# second is the action and then the parameters needed by the action
response = roulier.get('laposte_fr', 'get_label', payload)
print(response)
Get supported carriers and related actions:
from roulier import roulier
print(roulier.get_carriers_action_available())
Known Issues
French GLS carrier :
- The glsbox webservice only manage Basic products : BP, EBP, GBP
- In the rest webservice, the incoterms don’t work
Development
To release, increase the version number (in VERSION file) and create a tagged release on GitHub, with the same number. This will trigger publishing to PyPI.
Contributors
- @hparfr (Akretion.com)
- @damdam-s (Camp2Camp.com)
- @bealdav (Akretion.com)
- @DylannCordel (Webu.coop)
- @florian-dacosta (Webu.coop)