Librairie pour l'importation optimisé de module python
Project description
impmagic
Informations
Librairie pour l'importation optimisé de module python. Fonctionne principalement avec des décorateurs, ce qui permet de charger les modules uniquement lorsqu'ils sont nécessaires. Toutes ces fonctions se basent sur un système de cache pour recharger plus rapidement les modules lorsqu'ils sont appelés par d'autres fonctions.
Prérequis
- Python 3
Installation
pip install impmagic
Utilisation
Importer des modules avec un décorateur
Cette option permet d'importer les modules nécessaires à la fonction uniquement lorsque celle-ci est utilisé. Pour son fonctionnement, il faut lui envoyer une liste ou un tuple contenant des dictionnaires d'informations. Chaque dictionnaire doit contenir au minimum la clé module, mais peut également contenir une liste de sous-module (submodule) ou encore l'option as (comme les import classique)
@impmagic.loader(
{'module':'zpp_args'},
{'module':'os.path', 'submodule': ['exists']},
{'module':'psutil', 'as': 'psfunction'},
{'module':'toml_nxs.toml', 'submodule': ['TOML'], 'as': 'TOMLnxs'}
)
def function(self):
#MyCode
Importer des modules dans une fonction
Il est également possible de charger des modules dans une fonction. Pour cela, on utilise la méthode load. Nous pouvons lui envoyer un simple str avec le nom du module, mais nous pouvons également lui envoyer les mêmes types de données que le décorateur loader.
impmagic.load('os')
Enlever un module importé
Il est possible de supprimer d'une fonction un module qui a été importé précédemment. Il suffit d'appeler la méthode unload avec le nom du module en paramètre. Par défaut, le module restera dans le cache, il faut ajouter l'option uncache=True pour le supprimer également du cache.
impmagic.unload('os')
Réimporter un module
Il est possible de réimporter un module déjà importé. Cela peut être nécessaire lorsque nous faisons des tests sur un module et que nous voulons voir les changements de suite sans avoir besoin de quitter le shell en cours.
impmagic.reload('os')
Utiliser un module sans l'importer
Il est possible d'utiliser un module sans avoir besoin de l'importer grâce à la méthode get.
module = impmagic.get('os')
module.mkdir(dir)
Utiliser un module sans l'importer depuis un fichier
Il est possible d'utiliser un module sans avoir besoin de l'importer grâce à la méthode get.
module = impmagic.get_from_file('os.py')
module.mkdir(dir)
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
Built Distribution
File details
Details for the file impmagic-0.2.1.tar.gz
.
File metadata
- Download URL: impmagic-0.2.1.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: nexus/0.5.0 CPython/3.12.4 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6180da0b87814169deece695bee9489c72931a40a02ffacf2771e2da4818a9f4 |
|
MD5 | 09a22bd1b05aa27dd8f9952aa8ae2573 |
|
BLAKE2b-256 | cc55fd8cce1f19642c5c161a96018c20d393505a20587f8c4d82d72691610ed4 |
File details
Details for the file impmagic-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: impmagic-0.2.1-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: nexus/0.5.0 CPython/3.12.4 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dda01e67ac1a0d1c443a4b29583cb2b76f0961413083b49c9b13315bf836d77 |
|
MD5 | 4245435d05578667188af7088cb1df13 |
|
BLAKE2b-256 | 6837f65d5f2f1900f287b3da4f1ab386c1078cc9773f6014b91c67e6df15c6a0 |