{"categories":[{"label":"Pre-processors","url":"https://skillfed.io/packages/category/software-development-pre-processors"}],"enrichment":{"capability":"Declares interfaces and statically asserts that classes implement them, offering stricter semantics and better error messages than Python's built-in abc module.","skillfed_tags":["interface-checking","abandoned"],"use_cases":["Enforce strict interface contracts in large codebases where implicit duck-typing leads to hard-to-debug errors","Document expected method signatures and behavior for plugin or extension systems","Catch interface violations at class definition time rather than at runtime call sites","Replace or augment abc module when you need clearer error messages for interface mismatches"],"what_it_does":"python-interface provides a way to define interfaces in Python and verify at class definition time that implementations satisfy those interfaces. It wraps Python's abstract base class (abc) module with a stricter, more explicit API that aims to catch interface violations earlier and report them more clearly.\n\nThe package is a lightweight, dependency-free library that works by declaring interface contracts and then checking that concrete classes properly implement them. It's designed for developers who want compile-time-like interface checking in a dynamically-typed language, similar to protocols or interfaces in statically-typed languages.","worth_installing":"No. The package is abandoned (last release 2021-04-21, no commits since) and lacks support for modern Python versions. While the Apache 2.0 license is permissive and there are no known vulnerabilities, the high install friction combined with zero maintenance makes it a poor choice for new projects. Consider Python's built-in abc or typing.Protocol instead."},"id":"python-interface","links":{"html":"https://skillfed.io/packages/python-interface","md":"https://skillfed.io/packages/python-interface.md","pypi":"https://pypi.org/project/python-interface/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2021-04-21","license_spdx":null,"license_treatment":"permissive","name":"python-interface","python_support":"unspecified","summary":"Pythonic Interface definitions"},"popularity":{"monthly_downloads":575589,"position":5937,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.6.1"}
