invenio-subjects-mesh-lite 2024.3.6__tar.gz → 2025.1.15.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/CHANGES.md +9 -0
  2. {invenio_subjects_mesh_lite-2024.3.6/invenio_subjects_mesh_lite.egg-info → invenio_subjects_mesh_lite-2025.1.15.2}/PKG-INFO +55 -11
  3. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/README.md +44 -8
  4. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite/vocabularies/subjects_mesh.csv +30361 -30173
  5. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2/invenio_subjects_mesh_lite.egg-info}/PKG-INFO +55 -11
  6. invenio_subjects_mesh_lite-2025.1.15.2/invenio_subjects_mesh_lite.egg-info/requires.txt +15 -0
  7. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/pyproject.toml +23 -2
  8. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/tests/test_invenio_subjects_mesh_lite.py +3 -5
  9. invenio_subjects_mesh_lite-2024.3.6/invenio_subjects_mesh_lite.egg-info/requires.txt +0 -8
  10. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/LICENSE +0 -0
  11. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/MANIFEST.in +0 -0
  12. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite/__init__.py +0 -0
  13. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite/vocabularies/__init__.py +0 -0
  14. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite/vocabularies/vocabularies.yaml +0 -0
  15. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite.egg-info/SOURCES.txt +0 -0
  16. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite.egg-info/dependency_links.txt +0 -0
  17. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite.egg-info/entry_points.txt +0 -0
  18. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/invenio_subjects_mesh_lite.egg-info/top_level.txt +0 -0
  19. {invenio_subjects_mesh_lite-2024.3.6 → invenio_subjects_mesh_lite-2025.1.15.2}/setup.cfg +0 -0
@@ -1,5 +1,14 @@
1
1
  # Changes
2
2
 
3
+ Version 2025.1.15.2 (released 2025-07-15)
4
+
5
+ - Compatible with InvenioRDM v13
6
+ - Switch versioning pattern
7
+
8
+ Version 2025.1.15 (released 2025-01-15)
9
+
10
+ - MeSH 2025
11
+
3
12
  Version 2024.3.6 (released 2024-08-09)
4
13
 
5
14
  - make compatible with InvenioRDM v12
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: invenio-subjects-mesh-lite
3
- Version: 2024.3.6
3
+ Version: 2025.1.15.2
4
4
  Summary: MeSH subject terms without qualifiers
5
5
  Author-email: Northwestern University <DL_FSM_GDS@e.northwestern.edu>
6
6
  License: MIT License
@@ -38,21 +38,33 @@ Classifier: Programming Language :: Python :: 3
38
38
  Classifier: Programming Language :: Python :: 3.9
39
39
  Classifier: Programming Language :: Python :: 3.11
40
40
  Classifier: Programming Language :: Python :: 3.12
41
+ Classifier: Programming Language :: Python :: 3.13
41
42
  Requires-Python: >=3.9
42
43
  Description-Content-Type: text/markdown
43
44
  License-File: LICENSE
44
- Requires-Dist: galter-subjects-utils<2.0,>=0.4.2
45
+ Requires-Dist: galter-subjects-utils<2.0,>=0.7.0
45
46
  Provides-Extra: dev
46
47
  Requires-Dist: check-manifest>=0.49; extra == "dev"
47
48
  Requires-Dist: invenio-search[opensearch2]<3.0,>=2.1.0; extra == "dev"
48
49
  Requires-Dist: invoke<3.0,>=2.2; extra == "dev"
49
50
  Requires-Dist: pyyaml>=5.4.1; extra == "dev"
50
51
  Requires-Dist: pytest-invenio<3.0.0,>=2.1.1; extra == "dev"
52
+ Provides-Extra: dev-pre
53
+ Requires-Dist: check-manifest>=0.49; extra == "dev-pre"
54
+ Requires-Dist: invenio-search[opensearch2]<4.0.0,>=3.0.0; extra == "dev-pre"
55
+ Requires-Dist: invoke<3.0,>=2.2; extra == "dev-pre"
56
+ Requires-Dist: pyyaml>=5.4.1; extra == "dev-pre"
57
+ Requires-Dist: pytest-invenio<4.0.0,>=3.3.0; extra == "dev-pre"
58
+ Dynamic: license-file
51
59
 
52
60
  # invenio-subjects-mesh-lite
53
61
 
54
62
  *MeSH topical subject terms without qualifiers for InvenioRDM*
55
63
 
64
+ <a href="https://pypi.org/project/invenio-subjects-mesh-lite/">
65
+ <img src="https://img.shields.io/pypi/v/invenio-subjects-mesh-lite.svg">
66
+ </a>
67
+
56
68
  Install this extension to get Medical Subject Headings topics without qualifiers into your instance.
57
69
 
58
70
  If you are looking for a larger MeSH vocabulary with qualifiers, use
@@ -75,21 +87,40 @@ This will add it to your Pipfile.
75
87
 
76
88
  ## Versions
77
89
 
78
- This repository follows [calendar versioning](https://calver.org/) for year and month:
90
+ **From 2025.1.15.2 onwards**
79
91
 
80
- `2021.06.18` is both a valid semantic version and an indicator of the year-month corresponding to the loaded MeSH terms.
81
- `18` here is a patch number (not a day).
92
+ This package follows the following format for versions: `YYYY.mm.dd.patch` where
93
+
94
+ - `YYYY.mm.dd` is the date of retrieval of the MeSH terms with `mm` and `dd` NOT being 0-prefixed.
95
+ - `patch` is the patch number (0-indexed) so that multiple releases can be done on the same day (bug/security fixes) and non-subject related releases can be done as well.
96
+
97
+ This follows [calendar versioning](https://calver.org/) (for year, month, and day) and adds a patch number at the end. The package is typically updated on a quarterly basis. The following are illustrative (fictitious) examples of how to understand the versioning of this distribution package:
98
+
99
+ | Last MeSH update included | patch number | version of this project |
100
+ | ------------------------- | ------------ | ----------------------- |
101
+ | 2025-06-31 | 2 | 2025.6.31.2 |
102
+ | 2025-12-01 | 0 | 2025.12.1.0 |
103
+
104
+ **Prior to 2025.1.15.2**
105
+
106
+ This repository follows [calendar versioning](https://calver.org/) for year and month. It does a "best effort" attempt at tracking the MeSH updates in an *up-to-and-including* version date manner. The following are illustrative cases of how to understand the versioning of this distribution package:
107
+
108
+ | Last MeSH update included | version of this project | date of release of this project |
109
+ | ------------------------- | ----------------------- | ------------------------------- |
110
+ | 2024-01-31 | 2024.1.X | any time after 2024-01-31 |
111
+ | 2023-12-31 | 2023.12.X | any time after 2023-12-31 |
82
112
 
83
- So far the package is compatible with InvenioRDM 9.1+'s subjects "ABI". If there is a breaking change, a compatibility
84
- table will be provided to indicate version cross-compatibility.
113
+
114
+ `2021.06.18` is both a valid semantic version and an indicator of the year-month corresponding to the loaded terms.
115
+ `18` here is a patch number (not a day).
85
116
 
86
117
  ## Usage
87
118
 
88
- There are 2 types of users for this package. Instance administrators and package maintainers.
119
+ There are 2 types of users for this package. Instance operators and package maintainers.
89
120
 
90
- ### Instance administrators
121
+ ### Instance operators
91
122
 
92
- For instance administrators, after you have installed the extension as per the steps above, you will want to reload your instance's fixtures: `pipenv run invenio rdm-records fixtures`. This will install the new terms in your instance.
123
+ For instance operators, after you have installed the extension as per the steps above, you will want to reload your instance's fixtures: `pipenv run invenio rdm-records fixtures`. This will install the new terms in your instance.
93
124
 
94
125
  Alternatively, or if you want to update your already loaded subjects to a new listing (e.g. from one year's list to another), you can update your instance's MeSH subjects as per below. Updating subjects this way takes care of everything for you: the subjects themselves and the records/drafts using those subjects. **WARNING** This operation can _remove_ subjects.
95
126
 
@@ -127,6 +158,8 @@ Once you have it installed, you can run the following commands in the isolated v
127
158
  (venv) invenio galter_subjects mesh file -d /path/to/downloads/storage/ -y YEAR -f topic -o invenio_subjects_mesh_lite/vocabularies/subjects_mesh.csv
128
159
  ```
129
160
 
161
+ Sorting the resulting csv is a nice touch for humans to better parse the changes between versions.
162
+
130
163
  When you are happy with the list, bump the version in `pyproject.toml` and release it.
131
164
 
132
165
 
@@ -150,6 +183,17 @@ Run tests:
150
183
  pipenv run inv test
151
184
  ```
152
185
 
186
+ Test compatibility with the pre-release version of InvenioRDM (invenio-app-rdm):
187
+
188
+ ```bash
189
+ # Step 1 - install the pre-release dependencies
190
+ (venv) pip install --pre -e .[dev_pre]
191
+ # Step 2 - Run the pre-release tests
192
+ (venv) inv test
193
+ # if using uv run:
194
+ uv run --extra dev_pre --prerelease=allow inv test
195
+ ```
196
+
153
197
  Check manifest:
154
198
 
155
199
  ```bash
@@ -2,6 +2,10 @@
2
2
 
3
3
  *MeSH topical subject terms without qualifiers for InvenioRDM*
4
4
 
5
+ <a href="https://pypi.org/project/invenio-subjects-mesh-lite/">
6
+ <img src="https://img.shields.io/pypi/v/invenio-subjects-mesh-lite.svg">
7
+ </a>
8
+
5
9
  Install this extension to get Medical Subject Headings topics without qualifiers into your instance.
6
10
 
7
11
  If you are looking for a larger MeSH vocabulary with qualifiers, use
@@ -24,21 +28,40 @@ This will add it to your Pipfile.
24
28
 
25
29
  ## Versions
26
30
 
27
- This repository follows [calendar versioning](https://calver.org/) for year and month:
31
+ **From 2025.1.15.2 onwards**
28
32
 
29
- `2021.06.18` is both a valid semantic version and an indicator of the year-month corresponding to the loaded MeSH terms.
30
- `18` here is a patch number (not a day).
33
+ This package follows the following format for versions: `YYYY.mm.dd.patch` where
34
+
35
+ - `YYYY.mm.dd` is the date of retrieval of the MeSH terms with `mm` and `dd` NOT being 0-prefixed.
36
+ - `patch` is the patch number (0-indexed) so that multiple releases can be done on the same day (bug/security fixes) and non-subject related releases can be done as well.
37
+
38
+ This follows [calendar versioning](https://calver.org/) (for year, month, and day) and adds a patch number at the end. The package is typically updated on a quarterly basis. The following are illustrative (fictitious) examples of how to understand the versioning of this distribution package:
39
+
40
+ | Last MeSH update included | patch number | version of this project |
41
+ | ------------------------- | ------------ | ----------------------- |
42
+ | 2025-06-31 | 2 | 2025.6.31.2 |
43
+ | 2025-12-01 | 0 | 2025.12.1.0 |
44
+
45
+ **Prior to 2025.1.15.2**
46
+
47
+ This repository follows [calendar versioning](https://calver.org/) for year and month. It does a "best effort" attempt at tracking the MeSH updates in an *up-to-and-including* version date manner. The following are illustrative cases of how to understand the versioning of this distribution package:
48
+
49
+ | Last MeSH update included | version of this project | date of release of this project |
50
+ | ------------------------- | ----------------------- | ------------------------------- |
51
+ | 2024-01-31 | 2024.1.X | any time after 2024-01-31 |
52
+ | 2023-12-31 | 2023.12.X | any time after 2023-12-31 |
31
53
 
32
- So far the package is compatible with InvenioRDM 9.1+'s subjects "ABI". If there is a breaking change, a compatibility
33
- table will be provided to indicate version cross-compatibility.
54
+
55
+ `2021.06.18` is both a valid semantic version and an indicator of the year-month corresponding to the loaded terms.
56
+ `18` here is a patch number (not a day).
34
57
 
35
58
  ## Usage
36
59
 
37
- There are 2 types of users for this package. Instance administrators and package maintainers.
60
+ There are 2 types of users for this package. Instance operators and package maintainers.
38
61
 
39
- ### Instance administrators
62
+ ### Instance operators
40
63
 
41
- For instance administrators, after you have installed the extension as per the steps above, you will want to reload your instance's fixtures: `pipenv run invenio rdm-records fixtures`. This will install the new terms in your instance.
64
+ For instance operators, after you have installed the extension as per the steps above, you will want to reload your instance's fixtures: `pipenv run invenio rdm-records fixtures`. This will install the new terms in your instance.
42
65
 
43
66
  Alternatively, or if you want to update your already loaded subjects to a new listing (e.g. from one year's list to another), you can update your instance's MeSH subjects as per below. Updating subjects this way takes care of everything for you: the subjects themselves and the records/drafts using those subjects. **WARNING** This operation can _remove_ subjects.
44
67
 
@@ -76,6 +99,8 @@ Once you have it installed, you can run the following commands in the isolated v
76
99
  (venv) invenio galter_subjects mesh file -d /path/to/downloads/storage/ -y YEAR -f topic -o invenio_subjects_mesh_lite/vocabularies/subjects_mesh.csv
77
100
  ```
78
101
 
102
+ Sorting the resulting csv is a nice touch for humans to better parse the changes between versions.
103
+
79
104
  When you are happy with the list, bump the version in `pyproject.toml` and release it.
80
105
 
81
106
 
@@ -99,6 +124,17 @@ Run tests:
99
124
  pipenv run inv test
100
125
  ```
101
126
 
127
+ Test compatibility with the pre-release version of InvenioRDM (invenio-app-rdm):
128
+
129
+ ```bash
130
+ # Step 1 - install the pre-release dependencies
131
+ (venv) pip install --pre -e .[dev_pre]
132
+ # Step 2 - Run the pre-release tests
133
+ (venv) inv test
134
+ # if using uv run:
135
+ uv run --extra dev_pre --prerelease=allow inv test
136
+ ```
137
+
102
138
  Check manifest:
103
139
 
104
140
  ```bash