Skip to content

Commit d29b3c3

Browse files
authored
Merge pull request #160 from JonathanShor/pyproject_hatch
Use hatch instead of poetry and bump minimum versions
2 parents 420387a + 8a8c4b0 commit d29b3c3

File tree

2 files changed

+52
-67
lines changed

2 files changed

+52
-67
lines changed

.github/workflows/test.yml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,18 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
python-version: [3.6, 3.7, 3.8, 3.9]
18+
python-version: [3.10, 3.11, 3.12]
1919

2020
steps:
21-
- uses: actions/checkout@v2
21+
- uses: actions/checkout@v4
2222
- name: Set up Python ${{ matrix.python-version }}
23-
uses: actions/setup-python@v2
23+
uses: actions/setup-python@v5
2424
with:
2525
python-version: ${{ matrix.python-version }}
26-
- name: Cache pip
27-
uses: actions/cache@v2
28-
with:
29-
path: ~/.cache/pip
30-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
31-
restore-keys: |
32-
${{ runner.os }}-pip-
3326
- name: Install dependencies
3427
run: |
35-
pip install --quiet .[dev]
28+
python -m pip install --upgrade pip wheel uv
29+
python -m uv pip install --system "doubletdetection[dev] @ ."
3630
- name: Lint with flake8
3731
run: |
3832
flake8

pyproject.toml

Lines changed: 47 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,57 @@
1-
[tool.poetry]
2-
authors = ["Adam Gayoso <adamgayoso@berkeley.edu>", "Jonathan Shor <jonathan.shor@nyu.edu>", "Ambrose Carr"]
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "doubletdetection"
7+
version = "4.3"
8+
description = "Method to detect and enable removal of doublets from single-cell RNA-sequencing."
9+
readme = "README.md"
10+
requires-python = ">=3.10"
11+
license = { text = "MIT" }
12+
authors = [
13+
{ name = "Adam Gayoso", email = "adamgayoso@berkeley.edu" },
14+
{ name = "Jonathan Shor", email = "jonathan.shor@nyu.edu" },
15+
{ name = "Ambrose Carr" },
16+
]
317
classifiers = [
4-
"Development Status :: 4 - Beta",
5-
"Intended Audience :: Science/Research",
6-
"Natural Language :: English",
7-
"Programming Language :: Python :: 3.6",
8-
"Programming Language :: Python :: 3.7",
9-
"Operating System :: MacOS :: MacOS X",
10-
"Operating System :: Microsoft :: Windows",
11-
"Operating System :: POSIX :: Linux",
12-
"Topic :: Scientific/Engineering :: Bio-Informatics",
18+
"Development Status :: 4 - Beta",
19+
"Intended Audience :: Science/Research",
20+
"Natural Language :: English",
21+
"Programming Language :: Python :: 3.10",
22+
"Operating System :: MacOS :: MacOS X",
23+
"Operating System :: Microsoft :: Windows",
24+
"Operating System :: POSIX :: Linux",
25+
"Topic :: Scientific/Engineering :: Bio-Informatics",
1326
]
14-
description = "Method to detect and enable removal of doublets from single-cell RNA-sequencing."
15-
documentation = "https://doubletdetection.readthedocs.io/"
16-
homepage = "https://github.com/JonathanShor/DoubletDetection"
17-
license = "MIT"
18-
name = "doubletdetection"
19-
packages = [
20-
{include = "doubletdetection"},
27+
dependencies = [
28+
"anndata>=0.8",
29+
"numpy>=1.24",
30+
"scipy>=1.8",
31+
"scanpy>1.10.0",
32+
"matplotlib>=3.6",
33+
"tqdm",
34+
"phenograph",
2135
]
22-
readme = "README.md"
23-
version = "4.2"
2436

25-
[tool.poetry.dependencies]
26-
anndata = ">=0.6"
27-
black = {version = ">=20.8b1", optional = true}
28-
flake8 = {version = ">=3.7.7", optional = true}
29-
furo = {version = "*", optional = true}
30-
ipywidgets = "*"
31-
leidenalg = "*"
32-
louvain = "*"
33-
matplotlib = ">=3.1"
34-
myst-parser = {version = "*", optional = true}
35-
nbsphinx = {version = "*", optional = true}
36-
nbsphinx-link = {version = "*", optional = true}
37-
numpy = ">=1.14.2"
38-
pandas = ">=0.22.0"
39-
phenograph = "*"
40-
pre-commit = {version = ">=2.7.1", optional = true}
41-
pytest = {version = ">=4.4", optional = true}
42-
python = ">=3.6.1,<4.0"
43-
scanpy = ">1.4.4"
44-
scipy = ">=1.0.1"
45-
sphinx = {version = ">=4.1,<4.4", optional = true}
46-
sphinx-autodoc-typehints = {version = "*", optional = true}
47-
tqdm = "*"
37+
[project.urls]
38+
Documentation = "https://doubletdetection.readthedocs.io/"
39+
Homepage = "https://github.com/JonathanShor/DoubletDetection"
4840

49-
[tool.poetry.extras]
50-
dev = ["black", "pytest", "flake8", "pre-commit"]
51-
docs = ["nbsphinx", "sphinx", "sphinx-autodoc-typehints", "nbsphinx-link", "furo", "myst-parser"]
41+
[project.optional-dependencies]
42+
dev = ["black>=20.8b1", "flake8>=3.7.7", "pre-commit>=2.7.1", "pytest>=4.4"]
43+
docs = [
44+
"sphinx>=4.1,<4.4",
45+
"sphinx-autodoc-typehints",
46+
"nbsphinx",
47+
"nbsphinx-link",
48+
"furo",
49+
"myst-parser",
50+
]
5251

5352
[tool.black]
53+
line-length = 99
54+
include = '\.pyi?$'
5455
exclude = '''
5556
(
5657
/(
@@ -61,13 +62,3 @@ exclude = '''
6162
)/
6263
)
6364
'''
64-
include = '\.pyi?$'
65-
line-length = 99
66-
target_version = ['py37']
67-
68-
[build-system]
69-
build-backend = "poetry.masonry.api"
70-
requires = [
71-
"poetry>=1.0",
72-
"setuptools", # keep it here or "pip install -e" would fail
73-
]

0 commit comments

Comments
 (0)