7.8 KiB
7.8 KiB
Python coding
We used openapi-python-client to generate client libraries for the beatleader.xyz api. It's in clients/beatleader in our python project:
.
├── docs/
│ ├── prompts/
│ └── *.md
├── src/
│ ├── clients/
│ │ ├── beatleader/
│ │ │ ├── api/ (various API endpoints)
│ │ │ ├── models/ (data models)
│ │ │ └── client.py, errors.py, __init__.py, types.py
│ │ ├── beatsaver/ (similar structure to beatleader)
│ │ └── scoresaber/ (similar structure to beatleader)
│ ├── helpers/
│ │ └── *.py
│ └── saberlist/
│ └── *.py
├── tests/
│ ├── assets/
│ └── playlist_builder.py
├── pyproject.toml
└── README.md
Here's the clients/beatleader dir:
treegit src/clients/beatleader/
src/clients/beatleader/
├── api
│ ├── beast_saber
│ │ ├── beast_saber_get_all.py
│ │ ├── beast_saber_nominate.py
│ │ └── __init__.py
│ ├── clan
│ │ ├── clan_get_all.py
│ │ ├── clan_get_clan_by_id.py
│ │ ├── clan_get_clan.py
│ │ ├── clan_get_clan_with_maps_by_id.py
│ │ ├── clan_get_clan_with_maps.py
│ │ ├── clan_get_history.py
│ │ ├── clan_global_map.py
│ │ └── __init__.py
│ ├── leaderboard
│ │ ├── __init__.py
│ │ ├── leaderboard_get_all.py
│ │ ├── leaderboard_get_clan_rankings.py
│ │ ├── leaderboard_get.py
│ │ └── leaderboard_get_scoregraph.py
│ ├── modifiers
│ │ ├── __init__.py
│ │ └── modifiers_get_modifiers.py
│ ├── patreon
│ │ ├── __init__.py
│ │ └── patreon_refresh_my_patreon.py
│ ├── player
│ │ ├── __init__.py
│ │ ├── player_get_beat_saver.py
│ │ ├── player_get_discord.py
│ │ ├── player_get_followers_info.py
│ │ ├── player_get_followers.py
│ │ ├── player_get_founded_clan.py
│ │ ├── player_get_participating_events.py
│ │ ├── player_get_patreon.py
│ │ ├── player_get_players.py
│ │ ├── player_get.py
│ │ └── player_get_ranked_maps.py
│ ├── player_scores
│ │ ├── __init__.py
│ │ ├── player_scores_acc_graph.py
│ │ ├── player_scores_get_compact_history.py
│ │ ├── player_scores_get_compact_scores.py
│ │ ├── player_scores_get_history.py
│ │ ├── player_scores_get_pinned_scores.py
│ │ ├── player_scores_get_scores.py
│ │ └── player_scores_get_score_value.py
│ ├── song
│ │ ├── __init__.py
│ │ └── song_get_all.py
│ └── __init__.py
├── models
│ ├── __pycache__
│ ├── achievement_description.py
│ ├── achievement_level.py
│ ├── achievement.py
│ ├── badge.py
│ ├── ban.py
│ ├── beasties_nomination.py
│ ├── besties_nomination_response.py
│ ├── clan_bigger_response.py
│ ├── clan_global_map_point.py
│ ├── clan_global_map.py
│ ├── clan_map_connection.py
│ ├── clan_maps_sort_by.py
│ ├── clan_point.py
│ ├── clan.py
│ ├── clan_ranking_response_clan_response_full_response_with_metadata_and_container.py
│ ├── clan_ranking_response.py
│ ├── clan_response_full.py
│ ├── clan_response_full_response_with_metadata.py
│ ├── clan_response.py
│ ├── clan_sort_by.py
│ ├── compact_leaderboard.py
│ ├── compact_leaderboard_response.py
│ ├── compact_score.py
│ ├── compact_score_response.py
│ ├── compact_score_response_response_with_metadata.py
│ ├── compact_song_response.py
│ ├── controller_enum.py
│ ├── criteria_commentary.py
│ ├── difficulty_description.py
│ ├── difficulty_response.py
│ ├── difficulty_status.py
│ ├── event_player.py
│ ├── event_ranking.py
│ ├── external_status.py
│ ├── featured_playlist.py
│ ├── featured_playlist_response.py
│ ├── follower_type.py
│ ├── global_map_history.py
│ ├── history_compact_response.py
│ ├── hmd.py
│ ├── info_to_highlight.py
│ ├── __init__.py
│ ├── leaderboard_change.py
│ ├── leaderboard_clan_ranking_response.py
│ ├── leaderboard_contexts.py
│ ├── leaderboard_group_entry.py
│ ├── leaderboard_info_response.py
│ ├── leaderboard_info_response_response_with_metadata.py
│ ├── leaderboard.py
│ ├── leaderboard_response.py
│ ├── leaderboard_sort_by.py
│ ├── legacy_modifiers.py
│ ├── link_response.py
│ ├── map_diff_response.py
│ ├── map_info_response.py
│ ├── map_info_response_response_with_metadata.py
│ ├── mapper.py
│ ├── mapper_response.py
│ ├── map_quality.py
│ ├── map_sort_by.py
│ ├── maps_type.py
│ ├── metadata.py
│ ├── modifiers_map.py
│ ├── modifiers_rating.py
│ ├── my_type.py
│ ├── operation.py
│ ├── order.py
│ ├── participating_event_response.py
│ ├── patreon_features.py
│ ├── player_change.py
│ ├── player_context_extension.py
│ ├── player_follower.py
│ ├── player_followers_info_response.py
│ ├── player.py
│ ├── player_response_clan_response_full_response_with_metadata_and_container.py
│ ├── player_response_full.py
│ ├── player_response.py
│ ├── player_response_with_stats.py
│ ├── player_response_with_stats_response_with_metadata.py
│ ├── player_score_stats_history.py
│ ├── player_score_stats.py
│ ├── player_search.py
│ ├── player_social.py
│ ├── player_sort_by.py
│ ├── pp_type.py
│ ├── profile_settings.py
│ ├── qualification_change.py
│ ├── qualification_commentary.py
│ ├── qualification_vote.py
│ ├── ranked_mapper_response.py
│ ├── ranked_map.py
│ ├── rank_qualification.py
│ ├── rank_update_change.py
│ ├── rank_update.py
│ ├── rank_voting.py
│ ├── replay_offsets.py
│ ├── requirements.py
│ ├── score_filter_status.py
│ ├── score_graph_entry.py
│ ├── score_improvement.py
│ ├── score_metadata.py
│ ├── score_response.py
│ ├── score_response_with_acc.py
│ ├── score_response_with_my_score.py
│ ├── score_response_with_my_score_response_with_metadata.py
│ ├── scores_sort_by.py
│ ├── song.py
│ ├── song_response.py
│ ├── song_status.py
│ ├── type.py
│ └── voter_feedback.py
├── __pycache__
├── client.py
├── errors.py
├── __init__.py
├── py.typed
└── types.py
13 directories, 158 files
Here's the contents of ``:
Here our attempt at using this client in ipython: