Skip to content

Commit b6ef3e7

Browse files
Automatically update Python SDK
1 parent dadf34d commit b6ef3e7

File tree

9 files changed

+81
-26
lines changed

9 files changed

+81
-26
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "trophy"
7-
version = "1.0.2"
7+
version = "1.0.3"
88
description = "A Python library for the Trophy API"
99
license = {text = "MIT"}
1010
readme = "README.md"

trophy/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
from .types import (
44
AchievementCompletionResponse,
5-
AchievementResponse,
65
ErrorBody,
76
EventResponse,
87
EventResponseMetricsItem,
98
MetricResponse,
109
MetricStatus,
10+
MultiStageAchievementResponse,
11+
OneOffAchievementResponse,
1112
StreakFrequency,
1213
StreakResponse,
1314
UpdatedUser,
@@ -26,15 +27,16 @@
2627

2728
__all__ = [
2829
"AchievementCompletionResponse",
29-
"AchievementResponse",
3030
"AsyncTrophyApi",
3131
"BadRequestError",
3232
"ErrorBody",
3333
"EventResponse",
3434
"EventResponseMetricsItem",
3535
"MetricResponse",
3636
"MetricStatus",
37+
"MultiStageAchievementResponse",
3738
"NotFoundError",
39+
"OneOffAchievementResponse",
3840
"StreakFrequency",
3941
"StreakResponse",
4042
"TrophyApi",

trophy/types/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# This file was auto-generated by Fern from our API Definition.
22

33
from .achievement_completion_response import AchievementCompletionResponse
4-
from .achievement_response import AchievementResponse
54
from .error_body import ErrorBody
65
from .event_response import EventResponse
76
from .event_response_metrics_item import EventResponseMetricsItem
87
from .metric_response import MetricResponse
98
from .metric_status import MetricStatus
9+
from .multi_stage_achievement_response import MultiStageAchievementResponse
10+
from .one_off_achievement_response import OneOffAchievementResponse
1011
from .streak_frequency import StreakFrequency
1112
from .streak_response import StreakResponse
1213
from .updated_user import UpdatedUser
@@ -15,12 +16,13 @@
1516

1617
__all__ = [
1718
"AchievementCompletionResponse",
18-
"AchievementResponse",
1919
"ErrorBody",
2020
"EventResponse",
2121
"EventResponseMetricsItem",
2222
"MetricResponse",
2323
"MetricStatus",
24+
"MultiStageAchievementResponse",
25+
"OneOffAchievementResponse",
2426
"StreakFrequency",
2527
"StreakResponse",
2628
"UpdatedUser",

trophy/types/achievement_completion_response.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import typing_extensions
55
from ..core.serialization import FieldMetadata
66
import pydantic
7-
from .achievement_response import AchievementResponse
7+
from .one_off_achievement_response import OneOffAchievementResponse
88
from ..core.pydantic_utilities import IS_PYDANTIC_V2
99
import typing
1010

@@ -17,7 +17,7 @@ class AchievementCompletionResponse(UniversalBaseModel):
1717
The unique ID of the completion.
1818
"""
1919

20-
achievement: AchievementResponse
20+
achievement: OneOffAchievementResponse
2121

2222
if IS_PYDANTIC_V2:
2323
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(

trophy/types/event_response_metrics_item.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import typing
66
from ..core.serialization import FieldMetadata
77
import pydantic
8-
from .achievement_response import AchievementResponse
8+
from .multi_stage_achievement_response import MultiStageAchievementResponse
99
from ..core.pydantic_utilities import IS_PYDANTIC_V2
1010

1111

@@ -17,8 +17,8 @@ class EventResponseMetricsItem(UniversalBaseModel):
1717
The ID of the metric.
1818
"""
1919

20-
completed: typing.Optional[typing.List[AchievementResponse]] = pydantic.Field(
21-
default=None
20+
completed: typing.Optional[typing.List[MultiStageAchievementResponse]] = (
21+
pydantic.Field(default=None)
2222
)
2323
"""
2424
A list of any new achievements that the user has now completed as a result of this event being submitted.

trophy/types/metric_response.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ..core.serialization import FieldMetadata
88
from .metric_status import MetricStatus
99
import typing
10-
from .achievement_response import AchievementResponse
10+
from .multi_stage_achievement_response import MultiStageAchievementResponse
1111
from .streak_response import StreakResponse
1212
from ..core.pydantic_utilities import IS_PYDANTIC_V2
1313

@@ -50,7 +50,7 @@ class MetricResponse(UniversalBaseModel):
5050
The user's current total for the metric.
5151
"""
5252

53-
achievements: typing.List[AchievementResponse] = pydantic.Field()
53+
achievements: typing.List[MultiStageAchievementResponse] = pydantic.Field()
5454
"""
5555
A list of the metric's achievements and the user's progress towards each.
5656
"""

trophy/types/achievement_response.py renamed to trophy/types/multi_stage_achievement_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from ..core.pydantic_utilities import IS_PYDANTIC_V2
1010

1111

12-
class AchievementResponse(UniversalBaseModel):
12+
class MultiStageAchievementResponse(UniversalBaseModel):
1313
id: str = pydantic.Field()
1414
"""
1515
The unique ID of the achievement.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
from ..core.pydantic_utilities import UniversalBaseModel
4+
import pydantic
5+
import typing
6+
import typing_extensions
7+
from ..core.serialization import FieldMetadata
8+
import datetime as dt
9+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
10+
11+
12+
class OneOffAchievementResponse(UniversalBaseModel):
13+
id: str = pydantic.Field()
14+
"""
15+
The unique ID of the achievement.
16+
"""
17+
18+
name: typing.Optional[str] = pydantic.Field(default=None)
19+
"""
20+
The name of this achievement.
21+
"""
22+
23+
badge_url: typing_extensions.Annotated[
24+
typing.Optional[str], FieldMetadata(alias="badgeUrl")
25+
] = pydantic.Field(default=None)
26+
"""
27+
The URL of the badge image for the achievement, if one has been uploaded.
28+
"""
29+
30+
key: typing.Optional[str] = pydantic.Field(default=None)
31+
"""
32+
The key used to reference this achievement in the API.
33+
"""
34+
35+
achieved_at: typing_extensions.Annotated[
36+
typing.Optional[dt.datetime], FieldMetadata(alias="achievedAt")
37+
] = pydantic.Field(default=None)
38+
"""
39+
The date and time the achievement was completed, in ISO 8601 format.
40+
"""
41+
42+
if IS_PYDANTIC_V2:
43+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
44+
extra="allow", frozen=True
45+
) # type: ignore # Pydantic v2
46+
else:
47+
48+
class Config:
49+
frozen = True
50+
smart_union = True
51+
extra = pydantic.Extra.allow

trophy/users/client.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from ..core.jsonable_encoder import jsonable_encoder
1515
from ..types.metric_response import MetricResponse
1616
from ..errors.not_found_error import NotFoundError
17-
from ..types.achievement_response import AchievementResponse
17+
from ..types.multi_stage_achievement_response import MultiStageAchievementResponse
1818
from ..core.client_wrapper import AsyncClientWrapper
1919

2020
# this is used as the default value for optional parameters
@@ -36,7 +36,7 @@ def create(
3636
request_options: typing.Optional[RequestOptions] = None,
3737
) -> User:
3838
"""
39-
Create a new user.
39+
Identify a new user.
4040
4141
Parameters
4242
----------
@@ -61,7 +61,7 @@ def create(
6161
Returns
6262
-------
6363
User
64-
Created user
64+
Identified user
6565
6666
Examples
6767
--------
@@ -485,7 +485,7 @@ def singlemetric(
485485

486486
def allachievements(
487487
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
488-
) -> typing.List[AchievementResponse]:
488+
) -> typing.List[MultiStageAchievementResponse]:
489489
"""
490490
Get all of a user's completed achievements.
491491
@@ -499,7 +499,7 @@ def allachievements(
499499
500500
Returns
501501
-------
502-
typing.List[AchievementResponse]
502+
typing.List[MultiStageAchievementResponse]
503503
Successful operation
504504
505505
Examples
@@ -521,9 +521,9 @@ def allachievements(
521521
try:
522522
if 200 <= _response.status_code < 300:
523523
return typing.cast(
524-
typing.List[AchievementResponse],
524+
typing.List[MultiStageAchievementResponse],
525525
parse_obj_as(
526-
type_=typing.List[AchievementResponse], # type: ignore
526+
type_=typing.List[MultiStageAchievementResponse], # type: ignore
527527
object_=_response.json(),
528528
),
529529
)
@@ -578,7 +578,7 @@ async def create(
578578
request_options: typing.Optional[RequestOptions] = None,
579579
) -> User:
580580
"""
581-
Create a new user.
581+
Identify a new user.
582582
583583
Parameters
584584
----------
@@ -603,7 +603,7 @@ async def create(
603603
Returns
604604
-------
605605
User
606-
Created user
606+
Identified user
607607
608608
Examples
609609
--------
@@ -1067,7 +1067,7 @@ async def main() -> None:
10671067

10681068
async def allachievements(
10691069
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
1070-
) -> typing.List[AchievementResponse]:
1070+
) -> typing.List[MultiStageAchievementResponse]:
10711071
"""
10721072
Get all of a user's completed achievements.
10731073
@@ -1081,7 +1081,7 @@ async def allachievements(
10811081
10821082
Returns
10831083
-------
1084-
typing.List[AchievementResponse]
1084+
typing.List[MultiStageAchievementResponse]
10851085
Successful operation
10861086
10871087
Examples
@@ -1111,9 +1111,9 @@ async def main() -> None:
11111111
try:
11121112
if 200 <= _response.status_code < 300:
11131113
return typing.cast(
1114-
typing.List[AchievementResponse],
1114+
typing.List[MultiStageAchievementResponse],
11151115
parse_obj_as(
1116-
type_=typing.List[AchievementResponse], # type: ignore
1116+
type_=typing.List[MultiStageAchievementResponse], # type: ignore
11171117
object_=_response.json(),
11181118
),
11191119
)

0 commit comments

Comments
 (0)