commonmeta-py 0.57__tar.gz → 0.59__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 (75) hide show
  1. {commonmeta_py-0.57 → commonmeta_py-0.59}/PKG-INFO +2 -2
  2. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/__init__.py +1 -1
  3. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/utils.py +13 -5
  4. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/inveniordm_writer.py +1 -2
  5. {commonmeta_py-0.57 → commonmeta_py-0.59}/pyproject.toml +2 -2
  6. {commonmeta_py-0.57 → commonmeta_py-0.59}/LICENSE +0 -0
  7. {commonmeta_py-0.57 → commonmeta_py-0.59}/README.md +0 -0
  8. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/api_utils.py +0 -0
  9. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/author_utils.py +0 -0
  10. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/base_utils.py +0 -0
  11. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/cli.py +0 -0
  12. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/constants.py +0 -0
  13. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/crossref_utils.py +0 -0
  14. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/date_utils.py +0 -0
  15. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/doi_utils.py +0 -0
  16. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/metadata.py +0 -0
  17. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/__init__.py +0 -0
  18. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/bibtex_reader.py +0 -0
  19. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/cff_reader.py +0 -0
  20. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/codemeta_reader.py +0 -0
  21. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/commonmeta_reader.py +0 -0
  22. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/crossref_reader.py +0 -0
  23. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/crossref_xml_reader.py +0 -0
  24. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/csl_reader.py +0 -0
  25. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/datacite_reader.py +0 -0
  26. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/datacite_xml_reader.py +0 -0
  27. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/inveniordm_reader.py +0 -0
  28. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/json_feed_reader.py +0 -0
  29. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/kbase_reader.py +0 -0
  30. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/ris_reader.py +0 -0
  31. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/readers/schema_org_reader.py +0 -0
  32. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/cff_v1.2.0.json +0 -0
  33. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/commonmeta_v0.12.json +0 -0
  34. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/commonmeta_v0.13.json +0 -0
  35. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/commonmeta_v0.14.json +0 -0
  36. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/commonmeta_v0.15.json +0 -0
  37. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/AccessIndicators.xsd +0 -0
  38. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +0 -0
  39. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +0 -0
  40. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/JATS-journalpublishing1-elements.xsd +0 -0
  41. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +0 -0
  42. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3.xsd +0 -0
  43. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/JATS-journalpublishing1.xsd +0 -0
  44. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/clinicaltrials.xsd +0 -0
  45. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/common5.3.1.xsd +0 -0
  46. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/crossref5.3.1.xsd +0 -0
  47. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/crossref_query_output3.0.xsd +0 -0
  48. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/fundref.xsd +0 -0
  49. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/module-ali.xsd +0 -0
  50. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref/relations.xsd +0 -0
  51. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/crossref-v0.2.json +0 -0
  52. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/csl-data.json +0 -0
  53. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/datacite-v4.5.json +0 -0
  54. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/datacite-v4.5pr.json +0 -0
  55. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/ietf-bcp-47.json +0 -0
  56. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/iso-8601.json +0 -0
  57. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/spdx/licenses.json +0 -0
  58. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/spdx-schema.json +0 -0
  59. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/styles/apa.csl +0 -0
  60. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/styles/chicago-author-date.csl +0 -0
  61. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/styles/harvard-cite-them-right.csl +0 -0
  62. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/styles/ieee.csl +0 -0
  63. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/styles/modern-language-association.csl +0 -0
  64. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/resources/styles/vancouver.csl +0 -0
  65. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/schema_utils.py +0 -0
  66. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/translators.py +0 -0
  67. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/__init__.py +0 -0
  68. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/bibtex_writer.py +0 -0
  69. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/citation_writer.py +0 -0
  70. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/commonmeta_writer.py +0 -0
  71. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/crossref_xml_writer.py +0 -0
  72. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/csl_writer.py +0 -0
  73. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/datacite_writer.py +0 -0
  74. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/ris_writer.py +0 -0
  75. {commonmeta_py-0.57 → commonmeta_py-0.59}/commonmeta/writers/schema_org_writer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: commonmeta-py
3
- Version: 0.57
3
+ Version: 0.59
4
4
  Summary: Library for conversions to/from the Commonmeta scholarly metadata format
5
5
  Home-page: https://python.commonmeta.org
6
6
  License: MIT
@@ -38,7 +38,7 @@ Requires-Dist: nbstripout (>=0.6,<0.7)
38
38
  Requires-Dist: nh3 (>=0.2.14,<0.3.0)
39
39
  Requires-Dist: orjson (>=3.9.14,<4.0.0)
40
40
  Requires-Dist: orjsonl (>=1.0.0,<2.0.0)
41
- Requires-Dist: pikepdf (>=8.14.0,<9.0.0)
41
+ Requires-Dist: pikepdf (>=8.14,<10.0)
42
42
  Requires-Dist: pycountry (>=23.12.11,<24.0.0)
43
43
  Requires-Dist: pydash (>=7.0,<8.0)
44
44
  Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
@@ -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.57"
13
+ __version__ = "0.59"
14
14
  __author__ = "Martin Fenner"
15
15
  __license__ = "MIT"
16
16
 
@@ -1092,16 +1092,24 @@ def name_to_fos(name: str) -> Optional[dict]:
1092
1092
  return {"subject": subject}
1093
1093
 
1094
1094
 
1095
- def encode_doi(prefix):
1095
+ def encode_doi(prefix, number: Optional[int]= None, checksum: bool = True) -> str:
1096
1096
  """Generate a DOI using the DOI prefix and a random base32 suffix"""
1097
- suffix = base32.generate(length=10, split_every=5, checksum=True)
1097
+ if isinstance(number, int):
1098
+ suffix = base32.encode(number, split_every=5, checksum=checksum)
1099
+ else:
1100
+ suffix = base32.generate(length=10, split_every=5, checksum=True)
1098
1101
  return f"https://doi.org/{prefix}/{suffix}"
1099
1102
 
1100
1103
 
1101
- def decode_doi(doi: str) -> int:
1104
+ def decode_doi(doi: str, checksum: bool = True) -> int:
1102
1105
  """Decode a DOI to a number"""
1103
- suffix = doi.split("/", maxsplit=5)[-1]
1104
- return base32.decode(suffix)
1106
+ try:
1107
+ suffix = doi.split("/", maxsplit=5)[-1]
1108
+ if checksum:
1109
+ return base32.decode(suffix, checksum=True)
1110
+ return base32.decode(suffix)
1111
+ except ValueError:
1112
+ return 0
1105
1113
 
1106
1114
 
1107
1115
  def from_curie(id: Optional[str]) -> Optional[str]:
@@ -38,7 +38,7 @@ def write_inveniordm(metadata):
38
38
  ),
39
39
  }
40
40
  for i in wrap(metadata.identifiers)
41
- if i.get("identifier", None) != metadata.id
41
+ if i.get("identifierType", None) != "DOI"
42
42
  ]
43
43
  identifiers.append(
44
44
  {
@@ -250,7 +250,6 @@ def to_inveniordm_related_identifier(relation: dict) -> dict:
250
250
 
251
251
  def to_inveniordm_reference(reference: dict) -> dict:
252
252
  """Convert reference to inveniordm reference"""
253
- print(reference)
254
253
  if normalize_doi(reference.get("id", None)):
255
254
  identifier = doi_from_url(reference.get("id", None))
256
255
  scheme = "doi"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name="commonmeta-py"
3
- version="0.57"
3
+ version="0.59"
4
4
  repository = "https://github.com/front-matter/commonmeta-py"
5
5
  homepage = "https://python.commonmeta.org"
6
6
  documentation = "https://python.commonmeta.org"
@@ -48,7 +48,7 @@ asyncclick = "^8.1.7.1"
48
48
  anyio = "^4.2.0"
49
49
  orjson = "^3.9.14"
50
50
  orjsonl = "^1.0.0"
51
- pikepdf = "^8.14.0"
51
+ pikepdf = ">=8.14,<10.0"
52
52
  edtf = "^5.0.0"
53
53
 
54
54
  [tool.poetry.group.docs]
File without changes
File without changes