| Name | interfaced JSON |
| Version |
0.1.0
JSON |
| download |
| home_page | None |
| Summary | Python interface system |
| upload_time | 2025-10-18 11:50:14 |
| maintainer | None |
| docs_url | None |
| author | anybody |
| requires_python | <4.0,>=3.12 |
| license | None |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Interfaced
Python interface system
## Install
```bash
pip install interfaced
```
## Quick Start
```python
from interfaced import interface, implements, is_implementation
@interface
class DataStore:
def save(self, data: str) -> bool: ...
async def load(self, id: str) -> str: ...
@implements(DataStore)
class MemoryStore:
def save(self, data: str) -> bool:
return True
async def load(self, id: str) -> str:
return "data"
store = MemoryStore()
print(is_implementation(store, DataStore)) # True
```
## Features
- Strict type enforcement for methods and attributes
- Generic interfaces with type variables
- Zero configuration required
Raw data
{
"_id": null,
"home_page": null,
"name": "interfaced",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "anybody",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ac/1f/008a90d5b778a4d40118a0f9b1ee6b15ca44e5779d01a5a528f46cc00a1d/interfaced-0.1.0.tar.gz",
"platform": null,
"description": "# Interfaced\n\nPython interface system\n\n## Install\n\n```bash\npip install interfaced\n```\n\n## Quick Start\n\n```python\nfrom interfaced import interface, implements, is_implementation\n\n@interface\nclass DataStore:\n def save(self, data: str) -> bool: ...\n async def load(self, id: str) -> str: ...\n\n@implements(DataStore)\nclass MemoryStore:\n def save(self, data: str) -> bool:\n return True\n \n async def load(self, id: str) -> str:\n return \"data\"\n\nstore = MemoryStore()\nprint(is_implementation(store, DataStore)) # True\n```\n\n## Features\n\n- Strict type enforcement for methods and attributes\n- Generic interfaces with type variables \n- Zero configuration required\n",
"bugtrack_url": null,
"license": null,
"summary": "Python interface system",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b584b6d70467ab83f3ca29f41a1f8abe46c8539f69668ffeffcf489004b8425a",
"md5": "488e22e37e89105221161390303bf73c",
"sha256": "745aee57edcac57c33ac54409c7c6ba77d79fcffeddb16b14c1c0639ef7b6dbc"
},
"downloads": -1,
"filename": "interfaced-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "488e22e37e89105221161390303bf73c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 13815,
"upload_time": "2025-10-18T11:50:13",
"upload_time_iso_8601": "2025-10-18T11:50:13.391211Z",
"url": "https://files.pythonhosted.org/packages/b5/84/b6d70467ab83f3ca29f41a1f8abe46c8539f69668ffeffcf489004b8425a/interfaced-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac1f008a90d5b778a4d40118a0f9b1ee6b15ca44e5779d01a5a528f46cc00a1d",
"md5": "8becb33e19407f956615e6c66c52867d",
"sha256": "d466246f663337436e79688758e8a5911ac45459d5eaabd52f86b9843b9366d3"
},
"downloads": -1,
"filename": "interfaced-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "8becb33e19407f956615e6c66c52867d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 8605,
"upload_time": "2025-10-18T11:50:14",
"upload_time_iso_8601": "2025-10-18T11:50:14.553783Z",
"url": "https://files.pythonhosted.org/packages/ac/1f/008a90d5b778a4d40118a0f9b1ee6b15ca44e5779d01a5a528f46cc00a1d/interfaced-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-18 11:50:14",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "interfaced"
}