Skip to content

Commit

Permalink
Replaced setup.cfg and setup.py with pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
tylerdougan committed Jun 19, 2024
1 parent 8a57a1b commit 53477bb
Show file tree
Hide file tree
Showing 13 changed files with 1,256 additions and 1,107 deletions.
4 changes: 1 addition & 3 deletions docs/_build/_modules/waltlabtools/model.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,13 @@

<h1>Source code for waltlabtools.model</h1><div class="highlight"><pre>
<span></span><span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Callable</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Optional</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span>

<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">from</span> <span class="nn">matplotlib.scale</span> <span class="kn">import</span> <span class="n">ScaleBase</span>

<span class="kn">from</span> <span class="nn">.core</span> <span class="kn">import</span> <span class="n">coerce_array</span>

<span class="n">EPS</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">finfo</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span><span class="o">.</span><span class="n">resolution</span>


<div class="viewcode-block" id="Model">
<a class="viewcode-back" href="../../waltlabtools.html#waltlabtools.model.Model">[docs]</a>
Expand Down
50 changes: 49 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,57 @@
# Minimum requirements for the build system to execute.
requires = ["setuptools", "wheel"]

[project]
name = "waltlabtools"
dynamic = ["version"]
dependencies = [
"numpy>=1.11",
"scipy>=1.7",
"pandas>=1.3",
"matplotlib>=3.4",
"scikit-learn>=1.2",
]
requires-python = ">= 3.8"
authors = [
{name = "Tyler Dougan", email = "tyler_dougan@hst.harvard.edu"}
]
description = "A collection of tools for biomedical research assay analysis in Python."
readme = "README.rst"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering",
]

[project.optional-dependencies]
jax = ["jax"]
numba = ["numba"]
all = [
"jax",
"numba",
"jupyterlab",
"numexpr",
"bottleneck",
"jinja2",
"openpyxl"
]

[project.urls]
Homepage = "https://github.com/tylerdougan/waltlabtools/"
Documentation = "https://waltlabtools.readthedocs.io/en/latest/"
PyPI = "https://pypi.org/project/waltlabtools/"
"Issue Tracker" = "https://github.com/tylerdougan/waltlabtools/issues"
Anaconda = "https://anaconda.org/tylerdougan/waltlabtools"

[tool.setuptools.dynamic]
version = {attr = "waltlabtools.__version__"}

[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I", "UP", "B", "PD", "NPY", "RUF", "S", "A", "C", "ICN", "PIE", "SIM", "PLC", "PLE", "PLR", "PLW", "PERF", "FURB"]
# "N", "D", "ARG"
ignore = ["B028", "PLR0913", "RUF012", "C901", "PLR0912", "PLR0915", "PD101"]

[tool.ruff.lint.pydocstyle]
Expand Down
13 changes: 7 additions & 6 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Required
python >= 3.8
scikit-learn
numpy
scipy
matplotlib
pandas
python>=3.8
numpy>=1.11
scipy>=1.7
pandas>=1.3
matplotlib>=3.4
scikit-learn>=1.2

# Optional
jax
numba
openpyxl
47 changes: 0 additions & 47 deletions setup.cfg

This file was deleted.

3 changes: 0 additions & 3 deletions setup.py

This file was deleted.

133 changes: 133 additions & 0 deletions src/waltlabtools.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
Metadata-Version: 2.1
Name: waltlabtools
Version: 1.0.0b1
Summary: A collection of tools for biomedical research assay analysis in Python.
Home-page: https://github.com/tylerdougan/waltlabtools
Download-URL: https://pypi.org/project/waltlabtools/#files
Author: Tyler Dougan
Author-email: tyler_dougan@hst.harvard.edu
License: GNU General Public License v3 (GPLv3)
Project-URL: Bug Tracker, https://github.com/tylerdougan/waltlabtools/issues
Project-URL: Documentation, https://waltlabtools.readthedocs.io/README.html
Project-URL: Conda, https://anaconda.org/tylerdougan/waltlabtools
Keywords: python,numpy,modeling,curve-fitting,diagnostics,biomedical-data-science,calibration-curve,assay,elisa,concentrations,mosaic
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: matplotlib>=3.3
Requires-Dist: numpy>=1.16
Requires-Dist: pandas>=0.25
Requires-Dist: scipy>=1.3
Requires-Dist: scikit-learn>=0.21

waltlabtools
============

.. image:: https://img.shields.io/conda/vn/tylerdougan/waltlabtools?label=Anaconda
:target: https://anaconda.org/tylerdougan/waltlabtools
:alt: Conda
.. image:: https://img.shields.io/pypi/v/waltlabtools?label=PyPI
:target: https://pypi.org/project/waltlabtools
:alt: PyPI
.. image:: https://img.shields.io/readthedocs/waltlabtools?label=Documentation
:target: https://waltlabtools.readthedocs.io/en/latest/
:alt: Documentation
.. image:: https://img.shields.io/github/repo-size/tylerdougan/waltlabtools?label=GitHub
:target: https://github.com/tylerdougan/waltlabtools
:alt: GitHub


A collection of tools for biomedical research assay analysis in Python.

Key Features
------------

- Analysis for assays such as
`digital ELISA <http://www.ncbi.nlm.nih.gov/pmc/articles/pmc2919230/>`__,
including single-molecule array (Simoa) assays
- Read instrument-generated files and calculate calibration curves,
concentrations, limits of detection, and more
- Free and open-source software under the
`GNU General Public License v3 <https://www.gnu.org/licenses/gpl-3.0.en.html>`__

Getting Started
---------------

Installation
^^^^^^^^^^^^

You can install waltlabtools using
`Anaconda <https://anaconda.org/tylerdougan/waltlabtools>`__ (recommended) or
`PyPI <https://pypi.org/project/waltlabtools/>`__. If you're not comfortable
with the command line, begin by installing
`Anaconda Navigator <https://www.anaconda.com/products/individual>`__. Then follow
`these instructions <https://docs.anaconda.com/anaconda/navigator/tutorials/manage-channels/>`__
to add the channel ``tylerdougan``, and install waltlabtools from this channel.

Alternatively, install waltlabtools from the command line with
``conda install -c tylerdougan waltlabtools`` (recommended; requires you to
first install Anaconda or
`Miniconda <https://docs.conda.io/en/latest/miniconda.html>`__) or
``pip install waltlabtools`` (requires
`pip <https://pip.pypa.io/en/stable/getting-started/>`__, which should come
with Python).


Dependencies
^^^^^^^^^^^^

- waltlabtools requires

- `numpy <https://numpy.org/doc/stable/index.html>`__ ≥ 1.10

- `scipy <https://docs.scipy.org/doc/scipy/getting_started.html>`__ ≥ 1.3

- If installing with pip or conda, numpy and scipy will be installed
automatically

- Specific modules have additional requirements:

- `waltlabtools.read <https://waltlabtools.readthedocs.io/en/latest/waltlabtools.read.html>`__
(for importing data from Quanterix instruments) requires

- `pandas <https://pandas.pydata.org>`__ ≥ 0.25

- waltlabtools also plays well with

- `JAX <https://jax.readthedocs.io/en/latest/index.html>`__
for accelerated numerical computing – waltlabtools will use jax.numpy
instead of numpy if jax is loaded

- `JupyterLab <https://jupyterlab.readthedocs.io/en/stable/>`__
for interactively writing code

- `pandas <https://pandas.pydata.org>`__
for data import/export and organization

- `matplotlib <https://matplotlib.org>`__ for plotting

- `scikit-learn <https://scikit-learn.org/stable/>`__ for data analysis

All of these packages can all be installed using
`conda <https://docs.conda.io/projects/conda/en/latest/user-guide/install/download.html>`__
or `pip <https://pypi.org>`__.


Usage
^^^^^

.. code-block:: python

import waltlabtools as wlt # waltlabtools main functionality

-----


Development of waltlabtools is led by the
`Walt Lab <https://waltlab.bwh.harvard.edu>`__ for Advanced Diagnostics
at `Brigham and Women's Hospital <https://www.brighamandwomens.org>`__,
`Harvard Medical School <https://hms.harvard.edu>`__, and the
`Wyss Institute for Biologically Inspired Engineering <https://wyss.harvard.edu>`__.
19 changes: 19 additions & 0 deletions src/waltlabtools.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
LICENSE
README.rst
pyproject.toml
setup.cfg
setup.py
src/waltlabtools/__init__.py
src/waltlabtools/_backend.py
src/waltlabtools/_plot.py
src/waltlabtools/cal_curve.py
src/waltlabtools/core.py
src/waltlabtools/dropna.py
src/waltlabtools/model.py
src/waltlabtools/mosaic.py
src/waltlabtools/read.py
src/waltlabtools.egg-info/PKG-INFO
src/waltlabtools.egg-info/SOURCES.txt
src/waltlabtools.egg-info/dependency_links.txt
src/waltlabtools.egg-info/requires.txt
src/waltlabtools.egg-info/top_level.txt
1 change: 1 addition & 0 deletions src/waltlabtools.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

5 changes: 5 additions & 0 deletions src/waltlabtools.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
matplotlib>=3.3
numpy>=1.16
pandas>=0.25
scipy>=1.3
scikit-learn>=0.21
1 change: 1 addition & 0 deletions src/waltlabtools.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
waltlabtools
2 changes: 2 additions & 0 deletions src/waltlabtools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
from .core import *
from .model import *
from .read import *

__version__ = "v1.0.0b23"
Loading

0 comments on commit 53477bb

Please sign in to comment.