Skip to main content

lixi is a python package to manipulate a valid LIXI 2 message and schema.

Project description

LIXI Package Overview

lixi is a python package that simplifies working with the LIXI data standards and with messages that are based on the LIXI standards.

LIXI Limited has been facilitating collaboration within the Australian Lending industry for almost two decades, by managing a suite of data standards (for both XML & JSON) used across the industry to improve the efficiency of B2B electronic messaging.

This package is offered under an open source license, however the features are effective when used in conjunction with a LIXI2 Schema which are available to LIXI members and licensees.

Features

The development of this package was driven by a need to simplify the most common tasks associated with the use of the LIXI2 schemas and sample messages. Key features include the following:

  • Read an XML or JSON file
  • Validate an XML or JSON file against a LIXI2 Schema.
  • Validate a LIXI package (XML or JSON) against a Schematron file that contains business rules (in the form of rule and assertions).
  • Convert a valid LIXI2 XML file to the equivalent JSON representation.
  • Convert a valid LIXI2 JSON file to the equivalent XML representation.
  • Transform a LIXI2 message to an older/newer LIXI2 version or show warnings regarding any data loss that would occur in such a transformation.
  • Create a list of all LIXI Paths that represent the elements and attributes used in a single package.
  • Create a set of Customisation by Restriction instructions or schema based on a single LIXI message.
  • Create a customised schema based on a set of Customisation by Restriction instructions.
  • Create LIXI Schema Documentation for any LIXI2 Transaction Schema or any schema created by Customisation by Restriction.

Installation

Requirements

The installation of the lixi package requires pip to be installed for package installation with your Python installation.

The lixi package is not supported by Python 2.

The installation of the lixi using pip will install the following libraries as required dependencies:

Installation with pip

Open a command prompt or a bash window on your PC and type the following command.

pip install lixi

Now to use the lixi package, simply import the library into your Python project, like so:

import lixi

and that's it! You're ready to go.

Assumptions

The lixi package requires you to have access to the required LIXI schemas. Members and Licensees of LIXI can access these through the LIXI website or via an API provided by LIXI (contact LIXI for more details if you would like to use this API retrieval mechanism).

Further Documentation

Detailed class documentation generated by Sphinx along with a quick start guide are available on the LIXI website to logged in members and licensees available here.

Source Code Management

GIT Project

This LIXI python library is made available through an open source license, but because the automated testing of the project requires access to the LIXI Schemas that are available to LIXI Members and Licensees, the lixi-pypi project that we use to manage the library will only be available to members and licensees once it stabilises. For now, the source code is available to LIXI Staff, although the library is available on the Python Package Index for anyone to install.

Contributing

For now, you can contribute to the project by installing the library from PyPI and emailing us on lixilab@lixi.org.au to:

  • suggest new features;
  • raise issues;
  • and report bugs.

Branching, Build, Test & Deployment

The lixi-pypi project contains 3 permanent branches 'master', 'test' and 'dev'. A feature branch 'feature' may be created for new functionality added. Two of these ('master' & 'test') are protected branches, and only allow commits through merge requests.

Commits and pushes to the 'feature' and 'dev' branch executes a series of test cases and generates the library documentation using Sphinx but does not push the library to any pypi repository.

Merges into the 'test' branch run the same tests and generate the documentation, but upload the build to the test PyPi repository to be tested (available here).

Merges into the 'master' branch will also test the build and generate docs but only deploy to production PyPI (available here) when a tag is applied on the master branch.

The build version number is maintained in CI/CD variables. The first digit is incremented for breaking changes, the second digit is incremented for new features and the third digit is incremented for all other changes, further digits are timestamps for development/test versions only.

Project details


Download files

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

Source Distribution

lixi-0.12.1.tar.gz (852.2 kB view details)

Uploaded Source

Built Distribution

lixi-0.12.1-py3-none-any.whl (871.5 kB view details)

Uploaded Python 3

File details

Details for the file lixi-0.12.1.tar.gz.

File metadata

  • Download URL: lixi-0.12.1.tar.gz
  • Upload date:
  • Size: 852.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/7.1.0 pkginfo/1.10.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.9.12

File hashes

Hashes for lixi-0.12.1.tar.gz
Algorithm Hash digest
SHA256 62727933ec5d4eb952d71fa99c0450510fdfb4b829d97ce9d39eb41c20ddc3b5
MD5 1b4bfcd09d31df323af8d18d2cde85af
BLAKE2b-256 a21c0f617f9058dd41bd4e4961c580dd10125eed4669e159618a41d2834bd008

See more details on using hashes here.

File details

Details for the file lixi-0.12.1-py3-none-any.whl.

File metadata

  • Download URL: lixi-0.12.1-py3-none-any.whl
  • Upload date:
  • Size: 871.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/7.1.0 pkginfo/1.10.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.9.12

File hashes

Hashes for lixi-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7848febd9583771abd35ea5b258333269122bd98558d708b04ab1d7f1b241bfe
MD5 62da39b7f1b38e38599795ec037b99d5
BLAKE2b-256 b62ed8c7f7b9c796a9a0156163ab54fdaa6a945b6b1c709ce4a8ef894fa40956

See more details on using hashes here.

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