Skip to main content

A Python interface to c-lime for Lyncs

Project description

A Python interface to c-lime for Lyncs

python pypi license build & test codecov black

Lyncs.clime is a faithful Python interface to c-lime. c-lime is a C-API for creating, reading, writing, and manipulating LIME files and offers a small set of utilities for examining, packing and unpacking LIME files.

LIME (which stands for Lattice QCD Interchange Message Encapsulation or more generally, Large Internet Message Encapsulation) is a simple packaging scheme for combining records containing ASCII and/or binary data. Its ancestors are the Unix cpio and tar formats and the Microsoft Corporation DIME (Direct Internet Message Encapsulation) format.

It is simpler and allows record sizes up to $2^{63}$ bytes, making chunking unnecessary for the foreseeable future. Unlike tar and cpio, the records are not associated with Unix files. They are identified only by a record-type (LIME type) character string, analogous to the familiar MIME application type.

Installation

The package can be installed via pip:

pip install [--user] lyncs_clime

Documentation

The following classes are available in lyncs_clime: Reader, ...

Contributing

When contributing to the package, clone the source from github:

git clone https://github.com/Lyncs-API/lyncs.clime
cd lyncs.clime

install the package in development mode:

pip install -e .[all]

and run the test-suite for checking the correctness of the installation:

pytest -v

If everything goes well, you should see all the tests passed and obtain a coverage report.

A main implementation requirement is an high code-coverage. If you are going to implement something new, please, also add the respective test files or functions in the test/ directory.

Another implementation requirement is to format the code via black and to use pylint for improving the code standard.

These packages can be installed via pip:

pip install black pylint

Before any commit, run black from the source directory:

black .

When you are done with the implementation, try to resolve as many comments/warnings/errors as possible brought up by pylint:

pylint lyncs_clime

NOTE: pylint and black are incompatible in few formatting assumptions. Please, ignore the comments C0303 and C0330 of pylint. If they show up in the files you have edited/added, please, add the following line after the documentation string at the beginning of the respective files:

# pylint: disable=C0303,C0330

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

lyncs_clime-0.1.0.tar.gz (8.3 kB view hashes)

Uploaded Source

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