Skip to main content

lixi is a python package to manipulate a valid LIXI 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 features included in this package have arisen out of a need for the LIXI staff to simplify the most common tasks associated with the use of the LIXI2 schemas. Key features include the following.

Reading and Validating LIXI2 Files

  • 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).

Converting LIXI2 Files

  • 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.

Customisation by Restriction and LIXI Path Analysis

  • 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 package that can be used to generate a customised schema based on that single package.
  • Create a customised schema based on a set of Customisation by Restriction instructions.

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).

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). Note that

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 the .gitlab-ci.yml file as a build_version variable. 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.

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-ammar-0.0.29.dev20200112122005.tar.gz (1.2 MB view details)

Uploaded Source

File details

Details for the file lixi-ammar-0.0.29.dev20200112122005.tar.gz.

File metadata

  • Download URL: lixi-ammar-0.0.29.dev20200112122005.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.3

File hashes

Hashes for lixi-ammar-0.0.29.dev20200112122005.tar.gz
Algorithm Hash digest
SHA256 74d7f8cf67be58a436b55a2997064bd83dcf01f4f836435339427c90a03a1d55
MD5 6a274255f86922bbe17a8f438ddfbb9d
BLAKE2b-256 cdd1acd5cdf1e59916297b1af8d99bd3e9972595447ebf4ae46a15db83eb3f69

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