{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/3"}],"enrichment":{"capability":"lml provides a lazy plugin management system that discovers and loads plugins on demand rather than at startup, designed to defer loading of plugins with heavy external dependencies.","skillfed_tags":["plugin-system","lazy-loading"],"use_cases":["Modular data processing libraries where users install only the format handlers or transformers they need","Applications with optional integrations that should not load unless used","Large projects that want to split functionality into separate packages to reduce initial import time","Plugin ecosystems where end users can extend functionality by installing third-party packages without modifying core code"],"what_it_does":"lml is a plugin management framework that lets you define, discover, and load plugins from your Python environment without loading them all at startup. Instead of importing all plugins upfront\u2014which can be slow and memory-intensive if they have heavy dependencies\u2014lml defers loading until you actually request a plugin. You decorate plugin classes or functions with @PluginInfo, subclass PluginManager to define how plugins are retrieved, and call get_a_plugin() when needed. The system discovers plugins installed in your environment automatically, so users can add or remove plugins via pip without changing your application code.\n\nThe package has no runtime dependencies and is designed for library authors who want to let their users pick and choose optional functionality. It replaces the Factory pattern with a discovery-based approach, making it easier to distribute related features across separate installable packages. lml handles the registration and lookup; you handle the plugin interface design.","worth_installing":"Yes, if you are building a library or application that needs a plugin architecture and want to defer loading of heavy dependencies. The package is stable, has no external dependencies, and is used in established projects. However, the aging maintenance status means you should verify it works with your target Python versions before committing to it as a core dependency."},"id":"lml","links":{"html":"https://skillfed.io/packages/lml","md":"https://skillfed.io/packages/lml.md","pypi":"https://pypi.org/project/lml/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-03-16","license_spdx":null,"license_treatment":"permissive","name":"lml","python_support":"unspecified","summary":"Load me later. A lazy plugin management system."},"popularity":{"monthly_downloads":2580018,"position":2992,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.2.0"}
