commonmeta-py 0.70__tar.gz → 0.72__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 (77) hide show
  1. commonmeta_py-0.72/.gitignore +161 -0
  2. {commonmeta_py-0.70 → commonmeta_py-0.72}/PKG-INFO +46 -54
  3. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/__init__.py +1 -1
  4. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/json_feed_reader.py +0 -1
  5. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/inveniordm_writer.py +1 -1
  6. commonmeta_py-0.72/pyproject.toml +122 -0
  7. commonmeta_py-0.70/pyproject.toml +0 -102
  8. {commonmeta_py-0.70 → commonmeta_py-0.72}/LICENSE +0 -0
  9. {commonmeta_py-0.70 → commonmeta_py-0.72}/README.md +0 -0
  10. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/api_utils.py +0 -0
  11. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/author_utils.py +0 -0
  12. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/base_utils.py +0 -0
  13. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/cli.py +0 -0
  14. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/constants.py +0 -0
  15. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/crossref_utils.py +0 -0
  16. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/date_utils.py +0 -0
  17. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/doi_utils.py +0 -0
  18. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/metadata.py +0 -0
  19. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/__init__.py +0 -0
  20. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/bibtex_reader.py +0 -0
  21. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/cff_reader.py +0 -0
  22. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/codemeta_reader.py +0 -0
  23. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/commonmeta_reader.py +0 -0
  24. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/crossref_reader.py +0 -0
  25. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/crossref_xml_reader.py +0 -0
  26. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/csl_reader.py +0 -0
  27. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/datacite_reader.py +0 -0
  28. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/datacite_xml_reader.py +0 -0
  29. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/inveniordm_reader.py +0 -0
  30. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/kbase_reader.py +0 -0
  31. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/ris_reader.py +0 -0
  32. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/readers/schema_org_reader.py +0 -0
  33. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/cff_v1.2.0.json +0 -0
  34. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/commonmeta_v0.12.json +0 -0
  35. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/commonmeta_v0.13.json +0 -0
  36. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/commonmeta_v0.14.json +0 -0
  37. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/commonmeta_v0.15.json +0 -0
  38. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/AccessIndicators.xsd +0 -0
  39. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +0 -0
  40. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +0 -0
  41. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/JATS-journalpublishing1-elements.xsd +0 -0
  42. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +0 -0
  43. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3.xsd +0 -0
  44. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/JATS-journalpublishing1.xsd +0 -0
  45. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/clinicaltrials.xsd +0 -0
  46. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/common5.3.1.xsd +0 -0
  47. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/crossref5.3.1.xsd +0 -0
  48. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/crossref_query_output3.0.xsd +0 -0
  49. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/fundref.xsd +0 -0
  50. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/module-ali.xsd +0 -0
  51. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref/relations.xsd +0 -0
  52. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/crossref-v0.2.json +0 -0
  53. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/csl-data.json +0 -0
  54. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/datacite-v4.5.json +0 -0
  55. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/datacite-v4.5pr.json +0 -0
  56. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/ietf-bcp-47.json +0 -0
  57. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/iso-8601.json +0 -0
  58. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/spdx/licenses.json +0 -0
  59. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/spdx-schema.json +0 -0
  60. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/styles/apa.csl +0 -0
  61. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/styles/chicago-author-date.csl +0 -0
  62. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/styles/harvard-cite-them-right.csl +0 -0
  63. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/styles/ieee.csl +0 -0
  64. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/styles/modern-language-association.csl +0 -0
  65. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/resources/styles/vancouver.csl +0 -0
  66. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/schema_utils.py +0 -0
  67. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/translators.py +0 -0
  68. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/utils.py +0 -0
  69. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/__init__.py +0 -0
  70. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/bibtex_writer.py +0 -0
  71. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/citation_writer.py +0 -0
  72. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/commonmeta_writer.py +0 -0
  73. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/crossref_xml_writer.py +0 -0
  74. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/csl_writer.py +0 -0
  75. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/datacite_writer.py +0 -0
  76. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/ris_writer.py +0 -0
  77. {commonmeta_py-0.70 → commonmeta_py-0.72}/commonmeta/writers/schema_org_writer.py +0 -0
@@ -0,0 +1,161 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+ coverage-reports/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build/
74
+
75
+ # PyBuilder
76
+ .pybuilder/
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ # For a library or package, you might want to ignore these files since the code is
88
+ # intended to run in multiple environments; otherwise, check them in:
89
+ # .python-version
90
+
91
+ # pipenv
92
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
94
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
95
+ # install all needed dependencies.
96
+ #Pipfile.lock
97
+
98
+ # poetry
99
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
100
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
101
+ # commonly ignored for libraries.
102
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
103
+ #poetry.lock
104
+
105
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
106
+ __pypackages__/
107
+
108
+ # Celery stuff
109
+ celerybeat-schedule
110
+ celerybeat.pid
111
+
112
+ # SageMath parsed files
113
+ *.sage.py
114
+
115
+ # Environments
116
+ .env
117
+ .venv
118
+ env/
119
+ venv/
120
+ ENV/
121
+ env.bak/
122
+ venv.bak/
123
+
124
+ # Spyder project settings
125
+ .spyderproject
126
+ .spyproject
127
+
128
+ # Rope project settings
129
+ .ropeproject
130
+
131
+ # mkdocs documentation
132
+ /site
133
+
134
+ # mypy
135
+ .mypy_cache/
136
+ .dmypy.json
137
+ dmypy.json
138
+
139
+ # Pyre type checker
140
+ .pyre/
141
+
142
+ # pytype static type analyzer
143
+ .pytype/
144
+
145
+ # Cython debug symbols
146
+ cython_debug/
147
+
148
+ # PyCharm
149
+ # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
150
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
151
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
152
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
153
+ #.idea/
154
+
155
+ .DS_Store
156
+ .vscode/
157
+
158
+ /.quarto/
159
+ /tests/fixtures/crossref-list_10000.json
160
+ posts.json
161
+ downloads/
@@ -1,59 +1,52 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: commonmeta-py
3
- Version: 0.70
3
+ Version: 0.72
4
4
  Summary: Library for conversions to/from the Commonmeta scholarly metadata format
5
- Home-page: https://python.commonmeta.org
6
- License: MIT
7
- Keywords: science,metadata,commonmeta,bibtex,csl,crossref,datacite
8
- Author: Martin Fenner
9
- Author-email: martin@front-matter.io
10
- Requires-Python: >=3.9,<4.0
11
- Classifier: License :: OSI Approved :: MIT License
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Programming Language :: Python :: 3.13
18
- Requires-Dist: PyYAML (>=6.0,<7.0)
19
- Requires-Dist: anyio (>=4.2.0,<5.0.0)
20
- Requires-Dist: asyncclick (>=8.1.7.1,<9.0.0.0)
21
- Requires-Dist: asyncio (>=3.4.3,<4.0.0)
22
- Requires-Dist: base32_lib (>=1.0,<2.0)
23
- Requires-Dist: beautifulsoup4 (>=4.11,<5.0)
24
- Requires-Dist: bibtexparser (>=1.4,<2.0)
25
- Requires-Dist: citeproc-py (>=0.6,<0.7)
26
- Requires-Dist: citeproc-py-styles (>0.1)
27
- Requires-Dist: click (>=8.1.7,<9.0.0)
28
- Requires-Dist: datacite (>=1.1,<2.0)
29
- Requires-Dist: dateparser (>=1.1.7,<2.0.0)
30
- Requires-Dist: docutils (>=0.19,<0.20)
31
- Requires-Dist: edtf (>=5.0.0,<6.0.0)
32
- Requires-Dist: furl (>=2.1.3,<3.0.0)
33
- Requires-Dist: httpx (>=0.27,<0.28)
34
- Requires-Dist: jsonschema (>=4.21,<5.0)
35
- Requires-Dist: lxml (>=4.8)
36
- Requires-Dist: nameparser (>=1.1.2,<2.0.0)
37
- Requires-Dist: nbstripout (>=0.6,<0.7)
38
- Requires-Dist: nh3 (>=0.2.14,<0.3.0)
39
- Requires-Dist: orjson (>=3.9.14,<4.0.0)
40
- Requires-Dist: orjsonl (>=1.0.0,<2.0.0)
41
- Requires-Dist: pikepdf (>=8.14,<10.0)
42
- Requires-Dist: pycountry (>=23.12.11,<24.0.0)
43
- Requires-Dist: pydash (>=7.0,<8.0)
44
- Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
45
- Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
46
- Requires-Dist: setuptools (>=70.0,<71.0)
47
- Requires-Dist: simplejson (>=3.18,<4.0)
48
- Requires-Dist: sphinx-autodoc-typehints (>=1.19,<2.0)
49
- Requires-Dist: sphinxcontrib-issuetracker (>=0.11,<0.12)
50
- Requires-Dist: types-PyYAML (>=6.0,<7.0)
51
- Requires-Dist: types-beautifulsoup4 (>=4.11,<5.0)
52
- Requires-Dist: types-dateparser (>=1.1,<2.0)
53
- Requires-Dist: types-xmltodict (>=0.13,<0.14)
54
- Requires-Dist: xmltodict (>=0.12,<0.13)
55
- Project-URL: Documentation, https://python.commonmeta.org
5
+ Project-URL: Homepage, https://python.commonmeta.org
56
6
  Project-URL: Repository, https://github.com/front-matter/commonmeta-py
7
+ Project-URL: Documentation, https://python.commonmeta.org
8
+ Author-email: Martin Fenner <martin@front-matter.io>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: bibtex,commonmeta,crossref,csl,datacite,metadata,science
12
+ Requires-Python: <4.0,>=3.9
13
+ Requires-Dist: anyio<5,>=4.2.0
14
+ Requires-Dist: asyncclick<9,>=8.1.7.1
15
+ Requires-Dist: asyncio<4,>=3.4.3
16
+ Requires-Dist: base32-lib~=1.0
17
+ Requires-Dist: beautifulsoup4~=4.11
18
+ Requires-Dist: bibtexparser~=1.4
19
+ Requires-Dist: citeproc-py-styles>0.1
20
+ Requires-Dist: citeproc-py<0.7,>=0.6
21
+ Requires-Dist: click<9,>=8.1.7
22
+ Requires-Dist: datacite~=1.1
23
+ Requires-Dist: dateparser<2,>=1.1.7
24
+ Requires-Dist: docutils<0.20,>=0.19
25
+ Requires-Dist: edtf<6,>=5.0.0
26
+ Requires-Dist: furl<3,>=2.1.3
27
+ Requires-Dist: httpx<0.29,>=0.28
28
+ Requires-Dist: jsonschema~=4.21
29
+ Requires-Dist: lxml>=4.8
30
+ Requires-Dist: nameparser<2,>=1.1.2
31
+ Requires-Dist: nbstripout<0.7,>=0.6
32
+ Requires-Dist: nh3<0.3,>=0.2.14
33
+ Requires-Dist: orjson<4,>=3.9.14
34
+ Requires-Dist: orjsonl<2,>=1.0.0
35
+ Requires-Dist: pikepdf<10.0,>=8.14
36
+ Requires-Dist: pycountry<24,>=23.12.11
37
+ Requires-Dist: pydash~=7.0
38
+ Requires-Dist: pyjwt<3,>=2.8.0
39
+ Requires-Dist: python-dateutil<3,>=2.8.2
40
+ Requires-Dist: pyyaml~=6.0
41
+ Requires-Dist: setuptools~=70.0
42
+ Requires-Dist: simplejson~=3.18
43
+ Requires-Dist: sphinx-autodoc-typehints~=1.19
44
+ Requires-Dist: sphinxcontrib-issuetracker<0.12,>=0.11
45
+ Requires-Dist: types-beautifulsoup4~=4.11
46
+ Requires-Dist: types-dateparser~=1.1
47
+ Requires-Dist: types-pyyaml~=6.0
48
+ Requires-Dist: types-xmltodict<0.14,>=0.13
49
+ Requires-Dist: xmltodict<0.15,>=0.12
57
50
  Description-Content-Type: text/markdown
58
51
 
59
52
  [![DOI](https://zenodo.org/badge/570526578.svg)](https://zenodo.org/doi/10.5281/zenodo.8340374)
@@ -117,4 +110,3 @@ Documentation (work in progress) for using the library is available at the [comm
117
110
  Please note that this project is released with a [Contributor Code of Conduct](https://github.com/front-matter/commonmeta-py/blob/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
118
111
 
119
112
  License: [MIT](https://github.com/front-matter/commonmeta-py/blob/main/LICENSE)
120
-
@@ -10,7 +10,7 @@ commonmeta-py is a Python library to convert scholarly metadata
10
10
  """
11
11
 
12
12
  __title__ = "commonmeta-py"
13
- __version__ = "0.70"
13
+ __version__ = "0.72"
14
14
  __author__ = "Martin Fenner"
15
15
  __license__ = "MIT"
16
16
 
@@ -12,7 +12,6 @@ from ..utils import (
12
12
  wrap,
13
13
  dict_to_spdx,
14
14
  name_to_fos,
15
- validate_url,
16
15
  validate_ror,
17
16
  issn_as_url,
18
17
  )
@@ -4,7 +4,7 @@ import orjson as json
4
4
  from typing import Optional
5
5
 
6
6
  from ..base_utils import compact, wrap, parse_attributes, presence
7
- from ..date_utils import get_iso8601_date, validate_edtf
7
+ from ..date_utils import get_iso8601_date
8
8
  from ..doi_utils import doi_from_url, normalize_doi
9
9
  from ..constants import (
10
10
  CM_TO_INVENIORDM_TRANSLATIONS,
@@ -0,0 +1,122 @@
1
+ [project]
2
+ name = "commonmeta-py"
3
+ version = "0.72"
4
+ description = "Library for conversions to/from the Commonmeta scholarly metadata format"
5
+ authors = [{ name = "Martin Fenner", email = "martin@front-matter.io" }]
6
+ requires-python = ">=3.9,<4.0"
7
+ readme = "README.md"
8
+ license = "MIT"
9
+ keywords = [
10
+ "science",
11
+ "metadata",
12
+ "commonmeta",
13
+ "bibtex",
14
+ "csl",
15
+ "crossref",
16
+ "datacite",
17
+ ]
18
+ dependencies = [
19
+ "docutils>=0.19,<0.20",
20
+ "setuptools~=70.0",
21
+ "sphinxcontrib-issuetracker>=0.11,<0.12",
22
+ "sphinx-autodoc-typehints~=1.19",
23
+ "httpx>=0.28,<0.29",
24
+ "dateparser>=1.1.7,<2",
25
+ "types-dateparser~=1.1",
26
+ "PyYAML~=6.0",
27
+ "types-PyYAML~=6.0",
28
+ "pydash~=7.0",
29
+ "beautifulsoup4~=4.11",
30
+ "types-beautifulsoup4~=4.11",
31
+ "simplejson~=3.18",
32
+ "bibtexparser~=1.4",
33
+ "citeproc-py-styles>0.1",
34
+ "citeproc-py>=0.6,<0.7",
35
+ "jsonschema~=4.21",
36
+ "base32_lib~=1.0",
37
+ "nbstripout>=0.6,<0.7",
38
+ "datacite~=1.1",
39
+ "xmltodict>=0.12,<0.15",
40
+ "types-xmltodict>=0.13,<0.14",
41
+ "nameparser>=1.1.2,<2",
42
+ "pycountry>=23.12.11,<24",
43
+ "click>=8.1.7,<9",
44
+ "furl>=2.1.3,<3",
45
+ "lxml>=4.8",
46
+ "python-dateutil>=2.8.2,<3",
47
+ "nh3>=0.2.14,<0.3",
48
+ "pyjwt>=2.8.0,<3",
49
+ "asyncio>=3.4.3,<4",
50
+ "asyncclick>=8.1.7.1,<9",
51
+ "anyio>=4.2.0,<5",
52
+ "orjson>=3.9.14,<4",
53
+ "orjsonl>=1.0.0,<2",
54
+ "pikepdf>=8.14,<10.0",
55
+ "edtf>=5.0.0,<6",
56
+ ]
57
+
58
+ [project.urls]
59
+ Homepage = "https://python.commonmeta.org"
60
+ Repository = "https://github.com/front-matter/commonmeta-py"
61
+ Documentation = "https://python.commonmeta.org"
62
+
63
+ [project.scripts]
64
+ commonmeta = "commonmeta.cli:cli"
65
+
66
+ [dependency-groups]
67
+ docs = [
68
+ "quartodoc>=0.7.1,<0.8",
69
+ "jupyterlab>=4.0.9,<5",
70
+ "jupyterlab-quarto>=0.2.8,<0.3",
71
+ ]
72
+ dev = [
73
+ "coverage",
74
+ "ruff>=0.9.3,<1",
75
+ "pytest~=8.3",
76
+ "pytest-cov>=4.1.0,<5",
77
+ "pytest-recording>=0.13.1,<0.14",
78
+ "vcrpy>=6.02",
79
+ ]
80
+
81
+ [tool.uv]
82
+ default-groups = [
83
+ "docs",
84
+ "dev",
85
+ ]
86
+
87
+ [tool.hatch.build.targets.sdist]
88
+ include = ["commonmeta"]
89
+
90
+ [tool.hatch.build.targets.wheel]
91
+ include = ["commonmeta"]
92
+
93
+ [build-system]
94
+ requires = ["hatchling"]
95
+ build-backend = "hatchling.build"
96
+
97
+ [tool.ruff]
98
+ line-length = 88
99
+ select = [
100
+ "F401",
101
+ "F403",
102
+ ]
103
+
104
+ [tool.tox]
105
+ legacy_tox_ini = """
106
+ [tox]
107
+ min_version = 4.0
108
+ env_list =
109
+ py39
110
+ py310
111
+ py311
112
+
113
+ [testenv]
114
+ deps =
115
+ pytest
116
+ pytest-cov
117
+ commands = pytest --cov=commonmeta --cov-report=xml
118
+
119
+ [coverage:run]
120
+ relative_files = True
121
+ branch = True
122
+ """
@@ -1,102 +0,0 @@
1
- [tool.poetry]
2
- name="commonmeta-py"
3
- version="0.70"
4
- repository = "https://github.com/front-matter/commonmeta-py"
5
- homepage = "https://python.commonmeta.org"
6
- documentation = "https://python.commonmeta.org"
7
- description="Library for conversions to/from the Commonmeta scholarly metadata format"
8
- keywords = ["science", "metadata", "commonmeta", "bibtex", "csl", "crossref", "datacite"]
9
- authors=["Martin Fenner <martin@front-matter.io>"]
10
- readme = "README.md"
11
- license = "MIT"
12
- packages = [{include = "commonmeta"}]
13
-
14
- [tool.poetry.dependencies]
15
- python = ">=3.9,<4.0"
16
- docutils = "^0.19"
17
- setuptools = "^70.0"
18
- sphinxcontrib-issuetracker = "^0.11"
19
- sphinx-autodoc-typehints = "^1.19"
20
- httpx = "^0.27"
21
- dateparser = "^1.1.7"
22
- types-dateparser = "^1.1"
23
- PyYAML = "^6.0"
24
- types-PyYAML = "^6.0"
25
- pydash = "^7.0"
26
- beautifulsoup4 = "^4.11"
27
- types-beautifulsoup4 = "^4.11"
28
- simplejson = "^3.18"
29
- bibtexparser = "^1.4"
30
- citeproc-py-styles = ">0.1"
31
- citeproc-py = "^0.6"
32
- jsonschema = "^4.21"
33
- base32_lib = "^1.0"
34
- nbstripout = "^0.6"
35
- datacite = "^1.1"
36
- xmltodict = "^0.12"
37
- types-xmltodict = "^0.13"
38
- nameparser = "^1.1.2"
39
- pycountry = "^23.12.11"
40
- click = "^8.1.7"
41
- furl = "^2.1.3"
42
- lxml = ">=4.8"
43
- python-dateutil = "^2.8.2"
44
- nh3 = "^0.2.14"
45
- pyjwt = "^2.8.0"
46
- asyncio = "^3.4.3"
47
- asyncclick = "^8.1.7.1"
48
- anyio = "^4.2.0"
49
- orjson = "^3.9.14"
50
- orjsonl = "^1.0.0"
51
- pikepdf = ">=8.14,<10.0"
52
- edtf = "^5.0.0"
53
-
54
- [tool.poetry.group.docs]
55
- optional = true
56
-
57
- [tool.poetry.group.docs.dependencies]
58
- quartodoc = "^0.7.1"
59
- jupyterlab = "^4.0.9"
60
- jupyterlab-quarto = "^0.2.8"
61
-
62
- [tool.poetry.scripts]
63
- commonmeta = "commonmeta.cli:cli"
64
-
65
- [tool.poetry.group.dev.dependencies]
66
- coverage = "*"
67
- ruff = "^0.3.0"
68
- pytest = "^8.3"
69
- pytest-cov = "^4.1.0"
70
- pytest-recording = "^0.13.1"
71
- vcrpy = ">=5.1.0"
72
-
73
- [build-system]
74
- requires = ["poetry-core"]
75
- build-backend = "poetry.core.masonry.api"
76
-
77
- [tool.ruff]
78
- line-length = 88
79
- select = [
80
- "F401",
81
- "F403",
82
- ]
83
-
84
- [tool.tox]
85
- legacy_tox_ini = """
86
- [tox]
87
- min_version = 4.0
88
- env_list =
89
- py39
90
- py310
91
- py311
92
-
93
- [testenv]
94
- deps =
95
- pytest
96
- pytest-cov
97
- commands = pytest --cov=commonmeta --cov-report=xml
98
-
99
- [coverage:run]
100
- relative_files = True
101
- branch = True
102
- """
File without changes
File without changes