No project description provided
Project description
katso
# lib/a.py
from dataclasses import dataclass
from typing import Optional, TYPE_CHECKING
if TYPE_CHECKING:
from lib import b
else:
import katso
b = katso.lib.b
@dataclass(kw_only=True)
class A:
a: int
b: Optional[b.B] = None
# lib/b.py
from dataclasses import dataclass
from typing import Optional, TYPE_CHECKING
if TYPE_CHECKING:
from lib import a
else:
import katso
a = katso.lib.a
@dataclass(kw_only=True)
class B:
a: Optional[a.A] = None
b: str
# bin/c.py
from dataclasses import dataclass
import katso
def f(a: katso.lib.a.A, b: katso.lib.b.B) -> katso.bin.c.C:
return C(a, b)
@dataclass
class C:
a: katso.lib.a.A
b: katso.lib.b.B
def __post_init__(self):
self.a.b = self.b
self.b.a = self.a
# def __init__
# class C
from lib.a import A
from lib.B import B
c = f(A(a=42), B(b=57))
print(c) # C(a=A(a=42, b=B(a=..., b=57)), b=B(a=A(a=42, b=...), b=57))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
katso-0.2.1.tar.gz
(2.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
katso-0.2.1-py3-none-any.whl
(2.5 kB
view details)
File details
Details for the file katso-0.2.1.tar.gz.
File metadata
- Download URL: katso-0.2.1.tar.gz
- Upload date:
- Size: 2.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03c132fed07ed167e8b1d82298b5f2e9537aed726e6f04c3fee8cf219717cd54
|
|
| MD5 |
e5871ddca8a43a8a07cd8c24b7f6427a
|
|
| BLAKE2b-256 |
56326a9c45a3ea69cb2b866d9a0ef09190fb6cb02a603c39a35542a6bdc556ee
|
File details
Details for the file katso-0.2.1-py3-none-any.whl.
File metadata
- Download URL: katso-0.2.1-py3-none-any.whl
- Upload date:
- Size: 2.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
174fd6e0ea6cdb91cc9348aaccb42c7a24eaa6ab5d84cd83245080da67da42dd
|
|
| MD5 |
2764c52423472e3c390afe0824c020e8
|
|
| BLAKE2b-256 |
3d0673a3b6780164068d8504735019817cd0cb50d61bb25d4c23d9a1d764dd89
|