- Added two new boss metrics
Amoxliatl
andHueycoatl
.
Stable!
Group.clan_chat
is now optional.
- Fix bug where old groups with no clan chat would fail to deserialize.
- Added Araxxor to the
Bosses
enum.
Stable Release Candidate 1
10x performance increase when serializing/deserializing models!
- Removed internal
wom._cli
module. - Renamed project info
wompy
cli command towom
. - Models are now
msgspec.Struct
models instead ofattrs
models. PlayerDetail
now inherits fromPlayer
and so theplayer
property was removed.PlayerAchievementProgress
now inherits fromAchievementProgress
and so theachievement
property was removed.PlayerCompetitionStanding
now inherits fromPlayerParticipation
and so theparticipation
property was removed.GroupMembership
andPlayerMembership
now inherit fromMembership
and so themembership
property was removed.PlayerArchive
now inherits fromArchive
and so thearchive
property was removed.- Renamed
RecordService.get_global_record_leaderboards
toget_global_leaderboards
. RecordLeaderboardEntry
now inherits fromRecord
and so therecord
property was removed.- Removed
DeniedNameChangeReviewContext
, andSkippedNameChangeReviewContext
, their properties now live onNameChangeReviewContext
. CompetitionParticipationDetail
now inherits fromCompetitionParticipation
and so theparticipation
property was removed.CompetitionDetail
now inherits fromCompetition
and so thecompetition
property was removed.CompetitionService.edit_competition
now returns aCompetition
.- All methods in the
Serializer
prefixed withdeserialize_
were removed. GroupDetail
now inherits fromGroup
and so thegroup
property was removed.- The
verification_code
property onGroupDetail
was removed. - Converted the
Skills
,Activities
,Bosses
, andComputedMetrics
enums intofrozenset
s. CompetitionWithParticipations
was renamed toCreatedCompetitionDetail
because theparticipations
property was removed and added toCompetition
and the name was no longer an accurate representation of the object.EfficiencyService.get_global_leaderboard
was renamed toget_global_leaderboards
to be in line with the other leaderboard method names.- The
from_str
andfrom_str_maybe
methods were removed from theMetric
enum.
- Added
CreatedGroupDetail
model which always has the verification code present. - Added
previous_role
property toGroupActivity
. - Added
CompetitionService.get_details_csv
method. - Added
MetricLeader
class for the different flavors of leader to derive from. - Added
CompetitionCSVTableType
enum for the competition details csv endpoint. - Added pagination to
PlayerService.get_snapshots
.
Record.value
is now afloat
instead of anint
.ComputedMetricLeader.value
is now afloat
instead of anint
.- The
Metric
enum now includes all variants of the oldSkills
,Activities
,Bosses
, andComputedMetrics
enums. GroupService.create_group
now returns aCreatedGroupDetail
model.- Updated docstrings for group classes.
- Fixed broken poetry install link in contributing guide.
- Add varlamore metrics (ColosseumGlory, LunarChests, SolHeredit).
- Fix bug where
PlayerDetail
with no latest snapshot would fail to deserialize.
- Add
Scurrius
toBosses
.
- Add
archive
property toPlayerDetail
. - Add
Archive
andPlayerArchive
models/serialization methods. - Add
get_archives
method toPlayerService
. - Add
to_dict
method toResult
.
- Fix some Python 3.8 incompatible type hints.
- Fix invalid key regression for social links.
- Add
at_random
method toBaseEnum
for generating an enum variant at random. - Add
levels
property toCompetitionParticipationDetail
. - Add
patron
,banner_image
, andprofile_image
properties toGroup
. - Add
SocialLinks
model andsocial_links
property toGroupDetail
. - Add getting started guide to the documentation.
- Methods that previously accepted only
GroupMemberFragment
now accept strings as well. - Update examples in
GroupService
that work withGroupMemberFragment
. - Remove usage of weakref slots throughout the project, improving memory footprint.
- Add
rank
property toSnapshotTimelineEntry
.
- Add
GroupActivity
andGroupActivityType
models. - Add
deserialize_group_activity
serializer method. - Add
get_activity
group service method. - Add
GROUP_ACTIVITY
Route.
Player.updated_at
is now optional.
- Add
FailedToDeserialize
error.
- Fix typo in docstring for
PlayerService.get_records
.
- Add
F2P Lvl 3
player build.
- Add support for Desert Treasure 2 bosses.
- Add
PlayerService.get_snapshots_timeline
method. - Add
SnapshotTimelineEntry
model and corresponding serializer method. - Add
GroupMemberGains
model and corresponding serializer method.
GroupService.get_gains
method now returns aGroupMemberGains
model.
- Add
Banned
player status. - Add helpful error message if new enum variants are not yet added to the lib.
- Make
MetricLeaders.player
optional, indicating no player leads in the metric. - Fix typos in the
Bosses
enum.
- Remove
NameChangeService.get_name_change_details
as it is no longer supported by WOM. - Remove models and serialization methods associated with the above method.
- Add new
review_context
field toNameChange
. - Add
NameChangeReviewContext
,SkippedNameChangeReviewContext
, andDeniedNameChangeReviewContext
models. - Add
NameChangeReviewReason
enum. - Add serialization method for the above models.
- Fix support for Python 3.8 and 3.9 by using older style type hints.
- Fix bug in
Route
that caused requests to be made to incorrect URI's.
- Add a new required async
Client.start
method to fix deprecation warning emitted by creating aClientSession
in a non-async function.
- Add new wildy bosses Artio, Calvarion, and Spindel to the
Bosses
enum.
MetricLeaders
,PlayerGainsData
, andSnapshotData
now contain mappings of theirenums.Skills
key to values of the associated type that was previously contained in the list.- The deserialization methods associated with the above types were also updated to accommodate this.
- the
Player.flagged
field was removed in favor of thePlayer.status
field.
- Only include the type of the value, not the value itself, in the error message raised when
calling
unwrap_err
on anOk
variant. Skill.ehp
,Boss.ehb
, andComputedMetric.value
are nowfloat
type.
- Tests! 👀
- A
PlayerStatus
enum representing the statuses a player can be in (flagged, active, etc)
GroupStatistics.average_stats
is now aSnapshot
rather than aGroupSnapshot
.- Remove
GroupSnapshot
model sincecreated_at
onSnapshot
is now guaranteed to be present.
- Add some missing models to
__all__
.
- Add leaders models:
SkillLeader
,BossLeader
,ActivityLeader
,ComputedMetricLeader
, andMetricLeaders
. - Add
metric_leaders
property toGroupStatistics
. - Add deserialization methods for the new leader models.
EfficiencyService.get_global_leaderboard
now accepts aboth
kwarg, and will no longer erroneously allow you to pass many computed metrics as*args
.
- Relaxed the pinned dependencies for better compatibility.
- The
metric
parameter toEfficiencyService.get_global_leaderboard
is now defaulted to EHP.
- Initial release!