Skip to content

Commit

Permalink
scrap setup.py, move entirely to pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
MattWellie committed Feb 11, 2025
1 parent e52e637 commit 7a8c3ff
Show file tree
Hide file tree
Showing 7 changed files with 107 additions and 125 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ tag = False

[bumpversion:file:README.md]

[bumpversion:file:setup.py]
[bumpversion:file:pyproject.toml]

[bumpversion:file:.github/workflows/index_page_builder.yaml]

Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ RUN bash install_glcoud.sh --disable-prompts --install-dir=/opt && \
ENV PATH=$PATH:/opt/google-cloud-sdk/bin

# Add in the additional requirements that are most likely to change.
COPY requirements*.txt README.md setup.py ./
COPY README.md pyproject.toml ./
COPY src src/
RUN pip install --upgrade pip && pip install .[cpg]

Expand All @@ -36,6 +36,6 @@ FROM base AS talos_none
RUN echo "Skipping cloud dependency installation"

# Add in the additional requirements that are most likely to change.
COPY requirements*.txt README.md setup.py ./
COPY README.md pyproject.toml ./
COPY src src/
RUN pip install .[cpg]
RUN pip install ".[cpg]"
103 changes: 103 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,106 @@
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name='talos'
description='Centre for Population Genomics Variant Prioritisation'
readme = "README.md"
version='6.6.1'
license={ "file" = "LICENSE" }
classifiers=[
'Environment :: Console',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Operating System :: MacOS :: MacOS X',
'Operating System :: POSIX',
'Operating System :: Unix',
'Programming Language :: Python',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Bio-Informatics',
]

dependencies=[
"cloudpathlib[all]>=0.16.0",
"cyvcf2>=0.30.18",
"dill>=0.3.7",
"hail==0.2.133",
"httpx>=0.27.0",
"Jinja2>=3.1.3",
"networkx>=3",
"obonet>=1",
"pandas>=2",
"peds>=1.2.0",
"phenopackets>=2",
"protobuf==3.20.2",
"pydantic>=2.5.2",
"pyspark>=3.5.1",
"python-dateutil>=2",
"semsimian",
"tabulate>=0.8.9",
"tenacity>=9.0.0",
"toml==0.10.2",
]


[project.optional-dependencies]
cpg = [
"gql",
"metamist>=7.4.0",
]
test = [
"bump2version>=1.0.1",
"pytest>=8",
"pytest-cov>=3.0.0",
"pytest-httpx",
"pytest-xdist>=3.6.0",
]

[project.scripts]
# for use in translating a VEP annotated VCF to a MatrixTable
VcfToMt = 'talos.VcfToMt:cli_main'
# turns the SVDB TSV into a Hail Table
ConvertSpliceVarDb = 'talos.ConvertSpliceVarDb:cli_main'
# CPG internal, scans database for published reports, collects into an index page
BuildReportIndexPage = 'talos.CPG.BuildReportIndexPage:main'
# CPG implementation, builds cohort phenopackets
MakePhenopackets = 'talos.CPG.MakePhenopackets:cli_main'
# CPG implementation, builds cohort phenopackets from a pedigree with HPO terms
ConvertPedToPhenopackets = 'talos.CPG.convert_ePED_to_phenopackets:cli_main'
# use the HPO terms to select panels for this analysis
GeneratePanelData = 'talos.GeneratePanelData:cli_main'
# query PanelApp for those selected panels
QueryPanelapp = 'talos.QueryPanelapp:cli_main'
# use API queries to find the gene symbol for each gene ID
FindGeneSymbolMap = 'talos.FindGeneSymbolMap:cli_main'
# Filter and label a small-variant MatrixTable
RunHailFiltering = 'talos.RunHailFiltering:cli_main'
# Filter and label a SV MatrixTable
RunHailFilteringSV = 'talos.RunHailFilteringSV:cli_main'
# Run each of the category-labelled variants through MOI filters
ValidateMOI = 'talos.ValidateMOI:cli_main'
# catch variants which have strong phenotypic matches
HPOFlagging = 'talos.HPOFlagging:cli_main'
# CPG internal (?), publish those results as an HTML report
CreateTalosHTML = 'talos.CreateTalosHTML:cli_main'
# CPG internal (?), generate a file for ingestion by Seqr
MinimiseOutputForSeqr = 'talos.MinimiseOutputForSeqr:cli_main'
# CPG internal (?), generate a JSON summary of an existing report
SummariseReport = 'talos.SummariseReport:cli_main'

[project.urls]
Repository = "https://github.com/populationgenomics/talos"

[tool.setuptools]
package-dir = {"" = "src"}

[options]
include_package_data = true

[options.package_data]
'talos'= ['templates/*.jinja', 'example_config.toml']

[tool.black]
line-length = 120
skip-string-normalization = true
Expand Down
2 changes: 0 additions & 2 deletions requirements-cpg.txt

This file was deleted.

5 changes: 0 additions & 5 deletions requirements-dev.txt

This file was deleted.

20 changes: 0 additions & 20 deletions requirements.txt

This file was deleted.

94 changes: 0 additions & 94 deletions setup.py

This file was deleted.

0 comments on commit 7a8c3ff

Please sign in to comment.