Skip to main content

Load me later. A lazy plugin management system.

Project description

https://api.travis-ci.org/chfw/lml.svg https://codecov.io/github/chfw/lml/coverage.png https://readthedocs.org/projects/lml/badge/?version=latest

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.

Installation

You can install lml via pip:

$ pip install lml

or clone it and install it:

$ git clone https://github.com/chfw/lml.git
$ cd lml
$ python setup.py install

License

New BSD

Change log

0.0.6 - 07/11/2018

Fixed

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

0.0.5 - 06/11/2018

Fixed

  1. #6: Catch and Ignore ModuleNotFoundError

0.0.4 - 07.08.2018

Added

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

0.0.3 - 12/06/2018

Added

  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

Updated

  1. pyexcel#103: include LICENSE in tar ball

0.0.1 - 30/05/2017

Added

  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.

Source Distribution

lml-0.0.6.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

lml-0.0.6-py2.py3-none-any.whl (8.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file lml-0.0.6.tar.gz.

File metadata

  • Download URL: lml-0.0.6.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for lml-0.0.6.tar.gz
Algorithm Hash digest
SHA256 d9e81ed8395c8a5bdccb79c1015a7e5a64909a2df44e5f416a390f6bf593e74e
MD5 bae4edcee3f64902fa8c39a185027e80
BLAKE2b-256 18185b3661cb07695d44db6ebf8a2c8e834b82f28cb5f6b6b53a86eab1976736

See more details on using hashes here.

File details

Details for the file lml-0.0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: lml-0.0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for lml-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e29ca6078218915cb35c6b21747d0b2b91f6b800ac5565d4bceb35258215b2f7
MD5 bb7892afd9958aff4178c9365ac24845
BLAKE2b-256 561d975b6a39e303e9877d99dacf7e28d88b7118e084e2ee1d10344335c0a505

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