-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyproject.toml
89 lines (73 loc) · 2.75 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[build-system]
build-backend = "flit_core.buildapi"
requires = ["flit_core >=3.2,<4"]
[project]
name = "wort"
description = "A database for signatures of public genomic sources"
authors = [ { name = "Luiz Irber", email = "[email protected]" }]
#home-page = "https://wort.sourmash.bio"
classifiers = ["License :: OSI Approved :: GNU Affero General Public License v3"]
version = "0.0.2"
requires-python = ">=3.10"
[tool.pixi.project]
channels = ["conda-forge", "bioconda"]
platforms = ["linux-64", "linux-aarch64"]
[tool.pixi.feature.web.dependencies]
curl = ">=8.5.0,<8.6"
pycurl = ">=7.45.1,<7.46"
cachelib = ">=0.10.2,<0.11"
psycopg2-binary = ">=2.9.9,<2.10"
[tool.pixi.feature.web.pypi-dependencies]
gunicorn = ">=20.1.0,<20.2"
flask = "<2.3.0"
redis = ">=4.5.5,<4.6"
flask-wtf = ">=1.1.1,<1.2"
flask-migrate = ">=4.0.4,<4.1"
flask-login = ">=0.6.2,<0.7"
jsonschema = ">=4.17.3,<4.18"
openapi-spec-validator = ">=0.5.7,<0.6"
sentry-sdk = { version = ">=2.10.0,<2.11.0", extras = ["flask", "celery", "sqlalchemy"] }
connexion = { version = ">=2.14.2,<3", extras = ["swagger-ui"] }
werkzeug = ">=1.0,<2.3"
celery = { version = ">=5.3.1,<5.4", extras = ["sqs", "s3"] }
[tool.pixi.feature.worker.dependencies]
sourmash-minimal = ">=4.8.5,<4.9"
[tool.pixi.feature.worker.target.linux-64.dependencies]
sra-tools = ">=3.0.9,<3.1"
# Used for installing into worker, as a post-process step
[tool.pixi.feature.worker.host-dependencies]
pip = "*"
[tool.pixi.feature.dev.pypi-dependencies]
biopython = ">=1.81,<2"
flask-shell-ipython = ">=0.5.1,<0.6"
pandas = ">=2.0.3,<2.1"
wort = { path = ".", editable = true }
[tool.pixi.feature.dev.dependencies]
awscli = ">=2.15.8,<2.16"
[tool.pixi.feature.test.dependencies]
pytest = "*"
pytest-cov = "*"
# Used for installing into web, as a post-process step
[tool.pixi.feature.web.host-dependencies]
pip = "*"
[tool.pixi.feature.build.dependencies]
build = "*"
flit-core = ">=3.2,<4"
[tool.pixi.feature.build.tasks]
# Create a wheel for installation
build-wheel = "python -m build --no-isolation --wheel ."
[tool.pixi.tasks]
submit = "python machine/wort-web/submit.py"
dev = "flask --app wort.app:create_app --bind :8000"
start = "gunicorn -b 0.0.0.0:5000 --access-logfile - --reload 'wort.app:create_app()'"
# Install into the prod environments
postinstall-prod = "python -m pip install --no-deps --disable-pip-version-check dist/wort-*.whl"
[tool.pixi.environments]
# Default environment, has features for running in development, testing, and building
default = { features = ["test", "dev", "build", "web", "worker"], solve-group = "default" }
# Leaner environment for use in production
web = { features = ["web"], solve-group = "default" }
worker = { features = ["worker", "web"], solve-group = "default" }
[tool.pixi.system-requirements]
linux = "3.10"
libc = "2.17"