Skip to main content

Henrri Connect

Version PyPI Python License: MIT Documentation Coverage Tests

docs/logo_plain.png

Bibliothèque Python souveraine pour l'API de facturation Henrri. Fournit un client synchrone et asynchrone pour interagir avec l'ensemble des ressources de l'API : clients, factures, articles, unités, revenus, etc.

Ce SDK est un client Python non officiel pour l’API Henrri. Il n’est ni affilié, ni soutenu, ni approuvé par Henrri. Henrri est une marque déposée appartenant à son éditeur.


Sommaire


Installation

pip install henrri-connect

Dépendances : httpx et pydantic v2.


Démarrage rapide

Authentification

Le client se connecte automatiquement à la première requête et gère le renouvellement du token. Il n'est pas nécessaire d'appeler authenticate() explicitement.

from henrri_connect import SyncHenrriClient

client = SyncHenrriClient("votre_client_id", "votre_client_secret")

L'URL par défaut est l'environnement sandbox (https://api-sandbox.henrri.io). Pour pointer vers la production, passez base_url :

client = SyncHenrriClient(
    "votre_client_id",
    "votre_client_secret",
    base_url="https://api.henrri.io",
)

Mode synchrone

Voir le guide complet d'utilisation synchrone : docs/usage_sync.md

Mode asynchrone

Voir le guide complet d'utilisation asynchrone : docs/usage_async.md


Modules disponibles

Le client expose un sous-client par ressource API. Chaque sous-client est identique en synchrone et asynchrone (les méthodes async renvoient des coroutines).

Attribut Description Documentation
client.secures Endpoint de santé de l'API docs/secures.md
client.users Utilisateurs et entreprises associées docs/users.md
client.companies Entreprises docs/companies.md
client.customers Clients (CRUD + contacts) docs/customers.md
client.documents Documents (factures, devis, BL…) docs/documents.md
client.document_lines Lignes de document docs/document_lines.md
client.document_types Types de document (référentiel) docs/document_types.md
client.document_line_types Types de ligne de document (référentiel) docs/document_line_types.md
client.items Articles / produits docs/items.md
client.item_categories Catégories d'articles docs/item_categories.md
client.units Unités de mesure docs/units.md
client.revenues Statistiques de revenus docs/revenues.md

Référence API complète : remiv1.github.io/henrri-connect


Gestion des erreurs

Toutes les erreurs HTTP sont converties en exceptions typées héritant de HenrriError :

Exception Code HTTP
HenrriAuthError 401 — Non authentifié
HenrriForbiddenError 403 — Accès interdit
HenrriNotFoundError 404 — Ressource introuvable
HenrriValidationError 400 / 422 — Données invalides
HenrriServerError 5xx — Erreur serveur
from henrri_connect import SyncHenrriClient
from henrri_connect.exc import HenrriNotFoundError, HenrriAuthError

client = SyncHenrriClient("client_id", "client_secret")

try:
    customer = client.customers.get(9999)
except HenrriNotFoundError:
    print("Client introuvable.")
except HenrriAuthError:
    print("Identifiants invalides.")

Développement

# Cloner le dépôt
git clone https://github.com/remiv1/henrri-connect.git
cd henrri-connect

# Créer un environnement virtuel et installer les dépendances dev
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"

# Lancer les tests
make test

# Générer la documentation
make docs

# Prévisualiser la documentation
make docs-serve

Commandes disponibles :

make test          # Lancer les 96 tests
make build         # Construire la distribution (wheel + sdist)
make build-verify  # Vérifier les artefacts avec twine
make publish       # Publier sur PyPI (demande confirmation)
make docs          # Générer la doc HTML dans docs/
make docs-serve    # Servir la doc localement (port 8080)
make docs-clean    # Nettoyer les fichiers générés
make all           # test + build + build-verify + publish + clean

Contribution

Les contributions sont les bienvenues ! Consultez CONTRIBUTING.md pour les conventions de code, le workflow de PR et les bonnes pratiques.


Licence

Distribué sous licence MIT. Voir LICENSE.

↑ Retour en haut

Metadata

Release files for henrri-connect 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for henrri-connect 0.2.2
File Size Uploaded
henrri_connect-0.2.2.tar.gz 50.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for henrri-connect 0.2.2
File Interpreter ABI Platform
henrri_connect-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 126.8 kB

Release files / henrri_connect-0.2.2.tar.gz

Download URL henrri_connect-0.2.2.tar.gz
Size 50.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e1eb3eb01dd0a886c528ab94e2612f786d40ab754fde28e7efb89953e60efa17
BLAKE2b-256 checksum
How to use checksums
985b8c58cfa54a35615b7dbde81709b599d1fbddb1e307b3ca2c2cad3c218628
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / henrri_connect-0.2.2-py3-none-any.whl

Download URL henrri_connect-0.2.2-py3-none-any.whl
Size 76.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5936d1947b51e1f90f3eac5e905dcc8c02b5d582e9c59af0b9bcea993b7d4c9
BLAKE2b-256 checksum
How to use checksums
113023a152c3a3dc0de44dfd8175f33bb44fdc112b6a5d870104764dd3ccd6f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page