- make RacePerformance sortable by Outcome
- allow full unit names in
RaceDistance
- add sharp as alias for tight in
RacecourseStyle
- doc status badge
- fix repo size badge
Horse.breed
attribute
RaceLevel
handlesListed
Horse
docstrings- doctest block formatting
- run
pre-commit
docs step on any .py file change - add
sphinx napoleon
extension
- allow multiple
RaceDesignation
s inRaceTitle
- make
HorseAge.date_of_birth
public
- index and api pages
- add docs gen as pre-commit hook
AgeRestriction
handles non-matching inputHorse
init correctly parses multi-word horse namesRacePerformance.beaten_distance
handles zero- type ignores for complex subclasses
Horse.context_date
as kwargRacePerformance.time
kwarg- extra_attributes on
Quantity
subclass
- complete coverage for RaceGrade
- complete coverage for RaceClass
- add and configure
pre-commit
- add
babel
dev dependency - move and regen type hints, include in build
- ruff lint namespacing in config
- make
RaceClass
hashable - make
RaceConditions
hashable - make
RaceGrade
hashable - make
RaceLevel
hashable - correct args on
Going
hash
- handle additional format of
Going.multiparse
- add
codspeed
- relabel and format
dobby
,vfmn
HorsetalkQuantity
parent class
- use
pint
library in place ofmeasurement
HorseHeight
adapted to usepint
andHorsetalkQuantity
RaceDistance
adapted to usepint
andHorsetalkQuantity
RaceWeight
adapted to usepint
andHorsetalkQuantity
- add Github repo size badge
- add
pint
- remove
measurement
- apply fix for RUF012 in race_title
- apply fix for RUF012 in race_grade
- apply fix for PYI041
- apply fixes for FBT
ruff
formatting
- add
dobby
- add
version-forget-me-not workflow
RaceGrade.__ne__
implementationRaceClass.__ne__
implementationRaceClass.__eq__
should compare >4 and not compareRaceGrade
as int- replace default context_date with conditional in
Horse
to facilitate mocking ofpendulum.now
- apply fixes for
SIM201
- flip yoda comparison in most tests
- apply fixes for
PT004
andPT013
- apply fixes for
N806
- apply fixes for
RET505
- swap lambda for def
ruff
formatting
- github last commit badge
- remove black badge
- add additional
HorseAge
tests - remove unneeded mocks in
Horse
tests
- add preview to
ruff
lint run - add
maturin
to ci - allow more python versions and matrix test them
- lock python version
- remove type ignores from
pytest
andpendulum
- remove
black
Horse
classGoing.multiparse
method
- make
RaceConditions
a dataclass Going.**eq**
Going.**hash**
- flip expected and actual in
Going
tests - is None for == None in
Age Category
test
RaceWeight
class
RaceDistance
can be initialised likemeasurements.measures.Distance
RaceDistance.REGEX
revisedRaceDistance.__init__
usingREGEX
- correct
**repr**
docs forRaceDistance
,RaceWeight
- switch expected and actual in
RaceDistance
- reorder and rename
RaceDistance
andRaceWeight
tests
- typing in
RaceGrade.__init__
- avoid reassigning
grade_value
inOutcome
for type safety - assert not
str
beforeOutcome._value
assignment for type safety - type safety on
RacePerformance.is_official_win
- regen type stubs
- add type ignores
- test for
Outcome.__init__
with invalid str
- unlock peak-utility until next major version
- release upper bound on
peak-utility
minor version
RaceGrade
not possible withRacingCode.POINT_TO_POINT
FinishingPosition.parse
FinishingPosition
tied position attributeDisaster
enumREFUSED_TO_RACE
RaceGrade.__repr__
Draw
as RepresentationalInt subclassRaceClass
as RepresentationalInt subclassRaceGrade.PHRASES
dictRaceGrade
as RepresentationalInt subclass- unneeded
int
cast inFormFigures
- docs for
RaceClass
,RaceGrade
andRaceLevel
- clarify typing on
Outcome.__init__
- add missing test for
RaceClass/RaceGrade.__eq__
v objects - add missing test for
Outcome.__lt__
betweenFinishingPositions
- add missing test for
Horselength.__str__
for whole num
RacePerformance.beaten_distance
attribute
RaceGrade.__eq__
withint
RaceLevel.__init__
handles more varied inputRaceClass.__init__
handles more varied stringsRaceGrade.__init__
handles more varied strings
Horselength
can be init withHorselength
RaceClass.__eq__
with int
Outcome.is_completion
Outcome.is_win
RacePerformance.is_official_win
RacePerformance.is_completion
RacePerformance.is_win
FinishingPosition.**eq**
with intOutcome.**eq**
with int
- replace type checking in
RacePerformance
RacePerformance
classOutcome.__repr__
and__str__
Outcome.__eq__
handles different types of valueOutcome.__init__
typing
- add
RaceDesignation
andRaceLevel
toRaceConditions
- add maiden to
RaceDesignation
- typing guards for
__eq__
methods __eq__
typing for Liskov subst violation
- delete native
ParsingEnum
- import
ParsingEnum
from peak_utility
Outcome
class
KeyError
onParsingEnum
for non string keys
- convert
FinishingPosition
enum to class
- add
peak-utility
RaceGrade(None)
fails boolValueError
ifGoing.primary
andGoing.secondary
match
- Going.repr and str
- HorseAge.repr and str
- HorseHeight.repr and str
- Racecourse.repr and str
- RaceConditions.repr and str
- RaceDistance.repr and str
- RaceClass.repr
- RaceGrade.repr
- RaceLevel.repr
- alter Horselength.repr
- reorganise tests for Horselength.str
RaceLevel
classRaceGrade
classRaceClass
class
- typing in
Going
Going
cannot be initialised with an invalid string
Dirt
&AWGoingDescription
scales align withTurf
- add circle to
RacecourseShape
enum - add assert in
HorseAge
to prevent typing fail
Racecourse
params can be str or enum
- avoid typing error in
HorseAge
- add
Stakes
toRaceDesignation
- test for error on
RaceDistance.init
RaceDistance.regex
- remove unneeded conditional in
HorseAge
- remove unreachable code
HorseAge
- fix docstrings in
RaceConditions
- complete test coverage for
Gender
Racecourse
classHandedness
enumRacecourseStyle
enumRacecourseContour
enumRacecourseShape
enum
- typing in
RaceConditions.__init__
- swap
Racecourse
forSurface
inRaceConditions
StallsPosition
as optionalRaceConditions
attr
Draw
classStallsPosition
enum
RaceDistance
handles comma separated int
- fix method call in
RaceConditions
test
Going
classRaceConditions
class
- type stubs for
Silks
- typing in
Silks
Silks
class
- ruff ignore F821 Undefined name (picks up ParsingEnum members)
- fixture with example silks
- add AW subtypes to
Surface
- add typing stubs
GoingDescription
parent enum
ObstacleStyle
enum
- remove deleted
RaceExperienceStatus
class from__init__
- rename
Obstacle
toJumpCategory
- remove duplicate text in CHANGELOG
Gender.sex
propertyGender.determine
method fromSex
and age argsDisaster.is_jumping/behavioural/third_party_error
properties
- fill out missing docstrings, format others
ParsingEnum
trims whitespace
HorseAge
classHorseHeight
classHorselength
classRaceDistance
class
- add pytest-mock to dev deps
- add pendulum
FormFigures
class withparse
methodFormBreak
enumFinishingPosition
enumHeadgear
enumJockeyExperience
enum- add ROAN to
CoatColour
- add AUCTION, CLAIMER, SELLER to
RaceDesignation
WeightDeterminant
->RaceDesignation
ExperienceLevel
->HorseExperienceLevel
FormFigures.parse
now uses list comprehension
- rename tests correctly
AgeCategory
enumExperienceLevel
enumWeightDeterminant
enumRaceTitle
class withparse
function, handlingAgeCategory
,ExperienceLevel
,Gender
,Obstacle
,WeightDeterminant
and nameParsingEnum
made apostrophe neutral
RacingCode
enumSurface
enumAWGoingDescription
enumDirtGoingDescription
enumTurfGoingDescription
enum
- create
ParsingEnum
base
- ignore line too long warning E501
Disaster
enumObstacle
enum
- missing docstring on
Gender
- ignore ambiguous variable warning E741
Breed
enumCoatColour
enumGender
enumSex
enum
poetry
and base packages