Skip to main content

Load me later. A lazy plugin management system.

Project description

lml seamlessly finds the lml based plugins from your current python environment but loads your plugins on demand. It is designed to support plugins that have external dependencies, especially bulky and/or memory hungry ones. lml provides the plugin management system only and the plugin interface is on your shoulder.

lml enabled applications helps your customers [1] in two ways:

  1. Your customers could cherry-pick the plugins from pypi per python environment. They could remove a plugin using pip uninstall command.
  2. Only the plugins used at runtime gets loaded into computer memory.

When you would use lml to refactor your existing code, it aims to flatten the complexity and to shrink the size of your bulky python library by distributing the similar functionalities across its plugins. However, you as the developer need to do the code refactoring by yourself and lml would lend you a hand.

[1]the end developers who uses your library and packages achieve their objectives.


You can install lml via pip:

$ pip install lml

or clone it and install it:

$ git clone
$ cd lml
$ python install



Change log

0.0.9 - 7/1/2019


  1. #11: more test contents for OpenSuse package validation

0.0.8 - 4/1/2019


  1. #9: include tests, docs for OpenSuse package validation

0.0.7 - 17/11/2018


  1. #8: get_primary_key will fail when a module is loaded later
  2. deprecated old style plugin scanner: scan_plugins

0.0.6 - 07/11/2018


  1. Revert the version 0.0.5 changes. Raise Import error and log the exception

0.0.5 - 06/11/2018


  1. #6: Catch and Ignore ModuleNotFoundError

0.0.4 - 07.08.2018


  1. #4: to find plugin names with different naming patterns

0.0.3 - 12/06/2018


  1. dict can be a pluggable type in addition to function, class
  2. get primary tag of your tag, helping you find out which category of plugins your tag points to

0.0.2 - 23/10/2017


  1. pyexcel#103: include LICENSE in tar ball

0.0.1 - 30/05/2017


  1. First release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for lml, version 0.0.9
Filename, size & hash File type Python version Upload date
lml-0.0.9-py2.py3-none-any.whl (9.9 kB) View hashes Wheel 3.6
lml-0.0.9.tar.gz (25.1 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page