Repository navigation
Expand file tree
/
Copy pathsetup.py
More file actions
71 lines (69 loc) · 2.95 KB
/
Copy pathsetup.py
File metadata and controls
71 lines (69 loc) · 2.95 KB
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
import os, sys
from pathlib import Path
HERE = Path(os.path.realpath(__file__)).parent
# Prepend dev/src so `from metasmith.constants import ...` resolves to the
# tree being built, not a stale install reachable via PYTHONPATH or env
# site-packages. Order-preserving dedup: the previous set()-based form
# silently shuffled priority, letting stale installs win and baking the
# wrong VERSION into wheels.
_src = str(HERE.joinpath("src"))
sys.path = [_src] + [p for p in sys.path if p != _src]
import setuptools
from metasmith.constants import USER, NAME, VERSION, FULL_VERSION, SHORT_SUMMARY, ENTRY_POINTS, GIT_URL
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
if __name__ == "__main__":
setuptools.setup(
name=NAME,
version=FULL_VERSION,
author="Tony Liu, Ryan McLaughlin, Anika Nag, Aditi Nagaraj, and Steven J. Hallam",
author_email="shallam@mail.ubc.ca",
description=SHORT_SUMMARY,
long_description=long_description,
long_description_content_type="text/markdown",
license_files = ('LICENSE',),
url=f"{GIT_URL}",
project_urls={
"Bug Tracker": f"{GIT_URL}/issues",
},
classifiers=[
"Programming Language :: Python :: 3.12",
"Operating System :: POSIX :: Linux",
],
package_dir={"": "src"},
packages=setuptools.find_packages(where="src"),
package_data={
"":[ # "" is all packages
"version.txt",
"build_hash.txt",
"nextflow_config/**",
"bin/**",
"example_resources/**",
"jupyter_lab/**",
# built by `dev.sh --build-gui`, not committed; the wheel and
# container builds refuse to proceed without it
"gui/static/**",
# the page's own artwork -- committed, unlike gui/static/
"gui/icon/**",
# the compiled std transform + container libraries, generated by
# main/transforms/std/create.py. Pure data: no module in here, so
# find_packages cannot see it and nothing but this line ships it.
"std/**",
# the msm_solver binaries, one per platform, built by
# `dev.sh -be` and never committed. Unlike msm_relay -- which
# runs on the agent host and is baked into the docker image --
# the solver runs locally at plan time, so it has to be inside
# the wheel and the conda package. Absent is a supported state:
# metasmith then plans on the python solver.
"engine/**",
],
# examples
# "package-name": ["*.txt"],
# "test_package": ["res/*.txt"],
},
entry_points={
'console_scripts': ENTRY_POINTS,
},
python_requires=">=3.12",
install_requires=[],
)