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

Uploaded Source

File details

Details for the file lyncs_clime-0.1.0.tar.gz.

File metadata

  • Download URL: lyncs_clime-0.1.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for lyncs_clime-0.1.0.tar.gz
Algorithm Hash digest
SHA256 76af8eddadb62ebfbae860d5c882e8cace4c1a865765b2cac820771e0fac535e
MD5 79ac662b2da570e298e23d7374147a71
BLAKE2b-256 5f61125e60e3dca24281c4c3b3a4acc2d866b466d0bd887fb8fafbcd7e45da7b

See more details on using hashes here.

Supported by

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