API non officiel de wikimuscle
Project description
WikiMuscle API
Qu'est-ce que WikiMuscle API ?
WikiMuscle API est un package Python (non officiel) permettant de récupérer des exercices en fonction des muscles, équipements ou difficultés ciblés.
Installation du package
Pour installer le package WikiMuscle, il est nécessaire d'utiliser Python à partir de la version 3.6. Vous pouvez l'installer via la commande suivante :
pip install wikimuscle
Utilisation de la classe principale Wiki
La classe Wiki prend en paramètre le chemin pour l'installation de la base de données. Il n'est pas nécessaire de créer un dossier pour la base de données, car la classe Wiki s'en charge automatiquement.
Par défaut, le paramètre est None, ce qui utilise le répertoire de travail courant (cwd). Il est également possible de formater le chemin souhaité avec la classe Path du module pathlib, ou de passer une chaîne de caractères PathLike représentant le chemin.
La classe Wiki hérite de la classe ApiWiki, qui gère principalement la logique pour l'interaction avec l'API.
Méthodes disponibles via la classe Wiki :
-
get: Interagit directement avec l'API.- Paramètres :
muscles: Optional[List[MusclesCategory]]equipments: Optional[List[EquipmentsCategory]]difficulties: Optional[List[DifficultiesCategory]]path_json: strcreate_dir: booldir_exercises: Optional[Union[str, PathLike, Path]] = None
- Retourne : Un tuple composé d'un dictionnaire (key = nom de l'exercice, value = IResponseExercise) et d'une liste (List[IResponseExercise]).
- Paramètres :
-
create_dir_exercise: Crée un répertoire pour un exercice unique (vidéo de l'exercice et fichier texte avec les étapes).- Paramètres :
base_path: Optional[Union[str, PathLike, Path]]element: Optional[IResponseExercise]
- Retourne :
None.
- Paramètres :
-
create_dir: Crée un répertoire complet des exercices récupérés à l'aide de la méthodeget.- Paramètres :
base_path: Optional[Union[str, PathLike, Path]]data: Optional[List[IResponseExercise]]
- Retourne :
None.
- Paramètres :
Exemple d'utilisation de la classe Wiki
from wikimuscle import Wiki
# Initialisation sans chemin, utilise la valeur par défaut
wiki = Wiki()
Une fois initialisée, un dossier "database" est créé à l'emplacement spécifié.
La méthode get de la classe Wiki
from wikimuscle import Wiki
wiki = Wiki()
# Récupère les exercices et crée un dossier "exercises" contenant les données
response_dict, response_list = wiki.get(
muscles=["Biceps"],
equipments=["Poids corporel"],
difficulties=["Débutant"],
create_dir=True,
dir_exercises="exercises"
)
La méthode create_dir_exercise de la classe Wiki
from wikimuscle import Wiki
wiki = Wiki()
# Récupération des exercices
response_dict, response_list = wiki.get(
muscles=["Biceps"],
equipments=["Poids corporel"],
difficulties=["Débutant"]
)
# Crée un dossier contenant les données d'un exercice unique
element = response_list[0]
wiki.create_dir_exercise("exemple", element)
La méthode create_dir de la classe Wiki
from wikimuscle import Wiki
wiki = Wiki()
# Récupération des exercices
response_dict, response_list = wiki.get(
muscles=["Biceps"],
equipments=["Poids corporel"],
difficulties=["Débutant"]
)
# Crée un répertoire "exemples" contenant tous les exercices
wiki.create_dir("exemples", response_list)
Les interfaces
Voici les interfaces et sous interfaces :
MusclesCategory = Literal['Biceps', 'Biceps Longue Portion', 'Biceps court', 'Traps (milieu du dos)', 'Bas du dos', 'Abdominaux', "Bas de l'abdomen", 'Abdominaux Supérieurs', 'Mollets', 'Tibialis', 'Soleus', 'Gastrocnémien', 'Avant-bras', 'Extenseurs du Poignet', 'Fléchisseurs du Poignet', 'Fessiers', 'Gluteus Medius', 'Grand Fessier', 'Ischio-jambiers', 'Ischio-jambiers médiaux', 'Ischio-jambiers latéraux', 'Grands dorsaux', 'Épaules',
'Deltoides Latéraux', 'Deltoïde Antérieur', 'Deltoïde Postérieur', 'Triceps', 'Triceps Longue Portion', 'Triceps Latéral', 'Triceps - Tête Médiane', 'Trapèzes', 'Trapèzes Supérieurs', 'Traps inférieurs', 'Quadriceps', 'Cuisse Intérieure', 'Quadriceps Internes', 'Quadriceps Externe', 'Rectus Femoris', 'Poitrine', 'Grand Pectoral', 'Milieu et Bas de la Poitrine', 'Obliques', 'Mains', 'Pieds', 'Épaules Avant', 'Épaules Arrière', 'Cou Nack', 'Aine']
EquipmentsCategory = Literal['Barre', 'Haltères', 'Poids corporel', 'Machine', 'Ballon de Médecine', 'Haltères Kettlebell',
'Étirements', 'Câbles', 'Groupe', 'Assiette', 'TRX', 'Yoga', 'Ballon Bosu', 'Vitruvian', 'Cardio', 'Smith-Machine', 'Récupération']
DifficultiesCategory = Literal['Débutant', 'Intermédiaire', 'Avancé', 'Novice']
class _IMuscles(TypedDict):
id: int
name: str
name_en_us: str
scientific_name: None
url_name: str
description: str
description_us: str
class _IGrips(TypedDict):
id: int
name: str
name_en_us: str
description: str
description_en_us: str
url_name: str
class _ICategory(TypedDict):
id: int
name: str
name_en_us: str
class _IDifficulty(TypedDict):
id: int
name: str
name_en_us: str
class _IForce(TypedDict):
id: int
name: str
url_name: str
name_en_us: str
description: str
description_en_us: str
class _IMechanic(TypedDict):
id: int
name: str
url_name: str
name_en_us: str
description: str
description_en_us: str
class _IImage(TypedDict):
id: int
order: int
src: Optional[str]
og_image: Optional[str]
original_video: Optional[str]
unbranded_video: Optional[str]
branded_video: Optional[str]
gender: int
exercise: int
class _IStep(TypedDict):
id: int
order: int
text: str
text_en_us: str
exercise: int
class _ITargetURL(TypedDict):
male: str
female: str
class IResponseExercise(TypedDict):
muscles: List[_IMuscles]
muscles_primary: Optional[List[_IMuscles]]
muscles_secondary: Optional[List[_IMuscles]]
muscles_tertiary: Optional[List[_IMuscles]]
grips: List[_IGrips]
category: _ICategory
additional_categories: List[_ICategory]
difficulty: _IDifficulty
force: _IForce
mechanic: _IMechanic
images: List[_IImage]
correct_steps: List[_IStep]
target_url: _ITargetURL
male_images: List[_IImage]
female_images: List[_IImage]
name: str
slug: str
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wikimuscle-1.0.0.tar.gz.
File metadata
- Download URL: wikimuscle-1.0.0.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ad1fb0b0b3876b31951881c9c395cf3c31b52f4299c46db54eaf414d9fb2f6c
|
|
| MD5 |
6668a54cde265aa65cff6f7132575297
|
|
| BLAKE2b-256 |
cfd534aa83477e2614994d39c86ee25b687e812536f2b5d8258ee0cd8ca3d9c6
|
File details
Details for the file wikimuscle-1.0.0-py3-none-any.whl.
File metadata
- Download URL: wikimuscle-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f2f1e1f49dcd60b43d654b25656c7bde4fb9db90ed372a7d15076e4c97f27c2
|
|
| MD5 |
98c11ee768d7da3b29f59ede28da2971
|
|
| BLAKE2b-256 |
f03ea58eac9df304611efb9f6dfe8c631e2ef9cbbf4af5ce71d8af9d21fc37fc
|