{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/10"}],"enrichment":{"capability":"Provides thread-safe and thread-unsafe singleton type decorators for Python, allowing you to create classes that instantiate only once.","skillfed_tags":["design-pattern","singleton","thread-safe"],"use_cases":["Enforce a single global logger or configuration manager instance across an application.","Create thread-safe service objects that should only be instantiated once in a multi-threaded environment.","Build a single-instance cache or connection pool that all parts of the code share.","Implement a registry or factory that must exist as exactly one instance throughout the application lifecycle."],"what_it_does":"solus provides two singleton type classes\u2014Singleton and UnsafeSingleton\u2014that enforce the singleton pattern at the class level. Singleton creates thread-safe instances that can be safely instantiated from multiple threads, while UnsafeSingleton creates faster but non-thread-safe singletons intended for single-threaded contexts. You inherit from either class to make your class a singleton; subsequent instantiation attempts return the same instance.\n\nThe package depends only on named, a utility library for type annotations. It's a minimal, focused tool for developers who need singleton behavior without rolling their own implementation or pulling in a large framework. The library is typed and supports Python 3.8 through 3.12.","worth_installing":"Yes, if you need singleton behavior and want a lightweight, typed implementation. The package is stable, has no vulnerabilities, and low install friction. However, maintenance is dormant\u2014no updates in over 900 days\u2014so consider it only if the current feature set meets your needs and you're comfortable with no active support."},"id":"solus","links":{"html":"https://skillfed.io/packages/solus","md":"https://skillfed.io/packages/solus.md","pypi":"https://pypi.org/project/solus/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-02-26","license_spdx":null,"license_treatment":"permissive","name":"solus","python_support":"supports_current","summary":"Singleton types."},"popularity":{"monthly_downloads":115304,"position":12259,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.2.2"}
