Skip to main content

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

katso-0.2.1-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

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

Hashes for katso-0.2.1.tar.gz
Algorithm Hash digest
SHA256 03c132fed07ed167e8b1d82298b5f2e9537aed726e6f04c3fee8cf219717cd54
MD5 e5871ddca8a43a8a07cd8c24b7f6427a
BLAKE2b-256 56326a9c45a3ea69cb2b866d9a0ef09190fb6cb02a603c39a35542a6bdc556ee

See more details on using hashes here.

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

Hashes for katso-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 174fd6e0ea6cdb91cc9348aaccb42c7a24eaa6ab5d84cd83245080da67da42dd
MD5 2764c52423472e3c390afe0824c020e8
BLAKE2b-256 3d0673a3b6780164068d8504735019817cd0cb50d61bb25d4c23d9a1d764dd89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page