Python wrapper for the Mochi spaced repetition platform API
Project description
Mochi API Client
The Mochi API Client is a Python library designed to simplify interacting with the Mochi API, allowing developers to easily create, retrieve, update, and delete cards and decks within their Python applications.
Features
- Simplified access to the Mochi API endpoints
- Methods for managing cards, decks, and templates
- Support for custom fields and attachments in cards
- Easy to integrate with Python applications
Installation
Install the Mochi API Client using pip:
pip install mochi-api-client
Quick Start
Here's a quick example to get you started:
from mochi.client import Mochi
from mochi.auth import Auth
auth = Auth.Token("find api token in mochi settings page")
mochi = Mochi(auth=auth)
# list decks
decks = mochi.decks.list_decks()
print(decks)
if len(decks) < 1:
# Working with decks
new_deck = mochi.decks.create_deck(name="My new deck")
print(new_deck)
# Working with cards
new_card = mochi.cards.create_card("New card content", (decks[0])["id"])
print(new_card)
# Working with templates
templates = mochi.templates.list_templates()
print(templates)
mochi.close()
Diagrams
Sequence Diagram
A sequence diagram to show the interaction between the client and the API when creating a new card.
Sequence Diagram for Creating a Card
sequenceDiagram
participant User
participant MochiClient as Mochi Client
participant CardsAPI as Cards API
User->>MochiClient: create_card(content, deck_id, kwargs)
MochiClient->>CardsAPI: POST /cards
CardsAPI-->>MochiClient: 201 Created
MochiClient-->>User: New card details
Class Diagram
classDiagram
class Mochi {
-session: Session
-cards: Cards
-decks: Decks
-templates: Templates
+__init__(auth: Auth, base_url: str)
+close()
}
class Auth {
+Token(api_key: str)
}
class Cards {
+__init__(session: Session, base_url: str)
+create_card(content: str, deck_id: str, kwargs: dict)
+get_card(card_id: str)
+update_card(card_id: str, kwargs: dict)
+delete_card(card_id: str)
+list_cards(deck_id: str)
}
class Decks {
+__init__(session: Session, base_url: str)
+create_deck(name: str, kwargs: dict)
+get_deck(deck_id: str)
+update_deck(deck_id: str, kwargs: dict)
+delete_deck(deck_id: str)
+list_decks()
}
class Templates {
+__init__(session: Session, base_url: str)
+get_template(template_id: str)
+list_templates()
}
Mochi --> Auth
Mochi --> Cards
Mochi --> Decks
Mochi --> Templates
Documentation
For detailed documentation on all available methods and their parameters, visit Mochi API Documentation.
Contributing
Contributions are welcome! Please read our Contributing Guide for details on how to submit pull requests, report issues, and suggest improvements.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
If you encounter any problems or have suggestions, please file an issue on the GitHub issue tracker.
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
Built Distribution
File details
Details for the file mochi_api_client-0.1.4.tar.gz
.
File metadata
- Download URL: mochi_api_client-0.1.4.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cff8e8c7dde1569c01e998732b5e46582873e7516f6d8bef61c696e247a7da5d |
|
MD5 | d022df018c3ff9af9ec55243dd8b8edd |
|
BLAKE2b-256 | 0ab533c1438b5e91e2f446db833b478398475a7db71b71262a7430bec1058dd8 |
File details
Details for the file mochi_api_client-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: mochi_api_client-0.1.4-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c076b90b16aeb39049afcfa9771bbb30b2309849d9c16d92a699e13bc8a5d7b |
|
MD5 | bae207d1cbfe218cdabc5873658f3c32 |
|
BLAKE2b-256 | 2d755d5729bba882c862e91ec7039f9a538a7b6248603efef5d71bf3b52ebe6b |