PyYAML>=6.0
rich>=13.7
typer>=0.12
requests<3,>=2.32
jsonschema<5,>=4.23
graphql-core<4,>=3.2
pydantic<3,>=2
httpx<1,>=0.27
opentelemetry-sdk<2,>=1.30

[:python_version < "3.11"]
tomli>=2.0

[agent]
fastmcp<4,>=3.4.5
httpx[socks]<1,>=0.27

[bio]
dnakit[bio-analysis,bio-assembly,bio-biotite,bio-cutadapt,bio-cyvcf2,bio-dna-features-viewer,bio-dnacauldron,bio-dnachisel,bio-dnaio,bio-edlib,bio-formats,bio-geneblocks,bio-gffutils,bio-gtars,bio-mappy,bio-plots,bio-polarsbio,bio-pybedtools,bio-pybigwig,bio-pyfaidx,bio-pyfastx,bio-pyranges,bio-pysbol3,bio-reads,bio-scadnano,bio-scikit-allel,bio-seqme,bio-skibio,bio-sourmash,bio-vcfpy]

[bio-alphagenome]
alphagenome<1,>=0.10

[bio-analysis]
numpy<3,>=1.26
scipy<2,>=1.11
scikit-learn<2,>=1.5

[bio-assembly]
pydna<6,>=5.5

[bio-bed-reader]
bed-reader<2,>=1.0

[bio-bgen-reader]
bgen-reader<5,>=4

[bio-bioblend]
bioblend<2,>=1.9

[bio-bioframe]
bioframe<1,>=0.8

[bio-biomcp]
biomcp-cli<1,>=0.9

[bio-biothings]
biothings_client<1,>=0.5

[bio-biotite]
biotite<2,>=1

[bio-clawbio]
clawbio<1,>=0.7
biopython<2,>=1.85

[bio-cooler]
cooler<1,>=0.10

[bio-cooltools]
cooltools<1,>=0.7

[bio-cutadapt]
cutadapt<6,>=5

[bio-cwl]
cwltool<4,>=3.1

[bio-cyvcf2]
cyvcf2<1,>=0.30

[bio-dadi]
dadi<3,>=2.4
demes<1,>=0.2

[bio-deeptools]
deeptools<5,>=4.0

[bio-dendropy]
dendropy<6,>=5.1

[bio-dna-features-viewer]
dna-features-viewer<4,>=3

[bio-dnacauldron]
dnacauldron<3,>=2

[bio-dnachisel]
dnachisel<4,>=3.2

[bio-dnaio]
dnaio<2,>=1.2

[bio-edlib]
edlib<2,>=1.3

[bio-formats]
biopython<2,>=1.85

[bio-galaxy]
galaxy-mcp<2,>=1.11

[bio-geneblocks]
geneblocks<2,>=1.2
dna-features-viewer<4,>=3

[bio-genomepy]
genomepy<1,>=0.16

[bio-genomic-benchmarks]
genomic-benchmarks<2,>=1

[bio-genomicranges]
genomicranges<1,>=0.9
pandas<3,>=2

[bio-gffutils]
gffutils<1,>=0.13

[bio-gget]
gget<1,>=0.30

[bio-gimmemotifs]
gimmemotifs<1,>=0.18

[bio-grelu]
grelu<2,>=1.1

[bio-gtars]
gtars<1,>=0.10

[bio-gtfparse]
gtfparse<4,>=3

[bio-hail]
hail==0.2.139

[bio-hgvs]
hgvs<2,>=1.5
bioutils<1,>=0.4
parsley

[bio-khmer]
khmer<3,>=2.1

[bio-kipoi]
kipoi<1,>=0.8

[bio-macs3]
macs3<4,>=3.0

[bio-mappy]
mappy<3,>=2.28

[bio-methylpy]
methylpy<2,>=1.4

[bio-muon]
muon<0.2,>=0.1.9

[bio-mygene]
mygene<4,>=3.2

[bio-myvariant]
myvariant<2,>=1.0

[bio-ncbi-datasets]
ncbi-datasets-pylib<17,>=16.6

[bio-ncls]
ncls<1,>=0.0.70
numpy<3,>=1.26

[bio-nf-core]
nf-core<5,>=4.1

[bio-pairtools]
pairtools<2,>=1.1

[bio-pandas-plink]
pandas-plink<3,>=2.3
xarray

[bio-parasail]
parasail<2,>=1.3

[bio-plots]
matplotlib<4,>=3.8

[bio-polarsbio]
polars-bio<1,>=0.22

[bio-primer3]
primer3-py<3,>=2.3

[bio-py2bit]
py2bit<2,>=1

[bio-pybedtools]
pybedtools<1,>=0.12

[bio-pybigwig]
pyBigWig<1,>=0.3

[bio-pybiomart]
pybiomart<1,>=0.2

[bio-pyensembl]
pyensembl<3,>=2.27

[bio-pyfaidx]
pyfaidx<1,>=0.8

[bio-pyfastx]
pyfastx<3,>=2

[bio-pygenomeviz]
pygenomeviz<1,>=0.4

[bio-pyhmmer]
pyhmmer<1,>=0.12

[bio-pyranges]
pyranges<1,>=0.1

[bio-pyranges1]
pyranges1<2,>=1.4

[bio-pysbol3]
sbol3<2,>=1

[bio-pyslow5]
pyslow5<2,>=1.5
numpy<3,>=1.26

[bio-pyvolve]
pyvolve<2,>=1.1

[bio-reads]
pysam<0.25,>=0.22

[bio-scadnano]
scadnano<1,>=0.21

[bio-scanpy]
scanpy<2,>=1.11
anndata<1,>=0.12

[bio-scikit-allel]
scikit-allel<2,>=1.3
scipy<2,>=1.11

[bio-screed]
screed<2,>=1.1

[bio-scvi]
scvi-tools<2,>=1.4
anndata<1,>=0.12

[bio-selene]
selene-sdk<1,>=0.6

[bio-seqme]
seqme<1,>=0.5

[bio-skibio]
scikit-bio<0.8,>=0.7.3

[bio-smartapi]
smartapi-mcp<1,>=0.5

[bio-snakemake]
snakemake<10,>=9.27

[bio-snapatac2]
snapatac2<3,>=2.10

[bio-snapgene]
snapgene-reader<1,>=0.1

[bio-sourmash]
sourmash<5,>=4.9

[bio-tangermeme]
tangermeme<2,>=1.5
torch<3,>=2.5

[bio-toil]
toil<10,>=9.5
biopython<2,>=1.85

[bio-toytree]
toytree<4,>=3.0

[bio-tskit]
tskit<2,>=1.0

[bio-umi-tools]
umi-tools<2,>=1.1.6
regex>=2024
pysam<0.25,>=0.22
matplotlib<4,>=3.8
scipy<2,>=1.11
pybktree<2,>=1.1
pandas<3,>=2

[bio-validation]
dnakit[bio-skibio]
statsmodels<1,>=0.14

[bio-varcode]
varcode<11,>=10.11

[bio-vcfpy]
vcfpy<1,>=0.14

[bio-wdl]
miniwdl<2,>=1.15

[catboost]
dnakit[ml]
catboost<2,>=1.2

[dev]
build>=1.2
hypothesis>=6.100
mypy>=1.11
numpy<3,>=1.26
pytest>=8.0
pytest-cov>=5.0
ruff>=0.8
scikit-learn<2,>=1.5
setuptools>=77
twine>=5.0
types-PyYAML>=6.0
wheel

[dna-nanotechnology]
scadnano<1,>=0.21

[dna-storage]
Chamaeleo<2,>=1.34

[docs]
mkdocs<2,>=1.6
mkdocs-material<10,>=9.5
mkdocs-static-i18n<2,>=1.3.1
mkdocstrings[python]<1,>=0.27
pymdown-extensions<11,>=10.2
nbmake<2,>=1.5

[encode-credentials]
keyring<26,>=25
cryptography>=42

[external-tools]
biopython<2,>=1.85

[genomics]
numpy<3,>=1.26
pyrodigal<4,>=3.7
pysam<0.25,>=0.22
pyfastani<0.7,>=0.6.2

[genomics-genes]
pyrodigal<4,>=3.7

[io]
pyarrow<26,>=19

[lightgbm]
dnakit[ml]
lightgbm<5,>=4.5

[ml]
numpy<3,>=1.26
scikit-learn<2,>=1.5
joblib<2,>=1.4
threadpoolctl<4,>=3.1
openpyxl<4,>=3.1
pandas<4,>=2.2
pyarrow<26,>=19
xlrd<3,>=2.0

[neural]
gdown<6,>=5.2
huggingface-hub<2,>=0.28
numpy<3,>=1.26
scikit-learn<2,>=1.5
torch<3,>=2.5
transformers<5,>=4.49

[neural-caduceus]
mamba-ssm<3,>=2.2

[neural-enformer]
gdown<6,>=5.2
enformer-pytorch<1,>=0.8.11

[neural-evo2]

[neural-evo2:python_version >= "3.11" and python_version < "3.13"]
evo2<0.7,>=0.5.3

[reports]
reportlab<5,>=4

[training]
huggingface-hub<2,>=0.28
numpy<3,>=1.26
openpyxl<4,>=3.1
pandas<4,>=2.2
pyarrow<26,>=19
scikit-learn<2,>=1.5
torch<3,>=2.6
transformers<5,>=4.49
xlrd<3,>=2.0

[validation]
biopython<2,>=1.85

[viz]
CairoSVG<3,>=2.7
Pillow<13,>=10

[xgboost]
dnakit[ml]
xgboost<4,>=2.1
