commonmeta-py 0.23__py3-none-any.whl → 0.24__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.
Files changed (76) hide show
  1. commonmeta/__init__.py +96 -0
  2. commonmeta/api_utils.py +77 -0
  3. commonmeta/author_utils.py +260 -0
  4. commonmeta/base_utils.py +121 -0
  5. commonmeta/cli.py +200 -0
  6. commonmeta/constants.py +587 -0
  7. commonmeta/crossref_utils.py +575 -0
  8. commonmeta/date_utils.py +193 -0
  9. commonmeta/doi_utils.py +273 -0
  10. commonmeta/metadata.py +320 -0
  11. commonmeta/readers/__init__.py +1 -0
  12. commonmeta/readers/cff_reader.py +199 -0
  13. commonmeta/readers/codemeta_reader.py +112 -0
  14. commonmeta/readers/commonmeta_reader.py +13 -0
  15. commonmeta/readers/crossref_reader.py +409 -0
  16. commonmeta/readers/crossref_xml_reader.py +505 -0
  17. commonmeta/readers/csl_reader.py +98 -0
  18. commonmeta/readers/datacite_reader.py +390 -0
  19. commonmeta/readers/datacite_xml_reader.py +359 -0
  20. commonmeta/readers/inveniordm_reader.py +218 -0
  21. commonmeta/readers/json_feed_reader.py +420 -0
  22. commonmeta/readers/kbase_reader.py +205 -0
  23. commonmeta/readers/ris_reader.py +103 -0
  24. commonmeta/readers/schema_org_reader.py +506 -0
  25. commonmeta/resources/cff_v1.2.0.json +1827 -0
  26. commonmeta/resources/commonmeta_v0.12.json +601 -0
  27. commonmeta/resources/commonmeta_v0.13.json +559 -0
  28. commonmeta/resources/commonmeta_v0.14.json +573 -0
  29. commonmeta/resources/crossref/AccessIndicators.xsd +47 -0
  30. commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +10130 -0
  31. commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +48 -0
  32. commonmeta/resources/crossref/JATS-journalpublishing1-elements.xsd +8705 -0
  33. commonmeta/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +8608 -0
  34. commonmeta/resources/crossref/JATS-journalpublishing1-mathml3.xsd +49 -0
  35. commonmeta/resources/crossref/JATS-journalpublishing1.xsd +6176 -0
  36. commonmeta/resources/crossref/clinicaltrials.xsd +61 -0
  37. commonmeta/resources/crossref/common5.3.1.xsd +1538 -0
  38. commonmeta/resources/crossref/crossref5.3.1.xsd +1949 -0
  39. commonmeta/resources/crossref/crossref_query_output3.0.xsd +1097 -0
  40. commonmeta/resources/crossref/fundref.xsd +49 -0
  41. commonmeta/resources/crossref/module-ali.xsd +39 -0
  42. commonmeta/resources/crossref/relations.xsd +444 -0
  43. commonmeta/resources/crossref-v0.2.json +60 -0
  44. commonmeta/resources/csl-data.json +538 -0
  45. commonmeta/resources/datacite-v4.5.json +829 -0
  46. commonmeta/resources/datacite-v4.5pr.json +608 -0
  47. commonmeta/resources/ietf-bcp-47.json +3025 -0
  48. commonmeta/resources/iso-8601.json +3182 -0
  49. commonmeta/resources/spdx/licenses.json +4851 -0
  50. commonmeta/resources/spdx-schema..json +903 -0
  51. commonmeta/resources/styles/apa.csl +1697 -0
  52. commonmeta/resources/styles/chicago-author-date.csl +684 -0
  53. commonmeta/resources/styles/harvard-cite-them-right.csl +321 -0
  54. commonmeta/resources/styles/ieee.csl +468 -0
  55. commonmeta/resources/styles/modern-language-association.csl +341 -0
  56. commonmeta/resources/styles/vancouver.csl +376 -0
  57. commonmeta/schema_utils.py +27 -0
  58. commonmeta/translators.py +47 -0
  59. commonmeta/utils.py +1108 -0
  60. commonmeta/writers/__init__.py +1 -0
  61. commonmeta/writers/bibtex_writer.py +149 -0
  62. commonmeta/writers/citation_writer.py +70 -0
  63. commonmeta/writers/commonmeta_writer.py +68 -0
  64. commonmeta/writers/crossref_xml_writer.py +17 -0
  65. commonmeta/writers/csl_writer.py +79 -0
  66. commonmeta/writers/datacite_writer.py +193 -0
  67. commonmeta/writers/inveniordm_writer.py +94 -0
  68. commonmeta/writers/ris_writer.py +58 -0
  69. commonmeta/writers/schema_org_writer.py +146 -0
  70. {commonmeta_py-0.23.dist-info → commonmeta_py-0.24.dist-info}/METADATA +56 -45
  71. commonmeta_py-0.24.dist-info/RECORD +75 -0
  72. {commonmeta_py-0.23.dist-info → commonmeta_py-0.24.dist-info}/WHEEL +1 -1
  73. commonmeta_py-0.24.dist-info/entry_points.txt +3 -0
  74. commonmeta_py-0.23.dist-info/RECORD +0 -5
  75. /commonmeta_py/__init__.py → /commonmeta/readers/bibtex_reader.py +0 -0
  76. {commonmeta_py-0.23.dist-info/licenses → commonmeta_py-0.24.dist-info}/LICENSE +0 -0
@@ -0,0 +1,468 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">
3
+ <info>
4
+ <title>IEEE</title>
5
+ <id>http://www.zotero.org/styles/ieee</id>
6
+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>
7
+ <!-- <link href="https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf" rel="documentation"/> - 2018 guidelines -->
8
+ <link href="http://journals.ieeeauthorcenter.ieee.org/wp-content/uploads/sites/7/IEEE_Reference_Guide.pdf" rel="documentation"/>
9
+ <link href="https://journals.ieeeauthorcenter.ieee.org/your-role-in-article-production/ieee-editorial-style-manual/" rel="documentation"/>
10
+ <author>
11
+ <name>Michael Berkowitz</name>
12
+ <email>mberkowi@gmu.edu</email>
13
+ </author>
14
+ <contributor>
15
+ <name>Julian Onions</name>
16
+ <email>julian.onions@gmail.com</email>
17
+ </contributor>
18
+ <contributor>
19
+ <name>Rintze Zelle</name>
20
+ <uri>http://twitter.com/rintzezelle</uri>
21
+ </contributor>
22
+ <contributor>
23
+ <name>Stephen Frank</name>
24
+ <uri>http://www.zotero.org/sfrank</uri>
25
+ </contributor>
26
+ <contributor>
27
+ <name>Sebastian Karcher</name>
28
+ </contributor>
29
+ <contributor>
30
+ <name>Giuseppe Silano</name>
31
+ <email>g.silano89@gmail.com</email>
32
+ <uri>http://giuseppesilano.net</uri>
33
+ </contributor>
34
+ <contributor>
35
+ <name>Patrick O'Brien</name>
36
+ </contributor>
37
+ <contributor>
38
+ <name>Brenton M. Wiernik</name>
39
+ </contributor>
40
+ <contributor>
41
+ <name>Oliver Couch</name>
42
+ <email>oliver.couch@gmail.com</email>
43
+ </contributor>
44
+ <category citation-format="numeric"/>
45
+ <category field="engineering"/>
46
+ <category field="generic-base"/>
47
+ <summary>IEEE style as per the 2021 guidelines, V 01.29.2021.</summary>
48
+ <updated>2024-01-11T00:52:46+10:00</updated>
49
+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
50
+ </info>
51
+ <locale xml:lang="en">
52
+ <date form="text">
53
+ <date-part name="month" form="short" suffix=" "/>
54
+ <date-part name="day" form="numeric-leading-zeros" suffix=", "/>
55
+ <date-part name="year"/>
56
+ </date>
57
+ <terms>
58
+ <term name="chapter" form="short">ch.</term>
59
+ <term name="presented at">presented at the</term>
60
+ <term name="available at">available</term>
61
+ </terms>
62
+ </locale>
63
+ <!-- Macros -->
64
+ <macro name="status">
65
+ <choose>
66
+ <if variable="page issue volume" match="none">
67
+ <text variable="status" text-case="capitalize-first" suffix="" font-weight="bold"/>
68
+ </if>
69
+ </choose>
70
+ </macro>
71
+ <macro name="edition">
72
+ <choose>
73
+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
74
+ <choose>
75
+ <if is-numeric="edition">
76
+ <group delimiter=" ">
77
+ <number variable="edition" form="ordinal"/>
78
+ <text term="edition" form="short"/>
79
+ </group>
80
+ </if>
81
+ <else>
82
+ <text variable="edition" text-case="capitalize-first" suffix="."/>
83
+ </else>
84
+ </choose>
85
+ </if>
86
+ </choose>
87
+ </macro>
88
+ <macro name="issued">
89
+ <choose>
90
+ <if type="article-journal report" match="any">
91
+ <date variable="issued">
92
+ <date-part name="month" form="short" suffix=" "/>
93
+ <date-part name="year" form="long"/>
94
+ </date>
95
+ </if>
96
+ <else-if type="bill book chapter graphic legal_case legislation song thesis" match="any">
97
+ <date variable="issued">
98
+ <date-part name="year" form="long"/>
99
+ </date>
100
+ </else-if>
101
+ <else-if type="paper-conference" match="any">
102
+ <date variable="issued">
103
+ <date-part name="month" form="short"/>
104
+ <date-part name="year" prefix=" "/>
105
+ </date>
106
+ </else-if>
107
+ <else-if type="motion_picture" match="any">
108
+ <date variable="issued" form="text" prefix="(" suffix=")"/>
109
+ </else-if>
110
+ <else>
111
+ <date variable="issued" form="text"/>
112
+ </else>
113
+ </choose>
114
+ </macro>
115
+ <macro name="author">
116
+ <names variable="author">
117
+ <name and="text" et-al-min="7" et-al-use-first="1" initialize-with=". "/>
118
+ <label form="short" prefix=", " text-case="capitalize-first"/>
119
+ <et-al font-style="italic"/>
120
+ <substitute>
121
+ <names variable="editor"/>
122
+ <names variable="translator"/>
123
+ </substitute>
124
+ </names>
125
+ </macro>
126
+ <macro name="editor">
127
+ <names variable="editor">
128
+ <name initialize-with=". " delimiter=", " and="text"/>
129
+ <label form="short" prefix=", " text-case="capitalize-first"/>
130
+ </names>
131
+ </macro>
132
+ <macro name="locators">
133
+ <group delimiter=", ">
134
+ <text macro="edition"/>
135
+ <group delimiter=" ">
136
+ <text term="volume" form="short"/>
137
+ <number variable="volume" form="numeric"/>
138
+ </group>
139
+ <group delimiter=" ">
140
+ <number variable="number-of-volumes" form="numeric"/>
141
+ <text term="volume" form="short" plural="true"/>
142
+ </group>
143
+ <group delimiter=" ">
144
+ <text term="issue" form="short"/>
145
+ <number variable="issue" form="numeric"/>
146
+ </group>
147
+ </group>
148
+ </macro>
149
+ <macro name="title">
150
+ <choose>
151
+ <if type="bill book graphic legal_case legislation motion_picture song" match="any">
152
+ <text variable="title" font-style="italic"/>
153
+ </if>
154
+ <else>
155
+ <text variable="title" quotes="true"/>
156
+ </else>
157
+ </choose>
158
+ </macro>
159
+ <macro name="publisher">
160
+ <choose>
161
+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference song" match="any">
162
+ <group delimiter=": ">
163
+ <text variable="publisher-place"/>
164
+ <text variable="publisher"/>
165
+ </group>
166
+ </if>
167
+ <else>
168
+ <group delimiter=", ">
169
+ <text variable="publisher"/>
170
+ <text variable="publisher-place"/>
171
+ </group>
172
+ </else>
173
+ </choose>
174
+ </macro>
175
+ <macro name="event">
176
+ <choose>
177
+ <!-- Published Conference Paper -->
178
+ <if type="paper-conference speech" match="any">
179
+ <choose>
180
+ <if variable="container-title" match="any">
181
+ <group delimiter=" ">
182
+ <text term="in"/>
183
+ <text variable="container-title" font-style="italic"/>
184
+ </group>
185
+ </if>
186
+ <!-- Unpublished Conference Paper -->
187
+ <else>
188
+ <group delimiter=" ">
189
+ <text term="presented at"/>
190
+ <text variable="event"/>
191
+ </group>
192
+ </else>
193
+ </choose>
194
+ </if>
195
+ </choose>
196
+ </macro>
197
+ <macro name="access">
198
+ <choose>
199
+ <if type="webpage post post-weblog" match="any">
200
+ <!-- https://url.com/ (accessed Mon. DD, YYYY). -->
201
+ <choose>
202
+ <if variable="URL">
203
+ <group delimiter=". " prefix=" ">
204
+ <group delimiter=": ">
205
+ <text term="accessed" text-case="capitalize-first"/>
206
+ <date variable="accessed" form="text"/>
207
+ </group>
208
+ <text term="online" prefix="[" suffix="]" text-case="capitalize-first"/>
209
+ <group delimiter=": ">
210
+ <text term="available at" text-case="capitalize-first"/>
211
+ <text variable="URL"/>
212
+ </group>
213
+ </group>
214
+ </if>
215
+ </choose>
216
+ </if>
217
+ <else-if match="any" variable="DOI">
218
+ <!-- doi: 10.1000/xyz123. -->
219
+ <text variable="DOI" prefix=" doi: " suffix="."/>
220
+ </else-if>
221
+ <else-if variable="URL">
222
+ <!-- Accessed: Mon. DD, YYYY. [Medium]. Available: https://URL.com/ -->
223
+ <group delimiter=". " prefix=" " suffix=". ">
224
+ <!-- Accessed: Mon. DD, YYYY. -->
225
+ <group delimiter=": ">
226
+ <text term="accessed" text-case="capitalize-first"/>
227
+ <date variable="accessed" form="text"/>
228
+ </group>
229
+ <!-- [Online Video]. -->
230
+ <group prefix="[" suffix="]" delimiter=" ">
231
+ <choose>
232
+ <if variable="medium" match="any">
233
+ <text variable="medium" text-case="capitalize-first"/>
234
+ </if>
235
+ <else>
236
+ <text term="online" text-case="capitalize-first"/>
237
+ <choose>
238
+ <if type="motion_picture">
239
+ <text term="video" text-case="capitalize-first"/>
240
+ </if>
241
+ </choose>
242
+ </else>
243
+ </choose>
244
+ </group>
245
+ </group>
246
+ <!-- Available: https://URL.com/ -->
247
+ <group delimiter=": " prefix=" ">
248
+ <text term="available at" text-case="capitalize-first"/>
249
+ <text variable="URL"/>
250
+ </group>
251
+ </else-if>
252
+ </choose>
253
+ </macro>
254
+ <macro name="page">
255
+ <choose>
256
+ <if type="article-journal" variable="number" match="all">
257
+ <group delimiter=" ">
258
+ <text value="Art."/>
259
+ <text term="issue" form="short"/>
260
+ <text variable="number"/>
261
+ </group>
262
+ </if>
263
+ <else>
264
+ <group delimiter=" ">
265
+ <label variable="page" form="short"/>
266
+ <text variable="page"/>
267
+ </group>
268
+ </else>
269
+ </choose>
270
+ </macro>
271
+ <macro name="citation-locator">
272
+ <group delimiter=" ">
273
+ <choose>
274
+ <if locator="page">
275
+ <label variable="locator" form="short"/>
276
+ </if>
277
+ <else>
278
+ <label variable="locator" form="short" text-case="capitalize-first"/>
279
+ </else>
280
+ </choose>
281
+ <text variable="locator"/>
282
+ </group>
283
+ </macro>
284
+ <macro name="geographic-location">
285
+ <group delimiter=", " suffix=".">
286
+ <choose>
287
+ <if variable="publisher-place">
288
+ <text variable="publisher-place" text-case="title"/>
289
+ </if>
290
+ <else-if variable="event-place">
291
+ <text variable="event-place" text-case="title"/>
292
+ </else-if>
293
+ </choose>
294
+ </group>
295
+ </macro>
296
+ <!-- Series -->
297
+ <macro name="collection">
298
+ <choose>
299
+ <if variable="collection-title" match="any">
300
+ <text term="in" suffix=" "/>
301
+ <group delimiter=", " suffix=". ">
302
+ <text variable="collection-title"/>
303
+ <text variable="collection-number" prefix="no. "/>
304
+ <text variable="volume" prefix="vol. "/>
305
+ </group>
306
+ </if>
307
+ </choose>
308
+ </macro>
309
+ <!-- Citation -->
310
+ <citation>
311
+ <sort>
312
+ <key variable="citation-number"/>
313
+ </sort>
314
+ <layout delimiter=", ">
315
+ <group prefix="[" suffix="]" delimiter=", ">
316
+ <text variable="citation-number"/>
317
+ <text macro="citation-locator"/>
318
+ </group>
319
+ </layout>
320
+ </citation>
321
+ <!-- Bibliography -->
322
+ <bibliography entry-spacing="0" second-field-align="flush">
323
+ <layout>
324
+ <!-- Citation Number -->
325
+ <text variable="citation-number" prefix="[" suffix="]"/>
326
+ <!-- Author(s) -->
327
+ <text macro="author" suffix=", "/>
328
+ <!-- Rest of Citation -->
329
+ <choose>
330
+ <!-- Specific Formats -->
331
+ <if type="article-journal">
332
+ <group delimiter=", ">
333
+ <text macro="title"/>
334
+ <text variable="container-title" font-style="italic" form="short"/>
335
+ <text macro="locators"/>
336
+ <text macro="page"/>
337
+ <text macro="issued"/>
338
+ <text macro="status"/>
339
+ </group>
340
+ <choose>
341
+ <if variable="URL DOI" match="none">
342
+ <text value="."/>
343
+ </if>
344
+ <else>
345
+ <text value=","/>
346
+ </else>
347
+ </choose>
348
+ <text macro="access"/>
349
+ </if>
350
+ <else-if type="paper-conference speech" match="any">
351
+ <group delimiter=", " suffix=", ">
352
+ <text macro="title"/>
353
+ <text macro="event"/>
354
+ <text macro="editor"/>
355
+ </group>
356
+ <text macro="collection"/>
357
+ <group delimiter=", " suffix=".">
358
+ <text macro="publisher"/>
359
+ <text macro="issued"/>
360
+ <text macro="page"/>
361
+ <text macro="status"/>
362
+ </group>
363
+ <text macro="access"/>
364
+ </else-if>
365
+ <else-if type="chapter">
366
+ <group delimiter=", " suffix=".">
367
+ <text macro="title"/>
368
+ <group delimiter=" ">
369
+ <text term="in" suffix=" "/>
370
+ <text variable="container-title" font-style="italic"/>
371
+ </group>
372
+ <text macro="locators"/>
373
+ <text macro="editor"/>
374
+ <text macro="collection"/>
375
+ <text macro="publisher"/>
376
+ <text macro="issued"/>
377
+ <text macro="page"/>
378
+ </group>
379
+ <text macro="access"/>
380
+ </else-if>
381
+ <else-if type="report">
382
+ <group delimiter=", " suffix=".">
383
+ <text macro="title"/>
384
+ <text macro="publisher"/>
385
+ <group delimiter=" ">
386
+ <text variable="genre"/>
387
+ <text variable="number"/>
388
+ </group>
389
+ <text macro="issued"/>
390
+ </group>
391
+ <text macro="access"/>
392
+ </else-if>
393
+ <else-if type="thesis">
394
+ <group delimiter=", " suffix=".">
395
+ <text macro="title"/>
396
+ <text variable="genre"/>
397
+ <text macro="publisher"/>
398
+ <text macro="issued"/>
399
+ </group>
400
+ <text macro="access"/>
401
+ </else-if>
402
+ <else-if type="webpage post-weblog post" match="any">
403
+ <group delimiter=", " suffix=".">
404
+ <text macro="title"/>
405
+ <text variable="container-title"/>
406
+ </group>
407
+ <text macro="access"/>
408
+ </else-if>
409
+ <else-if type="patent">
410
+ <group delimiter=", ">
411
+ <text macro="title"/>
412
+ <text variable="number"/>
413
+ <text macro="issued"/>
414
+ </group>
415
+ <text macro="access"/>
416
+ </else-if>
417
+ <!-- Online Video -->
418
+ <else-if type="motion_picture">
419
+ <text macro="geographic-location" suffix=". "/>
420
+ <group delimiter=", " suffix=".">
421
+ <text macro="title"/>
422
+ <text macro="issued"/>
423
+ </group>
424
+ <text macro="access"/>
425
+ </else-if>
426
+ <!-- Generic/Fallback Formats -->
427
+ <else-if type="bill book graphic legal_case legislation report song" match="any">
428
+ <group delimiter=", " suffix=". ">
429
+ <text macro="title"/>
430
+ <text macro="locators"/>
431
+ </group>
432
+ <text macro="collection"/>
433
+ <group delimiter=", " suffix=".">
434
+ <text macro="publisher"/>
435
+ <text macro="issued"/>
436
+ <text macro="page"/>
437
+ </group>
438
+ <text macro="access"/>
439
+ </else-if>
440
+ <else-if type="article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">
441
+ <group delimiter=", " suffix=".">
442
+ <text macro="title"/>
443
+ <text variable="container-title" font-style="italic"/>
444
+ <text macro="locators"/>
445
+ <text macro="publisher"/>
446
+ <text macro="page"/>
447
+ <text macro="issued"/>
448
+ </group>
449
+ <text macro="access"/>
450
+ </else-if>
451
+ <else>
452
+ <group delimiter=", " suffix=". ">
453
+ <text macro="title"/>
454
+ <text variable="container-title" font-style="italic"/>
455
+ <text macro="locators"/>
456
+ </group>
457
+ <text macro="collection"/>
458
+ <group delimiter=", " suffix=".">
459
+ <text macro="publisher"/>
460
+ <text macro="page"/>
461
+ <text macro="issued"/>
462
+ </group>
463
+ <text macro="access"/>
464
+ </else>
465
+ </choose>
466
+ </layout>
467
+ </bibliography>
468
+ </style>