Skip to main content

SDK Python pour accéder à l’API GoodReads

Project description

📚 Mauribooks SDK

Un SDK Python moderne et intuitif pour interagir avec l'API GoodReads/Mauribooks, spécialement conçu pour les professionnels de la data.

PyPI version Python 3.8+ License: MIT


Fonctionnalités principales

  • Simple et intuitif : API claire et documentée
  • Multi-format : Support natif de Pydantic, dictionnaires et DataFrames Pandas
  • Flexible : Compatible avec APIs locales et déployées
  • Performant : Optimisé pour l'analyse de données
  • Type-safe : Validation des données avec Pydantic
  • Data-friendly : Conçu pour les workflows d'analyse

Installation rapide

pip install mauribooks

Prérequis : Python 3.10+


Démarrage rapide

Configuration initiale

from mauribooks import BookClient, BookConfig

# Configuration avec l'API hébergée
config = BookConfig(book_base_url="https://books-project-api.onrender.com")
client = BookClient(config=config)

# Vérification de la connexion
status = client.health_check()
print(status)  # {"message": "API Goodreads opérationnelle"}

Exemples d'utilisation

Récupérer un livre spécifique

# Récupération avec validation Pydantic
book = client.get_book(1)
print(f"Titre: {book.title}")
print(f"Auteur: {book.author}")
print(f"Note moyenne: {book.average_rating}")

Analyse de données avec Pandas

# Export direct vers DataFrame pour l'analyse
df_books = client.list_books(limit=100, output_format="pandas")

# Analyse statistique immédiate
print(df_books.describe())
print(f"Top 5 des genres: {df_books['genre'].value_counts().head()}")

# Compatible avec tous vos outils data favoris
import matplotlib.pyplot as plt
df_books['average_rating'].hist()
plt.show()

Flexibilité des formats de sortie

# Format Pydantic (défaut) - Type-safe et validé
books_pydantic = client.list_books(limit=10)

# Format dictionnaire - Pour l'intégration avec APIs
books_dict = client.list_books(limit=10, output_format="dict")

# Format Pandas - Pour l'analyse de données
books_df = client.list_books(limit=10, output_format="pandas")

API Reference

Méthodes principales

Méthode Description Formats supportés
health_check() Vérification de l'état de l'API dict
get_book(id) Récupération d'un livre par ID Pydantic
list_books(**kwargs) Liste des livres avec filtres pydantic, dict, pandas
list_authors(**kwargs) Liste des auteurs pydantic, dict, pandas
list_ratings(**kwargs) Liste des évaluations pydantic, dict, pandas

Paramètres de configuration

config = BookConfig(
    book_base_url="https://books-project-api.onrender.com",  
    timeout=30,                                # Timeout des requêtes (optionnel)
)

Développement local

Pour tester avec une instance locale :

# Configuration pour développement local
config = BookConfig(book_base_url="http://localhost:8000")
client = BookClient(config=config)

# Même API, même simplicité
local_books = client.list_books(limit=5, output_format="pandas")

Cas d'usage

Pour les Data Scientists

# Pipeline d'analyse complet
df = client.list_books(limit=1000, output_format="pandas")
analysis = df.groupby('genre').agg({
    'average_rating': 'mean',
    'ratings_count': 'sum'
}).round(2)

Pour l'intégration API

# Format dictionnaire pour l'intégration
books_data = client.list_books(limit=50, output_format="dict")

Développement et contribution

Installation en mode développement

git clone https://github.com/Daouda-Ba/Books_Project_API.git
cd mauribooks
pip install -e ".[dev]"

Tests

pytest tests/

Roadmap

  • Support des requêtes asynchrones
  • Cache intelligent des données
  • Export vers autres formats (JSON, CSV, Parquet)
  • Interface CLI
  • Documentation interactive

Public cible

  • Data Scientists : Analyse et modélisation de données littéraires
  • Data Analysts : Reporting et visualisation de métriques
  • Développeurs Python : Intégration rapide d'APIs de livres
  • Étudiants : Apprentissage de l'analyse de données
  • Chercheurs : Études sur les tendances littéraires


Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.


Liens utiles


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mauribooks-0.1.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mauribooks-0.1.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file mauribooks-0.1.0.tar.gz.

File metadata

  • Download URL: mauribooks-0.1.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for mauribooks-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ae7aa8a17cfff54c214411415db193f37ca65f216faf2b556b053722a5958d09
MD5 b422bf58a4ac3cd50ccd74b09fd13312
BLAKE2b-256 327881cbcd60361a96452a5ab81fd05f55c6c887b4f439c04bcc6c475e3e27a5

See more details on using hashes here.

File details

Details for the file mauribooks-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mauribooks-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for mauribooks-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a734fba920f8b5b2618b5179f10055ad2b768d74842d3f6230de6f6f9fc8941
MD5 3a32cbd85282772c1d1a8c4d08e64304
BLAKE2b-256 5c2b476f459b79e464536ea7fb5c66f5e925c42ae347350f0211a6e6a3dc1442

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page