Les SDKs officiels permettent d'intégrer facilement l'API Militant dans vos applications Python et JavaScript/Node.js.
requestsaxiosCopier le fichier
cp api/sdk/python/militant.py votre_projet/Installer les dépendances
pip install requests
Copier le fichier
cp api/sdk/javascript/militant.js votre_projet/Installer les dépendances
npm install axios
from militant import MilitantClientInitialiser
client = MilitantClient('https://militant.revlibertaire.com')Se connecter
user = client.login('username', 'password')Récupérer le fil d'actualité
timeline = client.get_timeline()Créer un post
post = client.create_post('Hello from Python!')
const MilitantClient = require('./militant');(async () => {
// Initialiser
const client = new MilitantClient('https://militant.revlibertaire.com');
// Se connecter
const user = await client.login('username', 'password');
// Récupérer le fil d'actualité
const timeline = await client.getTimeline();
// Créer un post
const post = await client.createPost('Hello from JavaScript!');
})();
Les deux SDKs supportent toutes les fonctionnalités de l'API:
X-Flutter-App: militant-flutter-v1Pour une documentation complète avec tous les exemples:
L'API et les SDKs supportent:
client = MilitantClient('https://militant.revlibertaire.com')
client.login('bot_username', 'bot_password')Récupérer les signalements
reports = client.get_reports()
for report in reports['data']:
if report['reason'] == 'spam':
# Voter pour approuver
client.vote_on_report(report['id'], 'approve')
const client = new MilitantClient('https://militant.revlibertaire.com');// Login utilisateur
await client.login(username, password);
// Afficher le fil d'actualité
const timeline = await client.getTimeline(1, 20);
displayPosts(timeline.data.items);
// Créer un post avec upload
const formData = new FormData();
formData.append('file', imageFile);
const upload = await client.uploadMedia(formData);
await client.createPost('Check this out!', upload.data.url);
client = MilitantClient('https://militant.revlibertaire.com')
client.login('username', 'password')Exporter toutes les données
data = client.export_data()Sauvegarder en JSON
import json
with open('my_data.json', 'w') as f:
json.dump(data, f, indent=2)
Problème avec un SDK? Ouvrez une issue sur GitLab:
Les contributions sont les bienvenues! Pour contribuer: 1. Fork le projet sur GitLab 2. Créez une branche pour votre fonctionnalité 3. Committez vos changements 4. Poussez vers la branche 5. Ouvrez une Merge Request
Les SDKs sont distribués sous la même licence que l'API Militant. Voir le fichier LICENSE à la racine du projet.