Utilisation Avancée
Notifications asynchrones
Section intitulée « Notifications asynchrones »Si vous exécutez votre code dans une boucle d’événements asyncio, vous pouvez utiliser async_notify() pour envoyer des notifications sans bloquer.
import asyncioimport apprise
async def main(): apobj = apprise.Apprise() apobj.add('mailto://user:pass@example.com')
# Attendre l'envoi de la notification await apobj.async_notify( title='Test asynchrone', body='Ceci a été envoyé de manière asynchrone', )
asyncio.run(main())Sérialisation (Pickle)
Section intitulée « Sérialisation (Pickle) »Les objets Apprise peuvent être sérialisés (pickled). Cela vous permet de configurer un objet Apprise une seule fois, de l’enregistrer sur disque (ou dans une base de données), puis de le recharger plus tard avec tous ses services déjà configurés.
import appriseimport pickle
# 1. Configurationapobj = apprise.Apprise()apobj.add("json://localhost")
# 2. Sérialisationserialized_data = pickle.dumps(apobj)
# ... plus tard dans votre code ...
# 3. Restaurationrestored_obj = pickle.loads(serialized_data)restored_obj.notify("Je suis de retour !")Bas niveau : l’objet de notification Apprise
Section intitulée « Bas niveau : l’objet de notification Apprise »Lorsque vous appelez Apprise.notify(), Apprise gère pour vous les tags, la configuration et la journalisation. Si vous devez contourner cela et interagir directement avec un objet de notification précis :
import apprise
# Instancier directement un seul objet de notification# (en contournant le gestionnaire Apprise())obj = apprise.Apprise.instantiate('glib://')
# Envoyer un contenu brutobj.send( body="Message brut", title="Titre brut")Prise en charge des proxys
Section intitulée « Prise en charge des proxys »Apprise envoie chaque notification via requests, qui respecte automatiquement les variables d’environnement standard HTTP_PROXY, HTTPS_PROXY et NO_PROXY. Aucune configuration spécifique à Apprise n’est nécessaire : définissez la variable avant de démarrer votre processus (ou exportez-la dans l’environnement dans lequel Apprise s’exécute) et chaque requête sortante passera par le proxy :
export HTTPS_PROXY="http://127.0.0.1:3128"export HTTP_PROXY="http://127.0.0.1:3128"
python3 my_script.pySi vous souhaitez que seul Apprise passe par le proxy (et non le reste de votre application), limitez la variable au sous-processus ou à l’environnement qui exécute Apprise plutôt que de l’exporter globalement — par exemple en la définissant pour une seule commande, ou dans la directive Environment= d’une unité systemd pour un service de longue durée.
NO_PROXY est également respectée, ce qui permet d’exempter certains hôtes :
export HTTPS_PROXY="http://127.0.0.1:3128"export NO_PROXY="localhost,127.0.0.1,internal.example.com" Questions ou commentaires ?
Documentation
Vous avez repéré une faute de frappe ou une erreur ?
Problèmes Techniques
Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :