Models

Base

This module contains base models for objects.

class aiordr.models.base.BaseModel
model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_validate_file(path: str) BaseModel

Validates a model from a file.

Parameters:

path (str) – The path to the file

Raises:

TypeError – If the file is not a JSON file

Returns:

The validated model

Return type:

aiordr.models.base.BaseModel

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_fields: ClassVar[dict[str, FieldInfo]] = {}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.base.FrozenModel
model_config: ClassVar[ConfigDict] = {'frozen': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_fields: ClassVar[dict[str, FieldInfo]] = {}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

Renders

This module contains models for renders.

class aiordr.models.render.Render(*, resolution: RenderResolution = RenderResolution.HD_720, globalVolume: int = 50, musicVolume: int = 50, hitsoundVolume: int = 50, showHitErrorMeter: bool = True, showUnstableRate: bool = True, showScore: bool = True, showHPBar: bool = True, showComboCounter: bool = True, showPPCounter: bool = True, showKeyOverlay: bool = True, showScoreboard: bool = True, showBorders: bool = True, showMods: bool = True, showResultScreen: bool = True, useSkinCursor: bool = True, useSkinHitsounds: bool = True, useBeatmapColors: bool = True, cursorScaleToCS: bool = False, cursorRainbow: bool = False, cursorTrailGlow: bool = False, drawFollowPoints: bool = True, drawComboNumbers: bool = True, cursorSize: float = 1.0, cursorTrail: bool = True, scaleToTheBeat: bool = False, sliderMerge: bool = False, objectsRainbow: bool = False, objectsFlashToTheBeat: bool = False, useHitCircleColor: bool = True, seizureWarning: bool = False, loadStoryboard: bool = True, loadVideo: bool = True, introBGDim: int = 0, inGameBGDim: int = 75, breakBGDim: int = 30, BGParallax: bool = False, showDanserLogo: bool = True, skip: bool = True, cursorRipples: bool = False, sliderSnakingIn: bool = True, sliderSnakingOut: bool = True, showHitCounter: bool = False, showAvatarsOnScoreboard: bool = False, showAimErrorMeter: bool = False, playNightcoreSamples: bool = True, renderID: int, date: datetime, username: str, progress: str, renderer: str, description: str, title: str, readableDate: str, isBot: bool, isVerified: bool, replayFilePath: str, videoUrl: str, mapLink: str, mapTitle: str, replayDifficulty: str, replayUsername: str, mapID: int, needToRedownload: bool, skin: str, hasCursorMiddle: bool, motionBlur960fps: bool, renderStartTime: datetime, renderEndTime: datetime, uploadEndTime: datetime, renderTotalTime: int, uploadTotalTime: int, mapLength: int, replayMods: str, removed: bool)
id: int
date: datetime
username: str
progress: str
renderer: str
description: str
title: str
readable_date: str
is_bot: bool
is_verified: bool
replay_file_path: str
video_url: str
map_title: str
replay_difficulty: str
replay_username: str
map_id: int
need_to_redownload: bool
skin: str
has_cursor_middle: bool
motion_blur: bool
render_start_time: datetime
render_end_time: datetime
upload_end_time: datetime
render_total_time: int
upload_total_time: int
map_length: int
replay_mods: str
removed: bool
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'beat_scaling': FieldInfo(annotation=bool, required=False, default=False, alias='scaleToTheBeat', alias_priority=2), 'bg_parallax': FieldInfo(annotation=bool, required=False, default=False, alias='BGParallax', alias_priority=2), 'break_bg_dim': FieldInfo(annotation=int, required=False, default=30, alias='breakBGDim', alias_priority=2), 'cursor_rainbow': FieldInfo(annotation=bool, required=False, default=False, alias='cursorRainbow', alias_priority=2), 'cursor_ripples': FieldInfo(annotation=bool, required=False, default=False, alias='cursorRipples', alias_priority=2), 'cursor_scale_to_cs': FieldInfo(annotation=bool, required=False, default=False, alias='cursorScaleToCS', alias_priority=2), 'cursor_size': FieldInfo(annotation=float, required=False, default=1.0, alias='cursorSize', alias_priority=2), 'cursor_trail': FieldInfo(annotation=bool, required=False, default=True, alias='cursorTrail', alias_priority=2), 'cursor_trail_glow': FieldInfo(annotation=bool, required=False, default=False, alias='cursorTrailGlow', alias_priority=2), 'date': FieldInfo(annotation=datetime, required=True), 'description': FieldInfo(annotation=str, required=True), 'draw_combo_numbers': FieldInfo(annotation=bool, required=False, default=True, alias='drawComboNumbers', alias_priority=2), 'draw_follow_points': FieldInfo(annotation=bool, required=False, default=True, alias='drawFollowPoints', alias_priority=2), 'flash_objects': FieldInfo(annotation=bool, required=False, default=False, alias='objectsFlashToTheBeat', alias_priority=2), 'global_volume': FieldInfo(annotation=int, required=False, default=50, alias='globalVolume', alias_priority=2), 'has_cursor_middle': FieldInfo(annotation=bool, required=True, alias='hasCursorMiddle', alias_priority=2), 'hitsound_volume': FieldInfo(annotation=int, required=False, default=50, alias='hitsoundVolume', alias_priority=2), 'id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2), 'ingame_bg_dim': FieldInfo(annotation=int, required=False, default=75, alias='inGameBGDim', alias_priority=2), 'intro_bg_dim': FieldInfo(annotation=int, required=False, default=0, alias='introBGDim', alias_priority=2), 'is_bot': FieldInfo(annotation=bool, required=True, alias='isBot', alias_priority=2), 'is_verified': FieldInfo(annotation=bool, required=True, alias='isVerified', alias_priority=2), 'load_storyboard': FieldInfo(annotation=bool, required=False, default=True, alias='loadStoryboard', alias_priority=2), 'load_video': FieldInfo(annotation=bool, required=False, default=True, alias='loadVideo', alias_priority=2), 'map_id': FieldInfo(annotation=int, required=True, alias='mapID', alias_priority=2), 'map_length': FieldInfo(annotation=int, required=True, alias='mapLength', alias_priority=2), 'map_link': FieldInfo(annotation=str, required=True, alias='mapLink', alias_priority=2), 'map_title': FieldInfo(annotation=str, required=True, alias='mapTitle', alias_priority=2), 'motion_blur': FieldInfo(annotation=bool, required=True, alias='motionBlur960fps', alias_priority=2), 'music_volume': FieldInfo(annotation=int, required=False, default=50, alias='musicVolume', alias_priority=2), 'need_to_redownload': FieldInfo(annotation=bool, required=True, alias='needToRedownload', alias_priority=2), 'objects_rainbow': FieldInfo(annotation=bool, required=False, default=False, alias='objectsRainbow', alias_priority=2), 'play_nightcore_samples': FieldInfo(annotation=bool, required=False, default=True, alias='playNightcoreSamples', alias_priority=2), 'progress': FieldInfo(annotation=str, required=True), 'readable_date': FieldInfo(annotation=str, required=True, alias='readableDate', alias_priority=2), 'removed': FieldInfo(annotation=bool, required=True), 'render_end_time': FieldInfo(annotation=datetime, required=True, alias='renderEndTime', alias_priority=2), 'render_start_time': FieldInfo(annotation=datetime, required=True, alias='renderStartTime', alias_priority=2), 'render_total_time': FieldInfo(annotation=int, required=True, alias='renderTotalTime', alias_priority=2), 'renderer': FieldInfo(annotation=str, required=True), 'replay_difficulty': FieldInfo(annotation=str, required=True, alias='replayDifficulty', alias_priority=2), 'replay_file_path': FieldInfo(annotation=str, required=True, alias='replayFilePath', alias_priority=2), 'replay_mods': FieldInfo(annotation=str, required=True, alias='replayMods', alias_priority=2), 'replay_username': FieldInfo(annotation=str, required=True, alias='replayUsername', alias_priority=2), 'resolution': FieldInfo(annotation=RenderResolution, required=False, default=<RenderResolution.HD_720: '1280x720'>), 'seizure_warning': FieldInfo(annotation=bool, required=False, default=False, alias='seizureWarning', alias_priority=2), 'show_aim_error_meter': FieldInfo(annotation=bool, required=False, default=False, alias='showAimErrorMeter', alias_priority=2), 'show_avatars_on_scoreboard': FieldInfo(annotation=bool, required=False, default=False, alias='showAvatarsOnScoreboard', alias_priority=2), 'show_borders': FieldInfo(annotation=bool, required=False, default=True, alias='showBorders', alias_priority=2), 'show_combo_counter': FieldInfo(annotation=bool, required=False, default=True, alias='showComboCounter', alias_priority=2), 'show_danser_logo': FieldInfo(annotation=bool, required=False, default=True, alias='showDanserLogo', alias_priority=2), 'show_hit_counter': FieldInfo(annotation=bool, required=False, default=False, alias='showHitCounter', alias_priority=2), 'show_hit_error_meter': FieldInfo(annotation=bool, required=False, default=True, alias='showHitErrorMeter', alias_priority=2), 'show_hp_bar': FieldInfo(annotation=bool, required=False, default=True, alias='showHPBar', alias_priority=2), 'show_key_overlay': FieldInfo(annotation=bool, required=False, default=True, alias='showKeyOverlay', alias_priority=2), 'show_mods': FieldInfo(annotation=bool, required=False, default=True, alias='showMods', alias_priority=2), 'show_pp_counter': FieldInfo(annotation=bool, required=False, default=True, alias='showPPCounter', alias_priority=2), 'show_result_screen': FieldInfo(annotation=bool, required=False, default=True, alias='showResultScreen', alias_priority=2), 'show_score': FieldInfo(annotation=bool, required=False, default=True, alias='showScore', alias_priority=2), 'show_scoreboard': FieldInfo(annotation=bool, required=False, default=True, alias='showScoreboard', alias_priority=2), 'show_unstable_rate': FieldInfo(annotation=bool, required=False, default=True, alias='showUnstableRate', alias_priority=2), 'skin': FieldInfo(annotation=str, required=True), 'skip_intro': FieldInfo(annotation=bool, required=False, default=True, alias='skip', alias_priority=2), 'slider_merge': FieldInfo(annotation=bool, required=False, default=False, alias='sliderMerge', alias_priority=2), 'slider_snaking_in': FieldInfo(annotation=bool, required=False, default=True, alias='sliderSnakingIn', alias_priority=2), 'slider_snaking_out': FieldInfo(annotation=bool, required=False, default=True, alias='sliderSnakingOut', alias_priority=2), 'title': FieldInfo(annotation=str, required=True), 'upload_end_time': FieldInfo(annotation=datetime, required=True, alias='uploadEndTime', alias_priority=2), 'upload_total_time': FieldInfo(annotation=int, required=True, alias='uploadTotalTime', alias_priority=2), 'use_beatmap_colors': FieldInfo(annotation=bool, required=False, default=True, alias='useBeatmapColors', alias_priority=2), 'use_skin_cursor': FieldInfo(annotation=bool, required=False, default=True, alias='useSkinCursor', alias_priority=2), 'use_skin_hitsounds': FieldInfo(annotation=bool, required=False, default=True, alias='useSkinHitsounds', alias_priority=2), 'use_slider_hitcircle_color': FieldInfo(annotation=bool, required=False, default=True, alias='useHitCircleColor', alias_priority=2), 'username': FieldInfo(annotation=str, required=True), 'video_url': FieldInfo(annotation=str, required=True, alias='videoUrl', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.render.RenderCreateResponse(*, message: str, renderID: int)
message: str
render_id: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'message': FieldInfo(annotation=str, required=True), 'render_id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.render.RenderOptions(*, resolution: RenderResolution = RenderResolution.HD_720, globalVolume: int = 50, musicVolume: int = 50, hitsoundVolume: int = 50, showHitErrorMeter: bool = True, showUnstableRate: bool = True, showScore: bool = True, showHPBar: bool = True, showComboCounter: bool = True, showPPCounter: bool = True, showKeyOverlay: bool = True, showScoreboard: bool = True, showBorders: bool = True, showMods: bool = True, showResultScreen: bool = True, useSkinCursor: bool = True, useSkinHitsounds: bool = True, useBeatmapColors: bool = True, cursorScaleToCS: bool = False, cursorRainbow: bool = False, cursorTrailGlow: bool = False, drawFollowPoints: bool = True, drawComboNumbers: bool = True, cursorSize: float = 1.0, cursorTrail: bool = True, scaleToTheBeat: bool = False, sliderMerge: bool = False, objectsRainbow: bool = False, objectsFlashToTheBeat: bool = False, useHitCircleColor: bool = True, seizureWarning: bool = False, loadStoryboard: bool = True, loadVideo: bool = True, introBGDim: int = 0, inGameBGDim: int = 75, breakBGDim: int = 30, BGParallax: bool = False, showDanserLogo: bool = True, skip: bool = True, cursorRipples: bool = False, sliderSnakingIn: bool = True, sliderSnakingOut: bool = True, showHitCounter: bool = False, showAvatarsOnScoreboard: bool = False, showAimErrorMeter: bool = False, playNightcoreSamples: bool = True)
resolution: RenderResolution
global_volume: int
music_volume: int
hitsound_volume: int
show_hit_error_meter: bool
show_unstable_rate: bool
show_score: bool
show_hp_bar: bool
show_combo_counter: bool
show_pp_counter: bool
show_key_overlay: bool
show_scoreboard: bool
show_borders: bool
show_mods: bool
show_result_screen: bool
use_skin_cursor: bool
use_skin_hitsounds: bool
use_beatmap_colors: bool
cursor_scale_to_cs: bool
cursor_rainbow: bool
cursor_trail_glow: bool
draw_follow_points: bool
draw_combo_numbers: bool
cursor_size: float
cursor_trail: bool
beat_scaling: bool
slider_merge: bool
objects_rainbow: bool
flash_objects: bool
use_slider_hitcircle_color: bool
seizure_warning: bool
load_storyboard: bool
load_video: bool
intro_bg_dim: int
ingame_bg_dim: int
break_bg_dim: int
bg_parallax: bool
skip_intro: bool
cursor_ripples: bool
slider_snaking_in: bool
slider_snaking_out: bool
show_hit_counter: bool
show_avatars_on_scoreboard: bool
show_aim_error_meter: bool
play_nightcore_samples: bool
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'beat_scaling': FieldInfo(annotation=bool, required=False, default=False, alias='scaleToTheBeat', alias_priority=2), 'bg_parallax': FieldInfo(annotation=bool, required=False, default=False, alias='BGParallax', alias_priority=2), 'break_bg_dim': FieldInfo(annotation=int, required=False, default=30, alias='breakBGDim', alias_priority=2), 'cursor_rainbow': FieldInfo(annotation=bool, required=False, default=False, alias='cursorRainbow', alias_priority=2), 'cursor_ripples': FieldInfo(annotation=bool, required=False, default=False, alias='cursorRipples', alias_priority=2), 'cursor_scale_to_cs': FieldInfo(annotation=bool, required=False, default=False, alias='cursorScaleToCS', alias_priority=2), 'cursor_size': FieldInfo(annotation=float, required=False, default=1.0, alias='cursorSize', alias_priority=2), 'cursor_trail': FieldInfo(annotation=bool, required=False, default=True, alias='cursorTrail', alias_priority=2), 'cursor_trail_glow': FieldInfo(annotation=bool, required=False, default=False, alias='cursorTrailGlow', alias_priority=2), 'draw_combo_numbers': FieldInfo(annotation=bool, required=False, default=True, alias='drawComboNumbers', alias_priority=2), 'draw_follow_points': FieldInfo(annotation=bool, required=False, default=True, alias='drawFollowPoints', alias_priority=2), 'flash_objects': FieldInfo(annotation=bool, required=False, default=False, alias='objectsFlashToTheBeat', alias_priority=2), 'global_volume': FieldInfo(annotation=int, required=False, default=50, alias='globalVolume', alias_priority=2), 'hitsound_volume': FieldInfo(annotation=int, required=False, default=50, alias='hitsoundVolume', alias_priority=2), 'ingame_bg_dim': FieldInfo(annotation=int, required=False, default=75, alias='inGameBGDim', alias_priority=2), 'intro_bg_dim': FieldInfo(annotation=int, required=False, default=0, alias='introBGDim', alias_priority=2), 'load_storyboard': FieldInfo(annotation=bool, required=False, default=True, alias='loadStoryboard', alias_priority=2), 'load_video': FieldInfo(annotation=bool, required=False, default=True, alias='loadVideo', alias_priority=2), 'music_volume': FieldInfo(annotation=int, required=False, default=50, alias='musicVolume', alias_priority=2), 'objects_rainbow': FieldInfo(annotation=bool, required=False, default=False, alias='objectsRainbow', alias_priority=2), 'play_nightcore_samples': FieldInfo(annotation=bool, required=False, default=True, alias='playNightcoreSamples', alias_priority=2), 'resolution': FieldInfo(annotation=RenderResolution, required=False, default=<RenderResolution.HD_720: '1280x720'>), 'seizure_warning': FieldInfo(annotation=bool, required=False, default=False, alias='seizureWarning', alias_priority=2), 'show_aim_error_meter': FieldInfo(annotation=bool, required=False, default=False, alias='showAimErrorMeter', alias_priority=2), 'show_avatars_on_scoreboard': FieldInfo(annotation=bool, required=False, default=False, alias='showAvatarsOnScoreboard', alias_priority=2), 'show_borders': FieldInfo(annotation=bool, required=False, default=True, alias='showBorders', alias_priority=2), 'show_combo_counter': FieldInfo(annotation=bool, required=False, default=True, alias='showComboCounter', alias_priority=2), 'show_danser_logo': FieldInfo(annotation=bool, required=False, default=True, alias='showDanserLogo', alias_priority=2), 'show_hit_counter': FieldInfo(annotation=bool, required=False, default=False, alias='showHitCounter', alias_priority=2), 'show_hit_error_meter': FieldInfo(annotation=bool, required=False, default=True, alias='showHitErrorMeter', alias_priority=2), 'show_hp_bar': FieldInfo(annotation=bool, required=False, default=True, alias='showHPBar', alias_priority=2), 'show_key_overlay': FieldInfo(annotation=bool, required=False, default=True, alias='showKeyOverlay', alias_priority=2), 'show_mods': FieldInfo(annotation=bool, required=False, default=True, alias='showMods', alias_priority=2), 'show_pp_counter': FieldInfo(annotation=bool, required=False, default=True, alias='showPPCounter', alias_priority=2), 'show_result_screen': FieldInfo(annotation=bool, required=False, default=True, alias='showResultScreen', alias_priority=2), 'show_score': FieldInfo(annotation=bool, required=False, default=True, alias='showScore', alias_priority=2), 'show_scoreboard': FieldInfo(annotation=bool, required=False, default=True, alias='showScoreboard', alias_priority=2), 'show_unstable_rate': FieldInfo(annotation=bool, required=False, default=True, alias='showUnstableRate', alias_priority=2), 'skip_intro': FieldInfo(annotation=bool, required=False, default=True, alias='skip', alias_priority=2), 'slider_merge': FieldInfo(annotation=bool, required=False, default=False, alias='sliderMerge', alias_priority=2), 'slider_snaking_in': FieldInfo(annotation=bool, required=False, default=True, alias='sliderSnakingIn', alias_priority=2), 'slider_snaking_out': FieldInfo(annotation=bool, required=False, default=True, alias='sliderSnakingOut', alias_priority=2), 'use_beatmap_colors': FieldInfo(annotation=bool, required=False, default=True, alias='useBeatmapColors', alias_priority=2), 'use_skin_cursor': FieldInfo(annotation=bool, required=False, default=True, alias='useSkinCursor', alias_priority=2), 'use_skin_hitsounds': FieldInfo(annotation=bool, required=False, default=True, alias='useSkinHitsounds', alias_priority=2), 'use_slider_hitcircle_color': FieldInfo(annotation=bool, required=False, default=True, alias='useHitCircleColor', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.render.RenderResolution(value)

An enumeration.

SD_480 = '720x480'
SD_960 = '960x540'
HD_720 = '1280x720'
HD_1080 = '1920x1080'
class aiordr.models.render.RendersResponse(*, renders: list[Render], maxRenders: int)
renders: list[Render]
max_renders: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'max_renders': FieldInfo(annotation=int, required=True, alias='maxRenders', alias_priority=2), 'renders': FieldInfo(annotation=list[Render], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

Render Servers

This module contains models for render servers.

class aiordr.models.renderserver.RenderServer(*, enabled: bool, lastSeen: datetime, name: str, priority: float, oldScore: float, avgFPS: int, power: str, status: str, totalRendered: int, renderingType: str, cpu: str, gpu: str, motionBlurCapable: bool, usingOsuApi: bool, uhdCapable: bool, avgRenderTime: float, avgUploadTime: float, totalAvgTime: float, totalUploadedVideosSize: int, ownerUserId: int, ownerUsername: str, customization: RenderServerOptions)
enabled: bool
last_seen: datetime
name: str
priority: float
old_score: float
avg_fps: int
power: str
status: str
total_rendered: int
rendering_type: str
cpu: str
gpu: str
motion_blur_capable: bool
using_osu_api: bool
uhd_capable: bool
avg_render_time: float
avg_upload_time: float
total_avg_time: float
total_uploaded_videos_size: int
owner_user_id: int
owner_username: str
customization: RenderServerOptions
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'avg_fps': FieldInfo(annotation=int, required=True, alias='avgFPS', alias_priority=2), 'avg_render_time': FieldInfo(annotation=float, required=True, alias='avgRenderTime', alias_priority=2), 'avg_upload_time': FieldInfo(annotation=float, required=True, alias='avgUploadTime', alias_priority=2), 'cpu': FieldInfo(annotation=str, required=True), 'customization': FieldInfo(annotation=RenderServerOptions, required=True), 'enabled': FieldInfo(annotation=bool, required=True), 'gpu': FieldInfo(annotation=str, required=True), 'last_seen': FieldInfo(annotation=datetime, required=True, alias='lastSeen', alias_priority=2), 'motion_blur_capable': FieldInfo(annotation=bool, required=True, alias='motionBlurCapable', alias_priority=2), 'name': FieldInfo(annotation=str, required=True), 'old_score': FieldInfo(annotation=float, required=True, alias='oldScore', alias_priority=2), 'owner_user_id': FieldInfo(annotation=int, required=True, alias='ownerUserId', alias_priority=2), 'owner_username': FieldInfo(annotation=str, required=True, alias='ownerUsername', alias_priority=2), 'power': FieldInfo(annotation=str, required=True), 'priority': FieldInfo(annotation=float, required=True), 'rendering_type': FieldInfo(annotation=str, required=True, alias='renderingType', alias_priority=2), 'status': FieldInfo(annotation=str, required=True), 'total_avg_time': FieldInfo(annotation=float, required=True, alias='totalAvgTime', alias_priority=2), 'total_rendered': FieldInfo(annotation=int, required=True, alias='totalRendered', alias_priority=2), 'total_uploaded_videos_size': FieldInfo(annotation=int, required=True, alias='totalUploadedVideosSize', alias_priority=2), 'uhd_capable': FieldInfo(annotation=bool, required=True, alias='uhdCapable', alias_priority=2), 'using_osu_api': FieldInfo(annotation=bool, required=True, alias='usingOsuApi', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.renderserver.RenderServerOptions(*, textColor: str, backgroundType: int)
text_color: str
background_type: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'background_type': FieldInfo(annotation=int, required=True, alias='backgroundType', alias_priority=2), 'text_color': FieldInfo(annotation=str, required=True, alias='textColor', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

Skins

This module contains models for skins.

class aiordr.models.skin.Skin(*, id: int, skin: str, presentationName: str, url: str, highResPreview: str, lowResPreview: str, gridPreview: str, hasCursorMiddle: bool, modified: bool, author: str, version: str, timesUsed: int)
id: int
name: str
presentation_name: str
url: str
high_res_preview_url: str
low_res_preview_url: str
grid_preview_url: str
has_cursor_middle: bool
modified: bool
author: str
version: str
times_used: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'author': FieldInfo(annotation=str, required=True), 'grid_preview_url': FieldInfo(annotation=str, required=True, alias='gridPreview', alias_priority=2), 'has_cursor_middle': FieldInfo(annotation=bool, required=True, alias='hasCursorMiddle', alias_priority=2), 'high_res_preview_url': FieldInfo(annotation=str, required=True, alias='highResPreview', alias_priority=2), 'id': FieldInfo(annotation=int, required=True), 'low_res_preview_url': FieldInfo(annotation=str, required=True, alias='lowResPreview', alias_priority=2), 'modified': FieldInfo(annotation=bool, required=True), 'name': FieldInfo(annotation=str, required=True, alias='skin', alias_priority=2), 'presentation_name': FieldInfo(annotation=str, required=True, alias='presentationName', alias_priority=2), 'times_used': FieldInfo(annotation=int, required=True, alias='timesUsed', alias_priority=2), 'url': FieldInfo(annotation=str, required=True), 'version': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.skin.SkinCompact(*, found: bool, removed: bool, message: str, skinName: str, skinAuthor: str, downloadLink: str)
found: bool
removed: bool
message: str
skin_name: str
skin_author: str
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'download_link': FieldInfo(annotation=str, required=True, alias='downloadLink', alias_priority=2), 'found': FieldInfo(annotation=bool, required=True), 'message': FieldInfo(annotation=str, required=True), 'removed': FieldInfo(annotation=bool, required=True), 'skin_author': FieldInfo(annotation=str, required=True, alias='skinAuthor', alias_priority=2), 'skin_name': FieldInfo(annotation=str, required=True, alias='skinName', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.skin.SkinsResponse(*, skins: list[Skin], message: str, maxSkins: int)
skins: list[Skin]
message: str
max_skins: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'max_skins': FieldInfo(annotation=int, required=True, alias='maxSkins', alias_priority=2), 'message': FieldInfo(annotation=str, required=True), 'skins': FieldInfo(annotation=list[Skin], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

Error Codes

This module contains o!rdr API Error Codes.

class aiordr.models.errorcode.ErrorCode(value)

An enumeration.

NO_ERROR = 0
EMERGENCY_STOP = 1
BAD_REPLAY_FILE = 2
REPLAY_DOWNLOAD_FAILED = 3
NO_BEATMAP_SERVER = 4
REPLAY_FILE_CORRUPTED = 5
INVALID_GAMEMODE = 6
NO_REPLAY_INPUT_DATA = 7
NO_BEATMAP_DATA = 8
NO_BEATMAP_AUDIO = 9
OSU_API_ERROR = 10
REPLAY_AUTO_MODE = 11
REPLAY_INVALID_USERNAME = 12
BEATMAP_TOO_LONG = 13
PLAYER_BANNED = 14
UNKNOWN_BEATMAP = 15
IP_BANNED = 16
USERNAME_BANNED = 17
UNKNOWN_RENDER_ERROR = 18
RENDER_DOWNLOAD_FAILED = 19
OLD_BEATMAP_DATA = 20
REPLAY_PARSE_FAILED = 21
FAILED_GENERATING_VIDEO = 22
FAILED_PREPARING_RENDER = 23
NO_BEATMAP_NAME = 24
PARTIAL_REPLAY_INPUT_DATA = 25
REPLAY_INVALID_MODS = 26
RENDER_GENERAL_ERROR = 27
RENDER_REPLAY_DOWNLOAD_FAILED = 28
REPLAY_ALREADY_RENDERED = 29
STAR_RATING_TOO_HIGH = 30
MAPPER_BANNED = 31
BEATMAPSET_BANNED = 32
REPLAY_RECENT_FAIL = 33
INVALID_REPLAY_URL = 34
FIELD_MISSING = 35
TOO_MANY_RECENT_FAILS = 36
INAPPROPRIATE_USERNAME = 37
INVALID_SKIN = 38
INVALID_CUSTOM_SKIN = 39
SERVER_NOT_READY = 40
SERVER_NOT_READY_UNVERIFIED = 41

Events

This module contains models for websocket events.

class aiordr.models.events.RenderAddEvent(*, renderID: int)
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'render_id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.events.RenderBaseEvent(*, renderID: int)
render_id: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'render_id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class aiordr.models.events.RenderFailEvent(*, renderID: int, errorMessage: str, errorCode: ErrorCode)
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'error_code': FieldInfo(annotation=ErrorCode, required=True, alias='errorCode', alias_priority=2), 'error_message': FieldInfo(annotation=str, required=True, alias='errorMessage', alias_priority=2), 'render_id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

error_message: str
error_code: ErrorCode
class aiordr.models.events.RenderFinishEvent(*, renderID: int, videoUrl: str)
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'render_id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2), 'video_url': FieldInfo(annotation=str, required=True, alias='videoUrl', alias_priority=2)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

video_url: str
class aiordr.models.events.RenderProgressEvent(*, renderID: int, username: str, progress: str, renderer: str, description: str)
username: str

Username of the user who requested the render.

progress: str

Status text of the render process.

renderer: str

Name of the render server.

description: str

Video description.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'description': FieldInfo(annotation=str, required=True), 'progress': FieldInfo(annotation=str, required=True), 'render_id': FieldInfo(annotation=int, required=True, alias='renderID', alias_priority=2), 'renderer': FieldInfo(annotation=str, required=True), 'username': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.