destiny_sdk 0.7.6__tar.gz → 0.8.0__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.
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/PKG-INFO +1 -1
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/pyproject.toml +1 -1
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/enhancements.py +54 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_enhancements.py +21 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/uv.lock +2 -2
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/.gitignore +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/LICENSE +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/README.md +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/__init__.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/auth.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/client.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/core.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/identifiers.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/imports.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/labs/__init__.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/labs/references.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/parsers/__init__.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/parsers/eppi_parser.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/parsers/exceptions.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/py.typed +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/references.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/robots.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/search.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/src/destiny_sdk/visibility.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/__init__.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/conftest.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/labs/test_references.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/parsers/test_eppi_parser.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_auth.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_client.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_data/destiny_references.jsonl +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_data/eppi_import.jsonl +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_data/eppi_import_with_annotations.jsonl +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_data/eppi_import_with_raw.jsonl +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_data/eppi_report.json +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_identifiers.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_references.py +0 -0
- {destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_robots.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: destiny_sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: A software development kit (sdk) to support interaction with the DESTINY repository
|
|
5
5
|
Author-email: Adam Hamilton <adam@futureevidence.org>, Andrew Harvey <andrew@futureevidence.org>, Daniel Breves <daniel@futureevidence.org>, Jack Walmisley <jack@futureevidence.org>, Tim Repke <tim.repke@pik-potsdam.de>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -50,6 +50,27 @@ class AuthorPosition(StrEnum):
|
|
|
50
50
|
"""The last author."""
|
|
51
51
|
|
|
52
52
|
|
|
53
|
+
class PublicationVenueType(StrEnum):
|
|
54
|
+
"""
|
|
55
|
+
Type of publication venue.
|
|
56
|
+
|
|
57
|
+
Aligns with OpenAlex source types.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
JOURNAL = auto()
|
|
61
|
+
"""A journal publication."""
|
|
62
|
+
REPOSITORY = auto()
|
|
63
|
+
"""A repository (includes preprint servers like arXiv, bioRxiv)."""
|
|
64
|
+
CONFERENCE = auto()
|
|
65
|
+
"""A conference proceeding."""
|
|
66
|
+
EBOOK_PLATFORM = auto()
|
|
67
|
+
"""An ebook platform."""
|
|
68
|
+
BOOK_SERIES = auto()
|
|
69
|
+
"""A book series."""
|
|
70
|
+
OTHER = auto()
|
|
71
|
+
"""Other venue type."""
|
|
72
|
+
|
|
73
|
+
|
|
53
74
|
class Authorship(BaseModel):
|
|
54
75
|
"""
|
|
55
76
|
Represents a single author and their association with a reference.
|
|
@@ -106,6 +127,35 @@ class Pagination(BaseModel):
|
|
|
106
127
|
return value
|
|
107
128
|
|
|
108
129
|
|
|
130
|
+
class PublicationVenue(BaseModel):
|
|
131
|
+
"""A publication venue (journal, repository, conference, etc.)."""
|
|
132
|
+
|
|
133
|
+
display_name: str | None = Field(
|
|
134
|
+
default=None,
|
|
135
|
+
description=(
|
|
136
|
+
"The display name of the venue (journal name, repository name, etc.)"
|
|
137
|
+
),
|
|
138
|
+
)
|
|
139
|
+
venue_type: PublicationVenueType | None = Field(
|
|
140
|
+
default=None,
|
|
141
|
+
description="The type of venue: journal, repository, book, conference, etc.",
|
|
142
|
+
)
|
|
143
|
+
issn: list[str] | None = Field(
|
|
144
|
+
default=None,
|
|
145
|
+
description="List of ISSNs associated with this venue (print and electronic)",
|
|
146
|
+
)
|
|
147
|
+
issn_l: str | None = Field(
|
|
148
|
+
default=None,
|
|
149
|
+
description=(
|
|
150
|
+
"The linking ISSN - a canonical ISSN for the venue across format changes"
|
|
151
|
+
),
|
|
152
|
+
)
|
|
153
|
+
host_organization_name: str | None = Field(
|
|
154
|
+
default=None,
|
|
155
|
+
description="Display name of the host organization (publisher)",
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
|
|
109
159
|
class BibliographicMetadataEnhancement(BaseModel):
|
|
110
160
|
"""
|
|
111
161
|
An enhancement which is made up of bibliographic metadata.
|
|
@@ -151,6 +201,10 @@ other works have cited this work
|
|
|
151
201
|
default=None,
|
|
152
202
|
description="Pagination info (volume, issue, pages).",
|
|
153
203
|
)
|
|
204
|
+
publication_venue: PublicationVenue | None = Field(
|
|
205
|
+
default=None,
|
|
206
|
+
description="Publication venue information (journal, repository, etc.).",
|
|
207
|
+
)
|
|
154
208
|
|
|
155
209
|
@property
|
|
156
210
|
def fingerprint(self) -> str:
|
|
@@ -63,6 +63,27 @@ def test_bibliographic_metadata_enhancement_non_numeric_pagination_fields():
|
|
|
63
63
|
assert bibliographic.pagination.last_page == "A15"
|
|
64
64
|
|
|
65
65
|
|
|
66
|
+
def test_bibliographic_metadata_enhancement_with_publication_venue():
|
|
67
|
+
"""Test BibliographicMetadataEnhancement with publication_venue field."""
|
|
68
|
+
venue = destiny_sdk.enhancements.PublicationVenue(
|
|
69
|
+
display_name="Science",
|
|
70
|
+
venue_type=destiny_sdk.enhancements.PublicationVenueType.JOURNAL,
|
|
71
|
+
issn=["0036-8075"],
|
|
72
|
+
issn_l="0036-8075",
|
|
73
|
+
host_organization_name="AAAS",
|
|
74
|
+
)
|
|
75
|
+
bibliographic = destiny_sdk.enhancements.BibliographicMetadataEnhancement(
|
|
76
|
+
title="Test Article",
|
|
77
|
+
publication_venue=venue,
|
|
78
|
+
)
|
|
79
|
+
assert bibliographic.publication_venue is not None
|
|
80
|
+
assert bibliographic.publication_venue.display_name == "Science"
|
|
81
|
+
assert (
|
|
82
|
+
bibliographic.publication_venue.venue_type
|
|
83
|
+
== destiny_sdk.enhancements.PublicationVenueType.JOURNAL
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
|
|
66
87
|
def test_abstract_content_enhancement_valid():
|
|
67
88
|
# Create valid abstract content
|
|
68
89
|
abstract_content = destiny_sdk.enhancements.AbstractContentEnhancement(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 2
|
|
3
3
|
requires-python = ">=3.12, <4"
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
@@ -233,7 +233,7 @@ wheels = [
|
|
|
233
233
|
|
|
234
234
|
[[package]]
|
|
235
235
|
name = "destiny-sdk"
|
|
236
|
-
version = "0.
|
|
236
|
+
version = "0.8.0"
|
|
237
237
|
source = { editable = "." }
|
|
238
238
|
dependencies = [
|
|
239
239
|
{ name = "cachetools" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{destiny_sdk-0.7.6 → destiny_sdk-0.8.0}/tests/unit/test_data/eppi_import_with_annotations.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|