Skip to main content

ONE Record with Python

Project description

ONE Record with Python

Made with love for Digital Cargo GitHub Python Version Code style: black

Note: This library is based on the latest IATA ONE Record ontology (working draft)


What is ONE Record?

ONE Record is a standard for data sharing and creates a single record view of the shipment. This standard defines a common data model for the data that is shared via standardized and secured web API. (Source: IATA - ONE Record)


Requirements

  • Python version 3.9+

Installation

Install, upgrade and uninstall ONE Record with Python with these commands::

$ pip install onerecord
$ pip install --upgrade onerecord
$ pip uninstall onerecord

A Simple Example

from onerecord.models.cargo import Piece
from onerecord.client import ONERecordClient

piece = Piece(**{'company_identifier': 'cgnbeerbrewery',
                         'goods_description': 'six pack of Koelsch beer',
                         'gross_weight': {'unit': 'KGM', 'value': 3.922}})

piece.goods_description
#> 'six pack of Koelsch beer'
print(piece.json(exclude_none=True, by_alias=True))
#> {"@type": "https://onerecord.iata.org/Piece", "https://onerecord.iata.org/LogisticsObject#companyIdentifier": "cgnbeerbrewery", "https://onerecord.iata.org/Piece#goodsDescription": "six pack of Koelsch beer", "https://onerecord.iata.org/Piece#grossWeight": {"@type": "https://onerecord.iata.org/Value", "https://onerecord.iata.org/Value#unit": "KGM", "https://onerecord.iata.org/Value#value": 3.922}}
print(type(piece))
#> <class 'onerecord.models.cargo.Piece'>
print(type(piece.gross_weight))
#> <class 'onerecord.models.cargo.Value'>

client = ONERecordClient(host="localhost", port=8080, company_identifier="cgnbeerbrewery")
piece = client.create_logistics_object(piece)
print(piece.id)
#> http://localhost:8080/companies/cgnbeerbrewery/los/piece-1067358949

ONE Record Version Support

ONE Record with Python IATA Data Model Ontology IATA API Ontology IATA API Spec
v0.2.0 v2.0.0 v1.1 v1.1
... ... ... ...
... ... ... ...

Dependencies

This ONE Record with Python distribution is tested on Python 3.9 and 3.10.

The dependencies are:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onerecord-0.2.0.tar.gz (42.0 kB view hashes)

Uploaded Source

Built Distribution

onerecord-0.2.0-py3-none-any.whl (36.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page