Skip to main content

A package containing file readers for transmission spectrophotometry raw files.

Project description

fairmat-readers-transmission

A package developed by FAIRmat and collaborators that contains file readers for various transmission spectrophotometry file formats.

Install and use

To use the readers, install the package using pip and import the read_file function. It will check the file extension and, using an appropriate file reader, return a Python dictionary containing the data.

pip install fairmat-readers-transmission
from fairmat_readers_transmission import read_file

file_path = "<filepath>.asc"
data_dict =  read_file(file_path)

You can also import individual file readers.

from fairmat_readers_transmission import read_perkin_elmers_asc

file_path = "<filepath>.asc"
data_dict =  read_perkin_elmers_asc(file_path)

Currently, the following file extensions are supported:

Vendor File Extension Corresponding Reader Function
Perkin Elmers .asc read_perkin_elmers_asc

Development

The package is still under development. To contribute, start with simply raising an issue on the repo.

Contributing code

In case you want to contribute a piece of code, or a whole new reader, clone the repo in your local and start a virtual Python environment inside the directory.

git clone git@github.com:FAIRmat-NFDI/readers-transmission.git
cd readers-transmission
python3 -m venv .pyenv
source .pyenv/bin/activate

Then install the package in editable mode (-e flag), with dev dependencies. You can also run the pytest to confirm all went well. As a recommended practice, you can also install the pre-commit hook for linting (more on this here).

python -m pip install --upgrade pip
pip install -e .[dev]
pytest
pre-commit install

Now you can start tinkering around on a new branch (or a fork). If you want to contribute the code back to the upstream, simply create a Pull Request (PR), and we will get back to you. As a good practice, add tests for new readers and make sure existing tests (pytest) are passing before creating PR.

Ruff

We have placed GitHub actions for checking the linting. This can lead to your PR failing the CI tests in case your code is not correctly linted or formatted. Best way to avoid this is to use Ruff for automatic linting and formatting. This is already part of the dev environment and you can run Ruff before committing:

ruff check --fix
ruff format

Ruff pre-commit hook

Additionally, we also provide pre-commit hook for Ruff. This will run Ruff every time you try to commit and raise errors (and provide fixes) in case your code needs linting or formatting. You simply have to add these fixes and commit again.

To use this pre-commit hook, make sure to run the following in the terminal after you clone the repo:

pre-commit install

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

fairmat_readers_transmission-0.0.3.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fairmat_readers_transmission-0.0.3-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file fairmat_readers_transmission-0.0.3.tar.gz.

File metadata

File hashes

Hashes for fairmat_readers_transmission-0.0.3.tar.gz
Algorithm Hash digest
SHA256 bf08ae57d7fe5ad2b00b9ff9653798a3e98c63f4662567dfdb3400235343ff85
MD5 6d237acdec9eef362e781ec361433b4e
BLAKE2b-256 df7d86c33bbbd9fce8c57951e2aa903b07a8dfcddb0c8e4919e3e4572657a940

See more details on using hashes here.

File details

Details for the file fairmat_readers_transmission-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for fairmat_readers_transmission-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a75a162c5eb23ebc95411ec83b20b8a90202a5454f5f24f3e0b22a3808d4fcbb
MD5 2e9f01015045167146523ee399cd42e2
BLAKE2b-256 fa648fbc374f8253fcb1d0f1c3d367b895fe4f67fe55e04de51fc96c3a89a23e

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