invenio-subjects-mesh-lite 2023.1.4__py3-none-any.whl → 2025.1.15__py3-none-any.whl

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.
@@ -2,6 +2,6 @@ subjects:
2
2
  pid-type: sub
3
3
  schemes:
4
4
  - id: MeSH
5
- data-file: subjects_mesh.jsonl
5
+ data-file: subjects_mesh.csv
6
6
  name: Medical Subject Headings
7
7
  uri: "https://www.nlm.nih.gov/mesh/meshhome.html"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: invenio-subjects-mesh-lite
3
- Version: 2023.1.4
3
+ Version: 2025.1.15
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
@@ -35,28 +35,28 @@ Classifier: Programming Language :: Python
35
35
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
36
36
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
37
37
  Classifier: Programming Language :: Python :: 3
38
- Classifier: Programming Language :: Python :: 3.8
39
38
  Classifier: Programming Language :: Python :: 3.9
40
- Classifier: Programming Language :: Python :: 3.10
41
39
  Classifier: Programming Language :: Python :: 3.11
42
- Requires-Python: >=3.8
40
+ Classifier: Programming Language :: Python :: 3.12
41
+ Requires-Python: >=3.9
43
42
  Description-Content-Type: text/markdown
44
43
  License-File: LICENSE
44
+ Requires-Dist: galter-subjects-utils<2.0,>=0.4.2
45
45
  Provides-Extra: dev
46
- Requires-Dist: check-manifest >=0.49 ; extra == 'dev'
47
- Requires-Dist: invoke <3.0,>=2.2 ; extra == 'dev'
48
- Requires-Dist: galter-subjects-utils <2.0,>=0.1.0 ; extra == 'dev'
49
- Requires-Dist: pyyaml >=5.4.1 ; extra == 'dev'
50
- Requires-Dist: pytest >=7.2.0 ; extra == 'dev'
51
- Requires-Dist: pytest-cov >=3.0.0 ; extra == 'dev'
52
- Requires-Dist: pytest-isort >=3.0.0 ; extra == 'dev'
53
- Requires-Dist: pytest-pycodestyle >=2.2.0 ; extra == 'dev'
54
- Requires-Dist: pytest-pydocstyle >=2.2.3 ; extra == 'dev'
46
+ Requires-Dist: check-manifest>=0.49; extra == "dev"
47
+ Requires-Dist: invenio-search[opensearch2]<3.0,>=2.1.0; extra == "dev"
48
+ Requires-Dist: invoke<3.0,>=2.2; extra == "dev"
49
+ Requires-Dist: pyyaml>=5.4.1; extra == "dev"
50
+ Requires-Dist: pytest-invenio<3.0.0,>=2.1.1; extra == "dev"
55
51
 
56
52
  # invenio-subjects-mesh-lite
57
53
 
58
54
  *MeSH topical subject terms without qualifiers for InvenioRDM*
59
55
 
56
+ <a href="https://pypi.org/project/invenio-subjects-mesh-lite/">
57
+ <img src="https://img.shields.io/pypi/v/invenio-subjects-mesh-lite.svg">
58
+ </a>
59
+
60
60
  Install this extension to get Medical Subject Headings topics without qualifiers into your instance.
61
61
 
62
62
  If you are looking for a larger MeSH vocabulary with qualifiers, use
@@ -89,44 +89,52 @@ table will be provided to indicate version cross-compatibility.
89
89
 
90
90
  ## Usage
91
91
 
92
- There are 2 types of users for this package. Instance administrators and package maintainers.
92
+ There are 2 types of users for this package. Instance operators and package maintainers.
93
93
 
94
- ### Instance administrators
94
+ ### Instance operators
95
95
 
96
- 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.
96
+ 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.
97
97
 
98
- Updating existing terms currently requires manual replacement.
98
+ 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.
99
99
 
100
- ### Maintainers
100
+ ```bash
101
+ # In your instance's project
102
+ # Download up-to-date listings
103
+ pipenv run invenio galter_subjects mesh download -d /path/to/downloads/storage/ -y YEAR
104
+ # Generate file containg deltas to transition your instance to the downloaded listing
105
+ pipenv run invenio galter_subjects mesh deltas -d /path/to/downloads/storage/ -y YEAR -f topic -o deltas_mesh.csv
106
+ # Update your instance - *this operation will modify your instance*
107
+ pipenv run invenio galter_subjects update deltas_mesh.csv
108
+ ```
101
109
 
102
- When a new list of MeSH term comes out, this package should be updated. Here we show how.
110
+ Look at the help text for these commands to see additional options that can be passed.
111
+ In particular, options for `galter_subjects update` allow you to store renamed, replaced or removed subjects on records according to a template of your choice.
103
112
 
104
- 0. Install this package locally with the `dev` extra:
105
113
 
106
- ```bash
107
- pipenv run pip install -e .[dev]
108
- ```
114
+ ### Maintainers
109
115
 
110
- 1. Use the installed `galter-subjects-utils` tool to get the new list:
116
+ When a new list of MeSH term comes out, this package should be updated. Here we show how.
111
117
 
112
- ```bash
113
- pipenv run galter-subjects-utils mesh --filter topic --output-file invenio_subjects_mesh_lite/vocabularies/subjects_mesh.jsonl
114
- ```
118
+ **Pre-requisite/Context**
115
119
 
116
- This will
120
+ [Install the distribution package for development](#development) before you do anything.
117
121
 
118
- 1. Download the new list(s)
119
- 2. Read it filtering for topics
120
- 3. Convert terms to InvenioRDM subjects format
121
- 4. Write those to the specified file
122
+ **Commands**
122
123
 
123
- 2. Check the manifest (it should typically be all good)
124
+ Once you have it installed, you can run the following commands in the isolated virtualenv:
124
125
 
125
126
  ```bash
126
- pipenv run inv check-manifest
127
+ # In this project
128
+ # Download up-to-date listings
129
+ (venv) invenio galter_subjects mesh download -d /path/to/downloads/storage/ -y YEAR
130
+ # Generate file containing initial listing
131
+ (venv) invenio galter_subjects mesh file -d /path/to/downloads/storage/ -y YEAR -f topic -o invenio_subjects_mesh_lite/vocabularies/subjects_mesh.csv
127
132
  ```
128
133
 
129
- 3. When you are happy with the list, bump the version in `pyproject.toml` and release it.
134
+ Sorting the resulting csv is a nice touch for humans to better parse the changes between versions.
135
+
136
+ When you are happy with the list, bump the version in `pyproject.toml` and release it.
137
+
130
138
 
131
139
  ## Development
132
140
 
@@ -0,0 +1,10 @@
1
+ invenio_subjects_mesh_lite/__init__.py,sha256=OMjv34qKJaCfpWkviS2Flm5-x102etEeCDeZxwfg-fk,279
2
+ invenio_subjects_mesh_lite/vocabularies/__init__.py,sha256=Jan6XCvJwfPkOh2K9HsMvKN2aL3uNbfYaGyWcesfwHI,251
3
+ invenio_subjects_mesh_lite/vocabularies/subjects_mesh.csv,sha256=H_1_WFU4_AHFEGOyJCB4dgqxaIex-hcw-U9PIhPPqZw,1854040
4
+ invenio_subjects_mesh_lite/vocabularies/vocabularies.yaml,sha256=GZNfEe-5B10X0xcJxR780orv7Z7H0mu5lWUxug8agTg,180
5
+ invenio_subjects_mesh_lite-2025.1.15.dist-info/LICENSE,sha256=pvn4sHeXv1itkPsbMsOgqg14rm28oYDUbLm8UNiCYbE,1086
6
+ invenio_subjects_mesh_lite-2025.1.15.dist-info/METADATA,sha256=4SQcVXvUrPIGPs5X98dLx6lLsbX98vrXlbMHlsyoL0E,6763
7
+ invenio_subjects_mesh_lite-2025.1.15.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
8
+ invenio_subjects_mesh_lite-2025.1.15.dist-info/entry_points.txt,sha256=e7moK0iCK4p9usRWiwQIHW_zjN3P9d5fxtx-WZW7-a0,100
9
+ invenio_subjects_mesh_lite-2025.1.15.dist-info/top_level.txt,sha256=V6HkvobY26xog1stvPmVbhG5Xh3fclE4LtcTajmeu3c,27
10
+ invenio_subjects_mesh_lite-2025.1.15.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.3)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5