diff --git a/.fern/metadata.json b/.fern/metadata.json index 91c4fe4..ca153fd 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.5.1", + "cliVersion": "5.10.2", "generatorName": "fernapi/fern-python-sdk", "generatorVersion": "5.8.1", "generatorConfig": { @@ -10,10 +10,10 @@ "use_pydantic_field_aliases": true } }, - "originGitCommit": "05d79dd6ce370cbd029417f59eb71c056d94aa61", + "originGitCommit": "5f82089cf81f14dcaa4eabeffe1c781fb1679c6e", "originGitCommitIsDirty": true, "invokedBy": "ci", "requestedVersion": "AUTO", "ciProvider": "unknown", - "sdkVersion": "0.0.1" + "sdkVersion": "1.0.0" } \ No newline at end of file diff --git a/changelog.md b/changelog.md index 9f803cf..9d7930a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,3 @@ -## 0.0.1 - 2026-05-01 +## 1.0.0 - 2026-05-06 * Initial SDK generation * 🌿 Generated with Fern - diff --git a/pyproject.toml b/pyproject.toml index 766bd19..0077024 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "junction-api-sdk" -version = "0.0.1" +version = "1.0.0" description = "" readme = "README.md" authors = [] diff --git a/src/junction/__init__.py b/src/junction/__init__.py index 8198adc..4536c45 100644 --- a/src/junction/__init__.py +++ b/src/junction/__init__.py @@ -588,6 +588,8 @@ LabLocationCapability, LabLocationMetadata, LabReportResult, + LabReportResultMeasurementKind, + LabReportResultSampleType, LabReportResultType, LabResultsMetadata, LabResultsRaw, @@ -1428,6 +1430,8 @@ "LabLocationCapability": ".types", "LabLocationMetadata": ".types", "LabReportResult": ".types", + "LabReportResultMeasurementKind": ".types", + "LabReportResultSampleType": ".types", "LabReportResultType": ".types", "LabResultsMetadata": ".types", "LabResultsRaw": ".types", @@ -2278,6 +2282,8 @@ def __dir__(): "LabLocationCapability", "LabLocationMetadata", "LabReportResult", + "LabReportResultMeasurementKind", + "LabReportResultSampleType", "LabReportResultType", "LabResultsMetadata", "LabResultsRaw", diff --git a/src/junction/core/client_wrapper.py b/src/junction/core/client_wrapper.py index 628daab..688c51d 100644 --- a/src/junction/core/client_wrapper.py +++ b/src/junction/core/client_wrapper.py @@ -27,12 +27,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "junction-api-sdk/0.0.1", + "User-Agent": "junction-api-sdk/1.0.0", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "junction-api-sdk", - "X-Fern-SDK-Version": "0.0.1", + "X-Fern-SDK-Version": "1.0.0", **(self.get_custom_headers() or {}), } headers["x-vital-api-key"] = self.api_key diff --git a/src/junction/environment.py b/src/junction/environment.py index 22800c2..6d0129f 100644 --- a/src/junction/environment.py +++ b/src/junction/environment.py @@ -4,7 +4,7 @@ class JunctionEnvironment(enum.Enum): - PRODUCTION = "https://api.tryvital.io" - PRODUCTION_EU = "https://api.eu.tryvital.io" - SANDBOX = "https://api.sandbox.tryvital.io" - SANDBOX_EU = "https://api.sandbox.eu.tryvital.io" + PRODUCTION = "https://api.us.junction.com" + PRODUCTION_EU = "https://api.eu.junction.com" + SANDBOX = "https://api.sandbox.us.junction.com" + SANDBOX_EU = "https://api.sandbox.eu.junction.com" diff --git a/src/junction/types/__init__.py b/src/junction/types/__init__.py index da41575..c379e41 100644 --- a/src/junction/types/__init__.py +++ b/src/junction/types/__init__.py @@ -657,6 +657,8 @@ from .lab_location_capability import LabLocationCapability from .lab_location_metadata import LabLocationMetadata from .lab_report_result import LabReportResult + from .lab_report_result_measurement_kind import LabReportResultMeasurementKind + from .lab_report_result_sample_type import LabReportResultSampleType from .lab_report_result_type import LabReportResultType from .lab_results_metadata import LabResultsMetadata from .lab_results_raw import LabResultsRaw @@ -1448,6 +1450,8 @@ "LabLocationCapability": ".lab_location_capability", "LabLocationMetadata": ".lab_location_metadata", "LabReportResult": ".lab_report_result", + "LabReportResultMeasurementKind": ".lab_report_result_measurement_kind", + "LabReportResultSampleType": ".lab_report_result_sample_type", "LabReportResultType": ".lab_report_result_type", "LabResultsMetadata": ".lab_results_metadata", "LabResultsRaw": ".lab_results_raw", @@ -2255,6 +2259,8 @@ def __dir__(): "LabLocationCapability", "LabLocationMetadata", "LabReportResult", + "LabReportResultMeasurementKind", + "LabReportResultSampleType", "LabReportResultType", "LabResultsMetadata", "LabResultsRaw", diff --git a/src/junction/types/lab_report_result.py b/src/junction/types/lab_report_result.py index efbe60d..0364ab1 100644 --- a/src/junction/types/lab_report_result.py +++ b/src/junction/types/lab_report_result.py @@ -5,6 +5,8 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from .interpretation import Interpretation +from .lab_report_result_measurement_kind import LabReportResultMeasurementKind +from .lab_report_result_sample_type import LabReportResultSampleType from .lab_report_result_type import LabReportResultType from .loinc_match import LoincMatch @@ -12,6 +14,16 @@ class LabReportResult(UniversalBaseModel): test_name: str value: str + sample_type: typing.Optional[LabReportResultSampleType] = pydantic.Field(default=None) + """ + ℹ️ This enum is non-exhaustive. + """ + + measurement_kind: typing.Optional[LabReportResultMeasurementKind] = pydantic.Field(default=None) + """ + ℹ️ This enum is non-exhaustive. + """ + type: typing.Optional[LabReportResultType] = pydantic.Field(default=None) """ ℹ️ This enum is non-exhaustive. diff --git a/src/junction/types/lab_report_result_measurement_kind.py b/src/junction/types/lab_report_result_measurement_kind.py new file mode 100644 index 0000000..7e26ea8 --- /dev/null +++ b/src/junction/types/lab_report_result_measurement_kind.py @@ -0,0 +1,46 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core import enum + +T_Result = typing.TypeVar("T_Result") + + +class LabReportResultMeasurementKind(enum.StrEnum): + """ + ℹ️ This enum is non-exhaustive. + """ + + DIRECT = "direct" + CALCULATED = "calculated" + RATIO = "ratio" + UNKNOWN = "unknown" + _UNKNOWN = "__LABREPORTRESULTMEASUREMENTKIND_UNKNOWN__" + """ + This member is used for forward compatibility. If the value is not recognized by the enum, it will be stored here, and the raw value is accessible through `.value`. + """ + + @classmethod + def _missing_(cls, value: typing.Any) -> "LabReportResultMeasurementKind": + unknown = cls._UNKNOWN + unknown._value_ = value + return unknown + + def visit( + self, + direct: typing.Callable[[], T_Result], + calculated: typing.Callable[[], T_Result], + ratio: typing.Callable[[], T_Result], + unknown: typing.Callable[[], T_Result], + _unknown_member: typing.Callable[[str], T_Result], + ) -> T_Result: + if self is LabReportResultMeasurementKind.DIRECT: + return direct() + if self is LabReportResultMeasurementKind.CALCULATED: + return calculated() + if self is LabReportResultMeasurementKind.RATIO: + return ratio() + if self is LabReportResultMeasurementKind.UNKNOWN: + return unknown() + return _unknown_member(self._value_) diff --git a/src/junction/types/lab_report_result_sample_type.py b/src/junction/types/lab_report_result_sample_type.py new file mode 100644 index 0000000..2321ab6 --- /dev/null +++ b/src/junction/types/lab_report_result_sample_type.py @@ -0,0 +1,58 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core import enum + +T_Result = typing.TypeVar("T_Result") + + +class LabReportResultSampleType(enum.StrEnum): + """ + ℹ️ This enum is non-exhaustive. + """ + + URINE = "urine" + SERUM_PLASMA_BLOOD = "serum_plasma_blood" + CAPILLARY_BLOOD = "capillary_blood" + STOOL = "stool" + SALIVA = "saliva" + OTHER = "other" + UNKNOWN = "unknown" + _UNKNOWN = "__LABREPORTRESULTSAMPLETYPE_UNKNOWN__" + """ + This member is used for forward compatibility. If the value is not recognized by the enum, it will be stored here, and the raw value is accessible through `.value`. + """ + + @classmethod + def _missing_(cls, value: typing.Any) -> "LabReportResultSampleType": + unknown = cls._UNKNOWN + unknown._value_ = value + return unknown + + def visit( + self, + urine: typing.Callable[[], T_Result], + serum_plasma_blood: typing.Callable[[], T_Result], + capillary_blood: typing.Callable[[], T_Result], + stool: typing.Callable[[], T_Result], + saliva: typing.Callable[[], T_Result], + other: typing.Callable[[], T_Result], + unknown: typing.Callable[[], T_Result], + _unknown_member: typing.Callable[[str], T_Result], + ) -> T_Result: + if self is LabReportResultSampleType.URINE: + return urine() + if self is LabReportResultSampleType.SERUM_PLASMA_BLOOD: + return serum_plasma_blood() + if self is LabReportResultSampleType.CAPILLARY_BLOOD: + return capillary_blood() + if self is LabReportResultSampleType.STOOL: + return stool() + if self is LabReportResultSampleType.SALIVA: + return saliva() + if self is LabReportResultSampleType.OTHER: + return other() + if self is LabReportResultSampleType.UNKNOWN: + return unknown() + return _unknown_member(self._value_) diff --git a/src/junction/types/meal_in_db_base_client_facing_source.py b/src/junction/types/meal_in_db_base_client_facing_source.py index 5ae7a0b..7525775 100644 --- a/src/junction/types/meal_in_db_base_client_facing_source.py +++ b/src/junction/types/meal_in_db_base_client_facing_source.py @@ -31,6 +31,11 @@ class MealInDbBaseClientFacingSource(UniversalBaseModel): """ timestamp: dt.datetime + calendar_date: str = pydantic.Field() + """ + Date of the meal in the YYYY-mm-dd format. For providers that only expose a date, this is the calendar date as recorded by the user. + """ + name: str energy: typing.Optional[Energy] = None macros: typing.Optional[Macros] = None