Skip to main content

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

impmagic-0.2.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

impmagic-0.2.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

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

Hashes for impmagic-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6180da0b87814169deece695bee9489c72931a40a02ffacf2771e2da4818a9f4
MD5 09a22bd1b05aa27dd8f9952aa8ae2573
BLAKE2b-256 cc55fd8cce1f19642c5c161a96018c20d393505a20587f8c4d82d72691610ed4

See more details on using hashes here.

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

Hashes for impmagic-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6dda01e67ac1a0d1c443a4b29583cb2b76f0961413083b49c9b13315bf836d77
MD5 4245435d05578667188af7088cb1df13
BLAKE2b-256 6837f65d5f2f1900f287b3da4f1ab386c1078cc9773f6014b91c67e6df15c6a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page