Official Moncreneau API client for Python
Project description
Moncreneau Python SDK
Official Moncreneau API client for Python.
Installation
pip install moncreneau
Quick Start
from moncreneau import Moncreneau
client = Moncreneau('mk_live_YOUR_API_KEY')
# Create an appointment
appointment = client.appointments.create(
department_id=5, # Integer: ID du département
date_time='2026-01-20T10:00:00',
name='Jean Dupont' # Nom du bénéficiaire
)
print(appointment['id']) # 123
Documentation
Full documentation available at: https://moncreneau-docs.vercel.app/docs/v1/sdks/python
Features
- ✅ Full type hints support
- ✅ Automatic error handling
- ✅ Webhook signature verification
- ✅ Comprehensive documentation
- ✅ Python 3.7+ support
Usage
Configuration
client = Moncreneau(
api_key='mk_live_...',
base_url='https://mc-prd.duckdns.org/api/v1', # optional
timeout=30 # optional, in seconds
)
Appointments
# Create
appointment = client.appointments.create(
department_id=5, # Integer: ID du département
date_time='2026-01-20T10:00:00',
name='Jean Dupont' # Nom du bénéficiaire
)
# List
appointments = client.appointments.list(
page=0,
size=20,
status='SCHEDULED'
)
# Retrieve
appointment = client.appointments.retrieve('appt_abc123')
# Cancel
client.appointments.cancel('appt_abc123')
Departments
# List departments
departments = client.departments.list()
# Get availability
availability = client.departments.get_availability(
'dept_123',
start_date='2026-01-20',
end_date='2026-01-27'
)
Error Handling
from moncreneau import Moncreneau, MoncreneauError
try:
appointment = client.appointments.create(...)
except MoncreneauError as error:
print(f'Code: {error.code}')
print(f'Message: {error.message}')
print(f'Status: {error.status_code}')
print(f'Details: {error.details}')
Webhooks
from moncreneau import Moncreneau
# In your Flask/Django/FastAPI endpoint
@app.route('/webhooks/moncreneau', methods=['POST'])
def webhook():
signature = request.headers.get('X-Webhook-Signature')
is_valid = Moncreneau.verify_webhook_signature(
request.json,
signature,
os.getenv('WEBHOOK_SECRET')
)
if not is_valid:
return 'Invalid signature', 401
# Process webhook
event = request.json
print(f"Event type: {event['type']}")
return 'OK', 200
Examples
Flask Application
from flask import Flask, request, jsonify
from moncreneau import Moncreneau, MoncreneauError
import os
app = Flask(__name__)
client = Moncreneau(os.getenv('MONCRENEAU_API_KEY'))
@app.route('/appointments', methods=['POST'])
def create_appointment():
try:
appointment = client.appointments.create(
department_id=request.json['departmentId'],
date_time=request.json['dateTime'],
user_name=request.json['userName'],
user_phone=request.json['userPhone']
)
return jsonify(appointment)
except MoncreneauError as error:
return jsonify({
'error': error.code,
'message': error.message
}), error.status_code
Django View
from django.http import JsonResponse
from moncreneau import Moncreneau, MoncreneauError
import json
import os
client = Moncreneau(os.getenv('MONCRENEAU_API_KEY'))
def create_appointment(request):
try:
data = json.loads(request.body)
appointment = client.appointments.create(
department_id=data['departmentId'],
date_time=data['dateTime'],
user_name=data['userName'],
user_phone=data['userPhone']
)
return JsonResponse(appointment)
except MoncreneauError as error:
return JsonResponse({
'error': error.code,
'message': error.message
}, status=error.status_code)
Support
- Documentation: https://moncreneau-docs.vercel.app
- PyPI: https://pypi.org/project/moncreneau
- Email: moncreneau.rdv@gmail.com
- Issues: GitHub Issues
License
MIT © Moncreneau
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
moncreneau-2.0.0.tar.gz
(6.5 kB
view details)
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 moncreneau-2.0.0.tar.gz.
File metadata
- Download URL: moncreneau-2.0.0.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d88c2899ab92f713f7e12a7a3ba90434e2ddb1cd238ff9c48244c6f83bcc8106
|
|
| MD5 |
a2626065c8feda6015c6afb01ff9e360
|
|
| BLAKE2b-256 |
5ee82cf48b52291154c16dcce6a49eafbc56538d96ca49bb779510e41eb11751
|
File details
Details for the file moncreneau-2.0.0-py3-none-any.whl.
File metadata
- Download URL: moncreneau-2.0.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4e4cd47f392c4bacba9d52b0098c03b4436e02cc3d99ed54c3a60a671453c6e
|
|
| MD5 |
bdee8b6fe7a6e345821123df026e9acd
|
|
| BLAKE2b-256 |
0f289c3d049e4b9220f7771d47a0c6d61fc60a83793485f6f9f71ed692889fb6
|