Skip to content

Commit 1c8d353

Browse files
committed
Clarify comments inside python-requirements.txt.
The comments within the `python-requirements.txt` file were misleading, as they were suggesting that the file listed both packages needed for ODK-Lite ("core dependencies") and for ODK-Full ("secondary dependencies"). This commit clarifies the contents of the python-requirements.txt by breaking it down in three sections: (A) The section with the dependencies needed for ODK-Lite -- which, by definition, only contain the ODK-Core package. (B) The section containing all the Python packages that should be, as much as possible, always kept to their most recent versions ("first-tier dependencies"). (C) The section containing all the other packages wanted for ODK-Full. This commit also adds to the (C) section the `linkml-map` package. For now, that package is already included in ODK-Full because it is an indirect dependency of something else, but that may change (as we observed when trying to update the base image to Ubunty 26.04, where `linkml-map` is no longer included), so we make `linkml-map` an _explicit_ dependency. closes #1340
1 parent de2cf1a commit 1c8d353

1 file changed

Lines changed: 28 additions & 4 deletions

File tree

python-requirements.txt

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,40 @@
1-
# Core dependencies
1+
# Core dependency
2+
# This is the ONLY dependency that should be required for ODK-Lite. If
3+
# you want to add a Python package to ODK-Lite (which should only happen
4+
# if said package is required by a standard ODK workflow), do NOT add it
5+
# here, but instead add it to the "workflows" dependency group in the
6+
# ODK-Core project.
27
./core[workflows]
8+
9+
# First-tier dependencies
10+
# The following dependencies are those for which we should make sure to
11+
# always provide the most recent version, unless we have a compelling
12+
# reason not to do so (e.g. if the latest version of a package is known
13+
# to break a workflow).
14+
# This list MAY include dependencies that are already listed in the
15+
# dependencies of the ODK-Core package.
316
linkml
417
oaklib
518
semsimian
619

7-
# Secondary dependencies
8-
PyGithub
20+
# Second-tier dependencies
21+
# Those are all the other Python packages that should be provided in the
22+
# ODK-Full image, but for which we do not necessarily always try to
23+
# provide the most recent version.
24+
# This list MAY include dependencies that are already indirectly brought
25+
# by ODK-Core (dependencies of dependencies of ODK-Core) -- this is,
26+
# strictly speaking, redundant, but: (1) it's sometimes easier to list
27+
# the dependency here than to check whether it is already an indirect
28+
# dependency of ODK-Core, and (2) it ensures the package will still be
29+
# provided even if at some point it is no longer an indirect dependency
30+
# of ODK Core.
931
curies
1032
funowl
33+
jinjanator
1134
jsonschema2md
1235
jupyter
1336
kgx
37+
linkml-map
1438
matplotlib
1539
matplotlib_venn
1640
networkx
@@ -20,10 +44,10 @@ ontodev-cogs
2044
ontodev-gizmos
2145
pandas
2246
plotly
47+
PyGithub
2348
pyspellchecker
2449
rdflib
2550
requests
2651
seaborn
2752
tabulate
2853
upsetplot
29-
jinjanator

0 commit comments

Comments
 (0)