-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyproject.toml
92 lines (73 loc) · 2.73 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
90
91
92
[project]
name = "branchwater"
version = "0.1.0"
requires-python = ">=3.12.2,<3.13"
[tool.pixi.project]
channels = ["conda-forge", "bioconda"]
platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64"]
[tool.pixi.environments]
default = { features = ["build", "prepare", "deploy", "dev", "web", "metadata", "mongo", "docs"], solve-group = "default" }
build = { features = ["build"], solve-group = "default" }
prepare = { features = ["build", "prepare"], solve-group = "default" }
dev = { features = ["dev"], solve-group = "default" }
web = { features = ["web", "mongo"], solve-group = "default" }
metadata = { features = ["metadata"], solve-group = "default" }
mongo = { features = ["mongo"], solve-group = "default" }
[tool.pixi.tasks]
demo = { depends-on = ["index", "metadata"] }
[tool.pixi.feature.build.dependencies]
rust = "~=1.84.0"
compilers = ">=1.7.0,<1.8"
clangdev = ">=16.0.6,<17.1"
libclang = ">=16.0.6,<17.1"
cargo-llvm-cov = "~=0.6.15"
cargo-nextest = "~=0.9.78"
[tool.pixi.feature.build.tasks]
build-server = "cargo build --release -p branchwater-server"
[tool.pixi.feature.prepare.tasks]
index = { cmd = ["snakemake"], cwd = "experiments" }
metadata = { depends-on = ["metadata_bq", "load_mongo"] }
[tool.pixi.feature.prepare.dependencies]
snakemake = ">=8.5.3,<8.6"
sourmash = ">=4.8.6,<4.9"
[tool.pixi.feature.mongo.dependencies]
pymongo = "~=4.10"
polars = ">=1.12.0,<2"
[tool.pixi.feature.mongo.tasks]
load_mongo = "docker compose up -d mongodb && docker compose exec mongodb /bin/bash /shell-hook python3 /docker-entrypoint-initdb.d/load_parquet.py /data/bw_db/metadata.parquet"
[tool.pixi.feature.metadata.dependencies]
polars = ">=1.12.0,<2"
pyarrow = "*"
google-cloud-bigquery = ">=3.28.0,<4"
[tool.pixi.feature.metadata.tasks]
metadata_sra = { cmd = ["python3", "prepare_sra.py"], cwd = "metadata" }
metadata_bq = { cmd = ["python3", "prepare_bq.py", "-a", "../bw_db/sraids", "-k", "../bw_db/bqKey.json", "-o", "../bw_db/metadata.parquet"], cwd = "metadata" }
[tool.pixi.feature.deploy.tasks]
deploy = "docker compose"
[tool.pixi.feature.docs.dependencies]
pandoc = "*"
[tool.pixi.feature.docs.pypi-dependencies]
furo = ">=2023.09.10"
myst-parser = "*"
sphinx-copybutton = "*"
sphinx-design = "*"
sphinx-inline-tabs = "*"
sphinx-tabs = "*"
sphinxcontrib-mermaid = "*"
[tool.pixi.feature.docs.tasks]
docs = "sphinx-build -d docs/doctree docs docs/out --color -bhtml"
[tool.pixi.feature.dev.dependencies]
pyright = "*"
[tool.pixi.feature.web.dependencies]
flask = "~=2.3.2"
polars = ">=1.12.0,<2"
pandas = "~=2.0"
urllib3 = "~=2.0.4"
pyyaml = "~=6.0"
gunicorn = "~=23.0"
[tool.pixi.feature.web.pypi-dependencies]
sentry-sdk = { version = "*", extras = ["flask", "pymongo"] }
[tool.pixi.system-requirements]
linux = "3.10"
libc = "2.17"
macos = "12.0"