Skip to content

Commit

Permalink
Stable and tested pre-release (#22)
Browse files Browse the repository at this point in the history
* added example and parser

* fixed stash error

* API update

* fixed test

* API update

* fixed parser

* API update

* functionality now in PlateManager class

* Refactor import statements for PlateManager class

* Refactor import statements for PlateManager class

* Remove poetry.lock from version control

* Refactor import statements for PlateManager class deleted unused

* added and fixed unit tests

* specified correct verion

* added parser integration tests

* Refactor Python version matrix in tests.yml

* Add coverage badge workflow

* Update dependency installation in coverage workflow

* Update dependency installation in coverage workflow

* Refactor coverage workflow and add coverage badge generation

* Refactor coverage workflow and remove coverage badge generation

* Refactor import statements to use lowercase package names

* Rename MTPHandler to temp_handler

* Refactor temp_handler package and remove unused modules

* Refactor temp_handler package and remove unused modules lowercase naming

* Delete MTPHandler directory

* added docs and tests

* Refactor temp_handler package and remove unused modules

* Refactor test workflow to include nbval and nbval-lax options

* Refactor README.md to update project overview and installation instructions

* Deleted original files to prepare for case renaming

* Refactor MTPHandler package and remove unused modules

* Delete MTPHandler directory

* bump 0.2.5

* resolved merge coflicts

---------

Co-authored-by: sdRDM Bot <sdRDM@bot.com>
  • Loading branch information
haeussma and sdRDM Bot authored Sep 21, 2024
1 parent 6d27a7f commit 64f9a78
Show file tree
Hide file tree
Showing 75 changed files with 208,198 additions and 35,079 deletions.
117 changes: 117 additions & 0 deletions .github/workflows/publish_pypi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI

on: push

jobs:
build:
name: Build distribution 📦
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
name: >-
Publish Python 🐍 distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/mtphandler # Replace <package-name> with your PyPI project name
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

github-release:
name: >-
Sign the Python 🐍 distribution 📦 with Sigstore
and upload them to GitHub Release
needs:
- publish-to-pypi
runs-on: ubuntu-latest

permissions:
contents: write # IMPORTANT: mandatory for making GitHub Releases
id-token: write # IMPORTANT: mandatory for sigstore

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Sign the dists with Sigstore
uses: sigstore/gh-action-sigstore-python@v2.1.1
with:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: >-
gh release create
'${{ github.ref_name }}'
--repo '${{ github.repository }}'
--notes ""
- name: Upload artifact signatures to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
# Upload to GitHub Release using the `gh` CLI.
# `dist/` contains the built packages, and the
# sigstore-produced signatures and certificates.
run: >-
gh release upload
'${{ github.ref_name }}' dist/**
--repo '${{ github.repository }}'
publish-to-testpypi:
name: Publish Python 🐍 distribution 📦 to TestPyPI
needs:
- build
runs-on: ubuntu-latest

environment:
name: testpypi
url: https://test.pypi.org/p/mtphandler

permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ jobs:
- name: Run tests with pytest
run: |
poetry run pytest
poetry run pytest --nbval --nbval-lax
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 haeussma
Copyright (c) 2023 Max Häussler

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# MTPHandler - _🚧 currently unstable 🚧_
# MTPHandler

[![Documentation](https://img.shields.io/badge/Documentation-Online-blue.svg)](https://fairchemistry.github.io/MTPHandler/)
[![Tests](https://github.com/FAIRChemistry/MTPHandler/actions/workflows/tests.yml/badge.svg)](https://github.com/FAIRChemistry/MTPHandler/actions/workflows/tests.yml)
[![PyPI version](https://badge.fury.io/py/MTPHandler.svg)](https://badge.fury.io/py/MTPHandler)
[![PyPI version](https://badge.fury.io/py/mtphandler.svg)](https://badge.fury.io/py/mtphandler)


## ℹ️ Overview

MTPHandler is a tool for managing and processing data from microtiter plates. It allows to directly read in the output files of various photometers, enabling low friction data processing. The tool facilitates a workflow for reading in raw data, assigning molecules with their respective concentration and and unit to wells. Furthermore, wells for creating a standard curve can be automatically detected and applied to different calibration models, which can be used to calculate the concentration of unknown samples. Finally, the plate data can be transformed into time-course concentration data in the EnzymeML format for subsequent analysis of the concentration data.
`mtphandler` is a tool for managing and processing data from microtiter plates. It allows to directly read in the output files of various photometers, enabling low friction data processing. The tool facilitates a workflow for reading in raw data, assigning molecules with their respective concentration and and unit to wells. Furthermore, wells for creating a standard curve can be automatically detected and applied to different calibration models, which can be used to calculate the concentration of unknown samples. Finally, the plate data can be transformed into time-course concentration data in the EnzymeML format for subsequent analysis of the concentration data.

``` mermaid
graph LR
Expand Down Expand Up @@ -65,13 +65,14 @@ The following table lists the currently supported plate readers output files:

## 📦 Installation

Install `MTPHandler` via pip:
Install `MTPHandler` from PyPI:

```bash
pip install MTPHandler # 🚧 not released yet
```
or from source:

```bash
pip install git+https://github.com/FAIRChemistry/MTPHandler.git
```

Please refer to the [documentation](https://fairchemistry.github.io/MTPHandler/) for more information on how to use the package.
Loading

0 comments on commit 64f9a78

Please sign in to comment.