forked from NNPDF/nnpdf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
142 lines (132 loc) · 4.68 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.1.0"]
build-backend = "poetry_dynamic_versioning.backend"
[tool.poetry]
name = "nnpdf"
version = "0.0.0"
description = "An open-source machine learning framework for global analyses of parton distributions."
readme = "README.md"
authors = [
"NNPDF Collaboration"
]
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Physics",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/NNPDF/nnpdf"
# Packages installed together within the nnpdf metapackage
packages = [
{ include = "n3fit", from = "n3fit/src" },
{ include = "evolven3fit", from = "n3fit/src" },
{ include = "validphys", from = "validphys2/src" },
{ include = "nnpdf_data", from = "nnpdf_data"},
]
# Data files
include = [
# The default profile is included together with the validphys package
"validphys2/src/validphys/nnprofile_default.yaml",
# The version file is ignored by git so it needs to be explicitly included
"validphys2/src/validphys/_version.py",
"nnpdf_data/nnpdf_data/_version.py"
]
[tool.poetry.scripts]
n3fit = "n3fit.scripts.n3fit_exec:main"
validphys = "validphys.scripts.main:main"
# Fitting scripts
evolven3fit = "n3fit.scripts.evolven3fit:main"
# Keep the `new` suffix so people's scripts don't break
evolven3fit_new = "n3fit.scripts.evolven3fit:evolven3fit_new"
vp-setupfit = "n3fit.scripts.vp_setupfit:main"
postfit = "validphys.scripts.postfit:main"
# validphys helpers and scripts
vp-upload = "validphys.scripts.vp_upload:main"
wiki-upload = "validphys.scripts.wiki_upload:main"
vp-get = "validphys.scripts.vp_get:main"
vp-comparefits = "validphys.scripts.vp_comparefits:main"
vp-fitrename = "validphys.scripts.vp_fitrename:main"
vp-checktheory = "validphys.scripts.vp_checktheory:main"
vp-pdfrename = "validphys.scripts.vp_pdfrename:main"
vp-pdffromreplicas = "validphys.scripts.vp_pdffromreplicas:main"
vp-list = "validphys.scripts.vp_list:main"
vp-nextfitruncard = "validphys.scripts.vp_nextfitruncard:main"
vp-hyperoptplot = "validphys.scripts.vp_hyperoptplot:main"
vp-deltachi2 = "validphys.scripts.vp_deltachi2:main"
[tool.poetry.dependencies]
# Generic dependencies (i.e., validphys)
python = "^3.9"
matplotlib = ">=3.3.0,<3.8"
pineappl = "^0.7.0"
pandas = "*"
numpy = "*"
validobj = "*"
prompt_toolkit = "*"
# Reportengine needs to be installed from git
reportengine = { git = "https://github.com/NNPDF/reportengine" }
# Fit
psutil = "*"
tensorflow = "*"
eko = "^0.14.1"
# Hyperopt
hyperopt = "*"
seaborn = "*"
# Hyperopt parallel
pymongo = "<4"
# LHAPDF installation for debugging purposes
# a3b2bbc3ced97675ac3a71df45f55ba = "*"
# Optional dependencies
# tests
pytest = {version = "*", optional = true}
pytest-mpl = {version = "*", optional = true}
hypothesis = {version = "*", optional = true}
# docs
recommonmark = {version = "*", optional = true}
sphinxcontrib-bibtex = {version = "*", optional = true}
sphinx_rtd_theme = {version = "*", optional = true}
sphinx = {version = "^5.0", optional = true}
tabulate = {version = "*", optional = true}
# qed
fiatlux = {version = "*", optional = true}
# without lhapdf
pdfflow = {version = "^1.2.1", optional = true}
lhapdf-management = {version = "^0.5", optional = true}
# Optional dependencies
[tool.poetry.extras]
tests = ["pytest", "pytest-mpl", "hypothesis"]
docs = ["recommonmark", "sphinxcontrib", "sphinx-rtd-theme", "sphinx", "tabulate"]
qed = ["fiatlux"]
nolha = ["pdfflow", "lhapdf-management"]
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
metadata = true
dirty = true
semver = true
pattern = "default-unprefixed" # we don't use v in the tags
[tool.poetry-dynamic-versioning.files."validphys2/src/validphys/_version.py"]
persistent-substitution = true
initial-content = """
__version__ = "0.0.0"
"""
# When installed toghether, make sure the validphs and nnpdf_data versions are written at the same time
[tool.poetry-dynamic-versioning.files."nnpdf_data/nnpdf_data/_version.py"]
persistent-substitution = true
initial-content = """
__version__ = "0.0.0"
"""
[tool.poetry-dynamic-versioning.substitution]
files = ["validphys2/src/validphys/_version.py", "nnpdf_data/nnpdf_data/_version.py"]
[tool.black]
line-length = 100
skip-string-normalization = true
skip-magic-trailing-comma = true
[tool.isort]
atomic = true
line_length = 100
profile = "black" # https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#custom-configuration
skip_gitignore = true
known_first_party = ["validphys", "eko", "n3fit", "nnpdf_data", "reportengine"]
force_sort_within_sections = true