Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
[flake8]
ignore = E501
ignore = E501,E121,E122,E126,E131,E261,E302,E303,E304,E305,W293,W504
exclude = .git,__pycache__,.venv,env,venv,.direnv
max-line-length = 127
max-complexity = 15
12 changes: 9 additions & 3 deletions oura_api_client/api/daily_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,14 @@ def get_daily_activity_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_activity", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_activity", params=params
)
return DailyActivityResponse(**response)

def get_daily_activity_document(self, document_id: str) -> DailyActivityModel:
def get_daily_activity_document(
self, document_id: str
) -> DailyActivityModel:
"""
Get a single daily activity document.

Expand All @@ -45,5 +49,7 @@ def get_daily_activity_document(self, document_id: str) -> DailyActivityModel:
Returns:
DailyActivityModel: Response containing daily activity data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_activity/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_activity/{document_id}"
)
return DailyActivityModel(**response)
23 changes: 17 additions & 6 deletions oura_api_client/api/daily_cardiovascular_age.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.daily_cardiovascular_age import DailyCardiovascularAgeResponse, DailyCardiovascularAgeModel
from oura_api_client.models.daily_cardiovascular_age import (
DailyCardiovascularAgeResponse,
DailyCardiovascularAgeModel
)


class DailyCardiovascularAge(BaseRouter):
Expand All @@ -20,7 +23,8 @@ def get_daily_cardiovascular_age_documents(
next_token: Token for pagination.

Returns:
DailyCardiovascularAgeResponse: Response containing daily cardiovascular age data.
DailyCardiovascularAgeResponse: Response containing daily
cardiovascular age data.
"""
if isinstance(start_date, date):
start_date = start_date.isoformat()
Expand All @@ -32,18 +36,25 @@ def get_daily_cardiovascular_age_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_cardiovascular_age", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_cardiovascular_age", params=params
)
return DailyCardiovascularAgeResponse(**response)

def get_daily_cardiovascular_age_document(self, document_id: str) -> DailyCardiovascularAgeModel:
def get_daily_cardiovascular_age_document(
self, document_id: str
) -> DailyCardiovascularAgeModel:
"""
Get a single daily cardiovascular age document.

Args:
document_id: ID of the document.

Returns:
DailyCardiovascularAgeModel: Response containing daily cardiovascular age data.
DailyCardiovascularAgeModel: Response containing daily
cardiovascular age data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_cardiovascular_age/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_cardiovascular_age/{document_id}"
)
return DailyCardiovascularAgeModel(**response)
17 changes: 13 additions & 4 deletions oura_api_client/api/daily_readiness.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.daily_readiness import DailyReadinessResponse, DailyReadinessModel
from oura_api_client.models.daily_readiness import (
DailyReadinessResponse,
DailyReadinessModel
)


class DailyReadiness(BaseRouter):
Expand Down Expand Up @@ -32,10 +35,14 @@ def get_daily_readiness_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_readiness", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_readiness", params=params
)
return DailyReadinessResponse(**response)

def get_daily_readiness_document(self, document_id: str) -> DailyReadinessModel:
def get_daily_readiness_document(
self, document_id: str
) -> DailyReadinessModel:
"""
Get a single daily readiness document.

Expand All @@ -45,5 +52,7 @@ def get_daily_readiness_document(self, document_id: str) -> DailyReadinessModel:
Returns:
DailyReadinessModel: Response containing daily readiness data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_readiness/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_readiness/{document_id}"
)
return DailyReadinessModel(**response)
17 changes: 13 additions & 4 deletions oura_api_client/api/daily_resilience.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.daily_resilience import DailyResilienceResponse, DailyResilienceModel
from oura_api_client.models.daily_resilience import (
DailyResilienceResponse,
DailyResilienceModel
)


class DailyResilience(BaseRouter):
Expand Down Expand Up @@ -32,10 +35,14 @@ def get_daily_resilience_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_resilience", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_resilience", params=params
)
return DailyResilienceResponse(**response)

def get_daily_resilience_document(self, document_id: str) -> DailyResilienceModel:
def get_daily_resilience_document(
self, document_id: str
) -> DailyResilienceModel:
"""
Get a single daily resilience document.

Expand All @@ -45,5 +52,7 @@ def get_daily_resilience_document(self, document_id: str) -> DailyResilienceMode
Returns:
DailyResilienceModel: Response containing daily resilience data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_resilience/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_resilience/{document_id}"
)
return DailyResilienceModel(**response)
13 changes: 10 additions & 3 deletions oura_api_client/api/daily_sleep.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.daily_sleep import DailySleepResponse, DailySleepModel
from oura_api_client.models.daily_sleep import (
DailySleepResponse,
DailySleepModel
)


class DailySleep(BaseRouter):
Expand Down Expand Up @@ -32,7 +35,9 @@ def get_daily_sleep_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_sleep", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_sleep", params=params
)
return DailySleepResponse(**response)

def get_daily_sleep_document(self, document_id: str) -> DailySleepModel:
Expand All @@ -45,5 +50,7 @@ def get_daily_sleep_document(self, document_id: str) -> DailySleepModel:
Returns:
DailySleepModel: Response containing daily sleep data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_sleep/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_sleep/{document_id}"
)
return DailySleepModel(**response)
17 changes: 13 additions & 4 deletions oura_api_client/api/daily_spo2.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.daily_spo2 import DailySpO2Response, DailySpO2Model
from oura_api_client.models.daily_spo2 import (
DailySpO2Response,
DailySpO2Model
)


class DailySpo2(BaseRouter): # Renamed class to DailySpo2
Expand Down Expand Up @@ -32,10 +35,14 @@ def get_daily_spo2_documents( # Renamed method
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_spo2", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_spo2", params=params
)
return DailySpO2Response(**response)

def get_daily_spo2_document(self, document_id: str) -> DailySpO2Model: # Renamed method and updated return type
def get_daily_spo2_document(
self, document_id: str
) -> DailySpO2Model: # Renamed method and updated return type
"""
Get a single daily SpO2 document.

Expand All @@ -45,5 +52,7 @@ def get_daily_spo2_document(self, document_id: str) -> DailySpO2Model: # Rename
Returns:
DailySpO2Model: Response containing daily SpO2 data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_spo2/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_spo2/{document_id}"
)
return DailySpO2Model(**response)
13 changes: 10 additions & 3 deletions oura_api_client/api/daily_stress.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.daily_stress import DailyStressResponse, DailyStressModel
from oura_api_client.models.daily_stress import (
DailyStressResponse,
DailyStressModel
)


class DailyStress(BaseRouter):
Expand Down Expand Up @@ -32,7 +35,9 @@ def get_daily_stress_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/daily_stress", params=params)
response = self.client._make_request(
"/v2/usercollection/daily_stress", params=params
)
return DailyStressResponse(**response)

def get_daily_stress_document(self, document_id: str) -> DailyStressModel:
Expand All @@ -45,5 +50,7 @@ def get_daily_stress_document(self, document_id: str) -> DailyStressModel:
Returns:
DailyStressModel: Response containing daily stress data.
"""
response = self.client._make_request(f"/v2/usercollection/daily_stress/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/daily_stress/{document_id}"
)
return DailyStressModel(**response)
13 changes: 10 additions & 3 deletions oura_api_client/api/enhanced_tag.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date # Using date for start_date and end_date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.enhanced_tag import EnhancedTagResponse, EnhancedTagModel
from oura_api_client.models.enhanced_tag import (
EnhancedTagResponse,
EnhancedTagModel
)


class EnhancedTag(BaseRouter):
Expand Down Expand Up @@ -32,7 +35,9 @@ def get_enhanced_tag_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/enhanced_tag", params=params)
response = self.client._make_request(
"/v2/usercollection/enhanced_tag", params=params
)
return EnhancedTagResponse(**response)

def get_enhanced_tag_document(self, document_id: str) -> EnhancedTagModel:
Expand All @@ -45,5 +50,7 @@ def get_enhanced_tag_document(self, document_id: str) -> EnhancedTagModel:
Returns:
EnhancedTagModel: Response containing enhanced_tag data.
"""
response = self.client._make_request(f"/v2/usercollection/enhanced_tag/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/enhanced_tag/{document_id}"
)
return EnhancedTagModel(**response)
4 changes: 3 additions & 1 deletion oura_api_client/api/heartrate.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ def get_heartrate(
if end_date:
params["end_date"] = end_date

response = self.client._make_request("/usercollection/heartrate", params=params)
response = self.client._make_request(
"/usercollection/heartrate", params=params
)

if return_model:
return HeartRateResponse.from_dict(response)
Expand Down
17 changes: 13 additions & 4 deletions oura_api_client/api/rest_mode_period.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union
from datetime import date
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.rest_mode_period import RestModePeriodResponse, RestModePeriodModel
from oura_api_client.models.rest_mode_period import (
RestModePeriodResponse,
RestModePeriodModel
)


class RestModePeriod(BaseRouter):
Expand Down Expand Up @@ -32,10 +35,14 @@ def get_rest_mode_period_documents(
"next_token": next_token if next_token else None,
}
params = {k: v for k, v in params.items() if v is not None}
response = self.client._make_request("/v2/usercollection/rest_mode_period", params=params)
response = self.client._make_request(
"/v2/usercollection/rest_mode_period", params=params
)
return RestModePeriodResponse(**response)

def get_rest_mode_period_document(self, document_id: str) -> RestModePeriodModel:
def get_rest_mode_period_document(
self, document_id: str
) -> RestModePeriodModel:
"""
Get a single rest_mode_period document.

Expand All @@ -45,5 +52,7 @@ def get_rest_mode_period_document(self, document_id: str) -> RestModePeriodModel
Returns:
RestModePeriodModel: Response containing rest_mode_period data.
"""
response = self.client._make_request(f"/v2/usercollection/rest_mode_period/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/rest_mode_period/{document_id}"
)
return RestModePeriodModel(**response)
20 changes: 15 additions & 5 deletions oura_api_client/api/ring_configuration.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from typing import Optional, Union # Union is not strictly needed here but kept for consistency
from datetime import date # date is not used by ring_configuration but kept for consistency
from oura_api_client.api.base import BaseRouter
from oura_api_client.models.ring_configuration import RingConfigurationResponse, RingConfigurationModel
from oura_api_client.models.ring_configuration import (
RingConfigurationResponse,
RingConfigurationModel
)


class RingConfiguration(BaseRouter):
Expand All @@ -11,7 +14,7 @@ def get_ring_configuration_documents(
# as it often returns a single current configuration or a list of all historical ones.
# However, if the API supports it (e.g. for historical configurations):
start_date: Optional[Union[str, date]] = None, # Kept for potential future use or specific API design
end_date: Optional[Union[str, date]] = None, # Kept for potential future use
end_date: Optional[Union[str, date]] = None, # Kept for potential future use
next_token: Optional[str] = None,
) -> RingConfigurationResponse:
"""
Expand Down Expand Up @@ -45,10 +48,15 @@ def get_ring_configuration_documents(
# Remove None params manually as empty dict evaluates to False
final_params = {k: v for k, v in params.items() if v is not None}

response = self.client._make_request("/v2/usercollection/ring_configuration", params=final_params if final_params else None)
response = self.client._make_request(
"/v2/usercollection/ring_configuration",
params=final_params if final_params else None
)
return RingConfigurationResponse(**response)

def get_ring_configuration_document(self, document_id: str) -> RingConfigurationModel:
def get_ring_configuration_document(
self, document_id: str
) -> RingConfigurationModel:
"""
Get a single ring configuration document.

Expand All @@ -58,5 +66,7 @@ def get_ring_configuration_document(self, document_id: str) -> RingConfiguration
Returns:
RingConfigurationModel: Response containing ring configuration data.
"""
response = self.client._make_request(f"/v2/usercollection/ring_configuration/{document_id}")
response = self.client._make_request(
f"/v2/usercollection/ring_configuration/{document_id}"
)
return RingConfigurationModel(**response)
Loading