Metadata-Version: 2.4
Name: ms_qc_tools
Version: 0.1.1
Summary: Quality control tools for mass spectrometry data
Author-email: Pedrioli Patrick <pedrioli@gmail.com>
License: LICENSE
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20.0
Requires-Dist: matplotlib>=3.4.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: seaborn>=0.11.0
Requires-Dist: scipy>=1.7.0
Requires-Dist: pymzxml>=0.1.3.2
Provides-Extra: dev
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: deptry; extra == "dev"
Requires-Dist: tox; extra == "dev"
Requires-Dist: pyright; extra == "dev"
Dynamic: license-file

# A template for python package developement inside a docker container

## Requirements

- Docker

## How to use

### Initial setup
- Clone repo
- Change name
- Change App folder name to package name
- Re-initialize git:
  - rm -rf .git
  - git init
- Edit pyproject.toml as required
- Edit requirements.txt if additional python packages should be included in docker image. Note that packages required for distribution of the python packages should be instead added to pyproject.toml
- Edit .pre-commit-config.yaml to add/remove pre-commit hooks

## Developing
- Start container with ./start_dev.sh
- [First time only, install pre-commit hooks with pre-commit install]
- [Update pre-commit hooks wiht pre-commit autoupdate]
- Files can be edited from outside the container (i.e. the entire folder is mounted inside the running docker container under /App)
- Run git from inside container
- Install and test package from insider container (e.g. pip install -e . or pip install .) 
- If needed a clean rebuild can be forced by ./stop_dev.sh


## What's included

- Python 3.13 (can be changed from Dockerfile)
- User inside container will be automatically set to the user launching start_docker.sh 
- Git user.email and user.name will be automatically set to the defined outside the container
- Pre-commit hooks:
  - trailing-whitespace
  - end-of-file-fixer
  - check-yaml
  - check-added-large-files
  - check-docstring-first
  - autoflake
  - isort
  - docformatter      
  - black
  - flake8
- GPL3 license
