python-interface
Pythonic Interface definitions
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Package is abandoned and untested on Python versions beyond 3.8; compatibility with recent Python releases is unverified.
- High install friction and abandoned maintenance status since 2021-04-21—no updates in years.
- The package is marked Production/Stable but receives no active support or bug fixes.
License · maintenance · safety
Apache 2.0 (permissive) — Apache 2.0 permissive license allows commercial and private use with minimal restrictions, suitable for most projects.
last release 2021-04-21 (1941 days) · last repo commit 2021-04-21 · 111 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 575,589 downloads/mo, #5,937 on PyPI
Alternatives
Verify before relying
pip install python-interface
from interface import Interface, implements
class MyInterface(Interface):
def my_method(self): pass
@implements(MyInterface)
class MyClass:
def my_method(self):
return 'implemented'- Whether the package works reliably with Python versions beyond 3.8, given its last release predates modern Python releases
- Whether static assertion behavior matches current abc module semantics in recent Python versions
- Real-world adoption and maintenance burden if issues arise in production use
What it is and 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.
The 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.
Use it for
- 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
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
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.
Install
python-interface on PyPI
Before you install
High install friction and abandoned maintenance status since 2021-04-21—no updates in years. The package is marked Production/Stable but receives no active support or bug fixes.
Package is abandoned and untested on Python versions beyond 3.8; compatibility with recent Python releases is unverified.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions, suitable for most projects.
Quickstart
pip install python-interface
from interface import Interface, implements
class MyInterface(Interface):
def my_method(self): pass
@implements(MyInterface)
class MyClass:
def my_method(self):
return 'implemented'
Verify before relying
- Whether the package works reliably with Python versions beyond 3.8, given its last release predates modern Python releases
- Whether static assertion behavior matches current abc module semantics in recent Python versions
- Real-world adoption and maintenance burden if issues arise in production use
Package facts
| License | Apache 2.0 permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 1,941 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 575,589 / month, #5,937 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Software Development :: Pre-processors |
Evidence: python-interface-1.6.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “interface declaration python”
- python-interfaceDeclares interfaces and statically asserts that classes implement…
- zope.interfaceProvides a Python implementation of object interfaces for declaring…
- valohai-papiPapi provides an imperative Python API for declaring Valohai machine…
Give your agent the search over MCP, or paste the wish link into any chat.
More Pre-processors packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Annotates Python abstract syntax trees with the positions of tokens and source code text, enabling tools to map AST nodes back to their originating code for refactoring, analysis, and transformation.
progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.
jusText removes boilerplate content (navigation, headers, footers) from HTML pages while preserving text with full sentences, useful for extracting clean content for linguistic analysis and web corpora.
However, maintenance is aging (535 days since last release), so it is best suited for established use cases where the algorithm is known to work well for your content…
Generates shell tab completion scripts for Python CLI applications built with argparse, supporting bash, zsh, fish, and tcsh without runtime overhead.
Install it if you build Python command-line tools and want to offer your users fast, reliable shell completion.
Minifies JavaScript code by removing unnecessary characters while preserving functionality, available as both a Python library and command-line tool.
See also interface-meta · deal · abstractcp · apimatic-core-interfaces · icontract · backports_abc · zope.interface · none · asserts · mypy-zope