XEphemere
XEphemere est un module Python dédié à la gestion de données et d'objets éphémères.
Il permet notamment de créer des fichiers temporaires avec expiration automatique, de gérer des listes à durée de vie limitée et d'exécuter des callbacks après un délai.
Installation
pip install XEphemere
Fonctionnalités
- 📄 Création de fichiers éphémères
- ⏳ Expiration automatique des fichiers
- 🗑️ Suppression automatique des données expirées
- 📋 Listes temporaires avec
Mirage - ⏱️ Gestion du temps restant
- ➕ Ajout de temps
- 🔄 Modification de la durée
- ❌ Suppression du minuteur
- ⏲️ Sabliers avec callbacks
- 🌫️ Fonctions de transformation de données
Importation
from XEphemere import (
ephemere,
DeleteError,
open_ephemere,
ghost,
souffle,
evaporation,
sablier,
sablier_time,
Mirage,
)
Fichiers éphémères
ephemere()
Crée un fichier dont la durée de vie est limitée.
ephemere(
duree=60,
name="file.tmp",
value="Bonjour !"
)
Le fichier est créé avec une date d'expiration.
open_ephemere
Permet d'ouvrir et de lire un fichier éphémère.
with open_ephemere("file.tmp") as fichier:
print(fichier.value())
Vérifier son existence
with open_ephemere("file.tmp") as fichier:
print(fichier.exist())
Si le fichier a expiré, il est automatiquement supprimé.
DeleteError
Exception utilisée lorsqu'une opération concerne une donnée éphémère qui n'existe plus.
from XEphemere import DeleteError
try:
...
except DeleteError:
print("La donnée a expiré.")
Mirage
Mirage est une liste Python éphémère.
Elle fonctionne comme une liste normale, mais son contenu est automatiquement effacé après une durée donnée.
from XEphemere import Mirage
mirage = Mirage(
["Bonjour", "XEphemere"],
duree=60
)
print(mirage)
Temps restant
print(mirage.time_remaining())
La méthode retourne le nombre de secondes restantes.
Si aucun minuteur n'est actif :
None
est retourné.
Modifier la durée
mirage.set_time(120)
La durée restante est remplacée par 120 secondes.
Ajouter du temps
mirage.add_time(30)
Ajoute 30 secondes au temps restant.
Supprimer le minuteur
mirage.remove_time()
Le minuteur est annulé et la liste n'est plus automatiquement effacée.
Sablier
Le système de sablier permet d'exécuter une fonction après un certain délai.
from XEphemere import sablier
def termine():
print("Le temps est écoulé !")
sablier(
temps=5,
callback=termine
)
Le programme peut continuer son exécution pendant l'attente.
sablier_time
Version asynchrone du sablier.
import asyncio
from XEphemere import sablier_time
async def main():
await sablier_time(
5,
lambda: print("Terminé !")
)
asyncio.run(main())
Autres fonctions
XEphemere fournit également plusieurs fonctions destinées à manipuler ou transformer des données :
ghost
Fonctionnalité permettant de travailler avec des données éphémères.
souffle
Fonctionnalité de transformation de données.
evaporation
Réduit les chaînes de caractères selon un taux donné.
from XEphemere import evaporation
mots = [
"Bonjour",
"Python",
"XEphemere"
]
resultat = evaporation(mots, 0.5)
print(resultat)
Exemple complet
import time
from XEphemere import Mirage
mirage = Mirage(
["Message temporaire"],
duree=10
)
print("Contenu :", mirage)
print("Temps restant :", mirage.time_remaining())
mirage.add_time(5)
print("Nouveau temps :", mirage.time_remaining())
time.sleep(3)
print("Temps restant :", mirage.time_remaining())
Après expiration, la liste est automatiquement vidée.
Version
Version actuelle :
0.1.1
Compatibilité
Python 3.10+
Licence
Ce projet est distribué sous licence MIT.
Voir le fichier LICENSE.
Auteur
Loup / Loup007A
Statut
🚧 Projet en développement.
Les fonctionnalités et l'API peuvent évoluer dans les prochaines versions.
Metadata
Release files for XEphemere 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xephemere-0.1.1.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xephemere-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.4 kB
Release files / xephemere-0.1.1.tar.gz
| Download URL | xephemere-0.1.1.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1243e7715014fb943f008015d9da7cdc2c7b8f919c9c71b9e8d55c9a39fc84fd
|
|
BLAKE2b-256 checksum How to use checksums |
e80c8755bd1516eeed2c8721b0f880443a30de597e25fb75536e54ebbd9bfd8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|
Release files / xephemere-0.1.1-py3-none-any.whl
| Download URL | xephemere-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5ba7db965b554dc8e3052d2e894e1ec86a254798880893463293fd85daf63ae
|
|
BLAKE2b-256 checksum How to use checksums |
0d576b48603928f51228fb03e08f3e6276310a5ac9ac2ce6a197a05244644008
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|