Jupyter Notebooks on Google Colab
Colab Sandboxes
JupyterLab is a sandbox development environment which allows for, among other things, rapid prototyping or testing of small units of code. They provide a framework to execute code without building a whole application or even a complete module.
Most of the code already incorporated into the project started out in a JupyterLab runtime environment.
JupyterLab is also useful for introspection of a piece of code.
JupyterLab artifacts worked on for the project are stored as static documents in GitHub in the E-Invoice-Onboarding-Toolkit project under ./einvoice/docs/jupyterlab.
Google Colab pages implement JupyterLab runtime with live sandbox environments. Pages can be linked from the E-Invoice-Onboarding-Toolkit GitHub repository, or pulled from the repository and saved locally by anyone with a Google account.
URN hashing and DNS NAPTR lookup.
The Colab JupyterLab Notebook with examples of how to hash the specification, the schema_id, and the party_id to create the URN and perform the NAPTR DNS query is at this Colab page. Examples 6, 7, 8, and 9 run the hash and submit against a DNS in real-time.
The JupyterLab file is: urn_hash_work.ipynb.
SMP query
The Colab JupyterLab Notebook page with examples of how to transform the URN and party_id and submit it to the SMP URI is at this Colab page.
They JupyterLab Notebook file is: smp_url_transformations.ipynb.
ebMS Message Header validation
The Colab JupyterLab Notebook pages with examples of reading an XSD file and validating an XML file has two Google Colab pages for different aspects of the work.
Inspection and validation of the XSD file has this Google Colab Page.
The JupyterLab file is: ebMS XML 3 schema.ipynb.
Validation of an xml file against the XSD is done using this Google Colab Page The JupyterFile is: validate_bdx-as4.ipynb.
For ease of access these files are copies stored on the drive of one of the project Developers and is free and open to anyone to view and run. Interested individuals should make copies of the Labs for themselves and run on Google Colab under their own account or an instance of JupytyerLab running on Anaconda, VS Code, or a Python install.