Toolverse
Wszystkie skille

fabll

autor: atopile

Mapuj deklaracje Python na grafy typów i instancji dla komponentów sprzętowych

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
atopile
Kategoria
Frontend
Wyświetlenia
3

O skillu

FabLL to niskopoziomowy interfejs Pythona do definiowania komponentów sprzętowych i cech (traits) w ekosystemie faebryk. Umożliwia mapowanie klas Python na TypeGraph i graf instancji, obsługując invarianty pól, wzorce instancjacji oraz rejestrację typów. Używaj go podczas tworzenia nowych komponentów, pracy z Node API lub zrozumienia, jak Python łączy się z wewnętrznym systemem grafów. FabLL stanowi fundament dla biblioteki komponentów, kompilatora i solverów.

Jak używać

  1. Zaimportuj wymagane moduły: faebryk.core.faebrykpy, faebryk.core.graph i faebryk.core.node. Moduł node.py zawiera klasy Node i Traits, które są kluczowe do pracy.
  2. Utwórz instancję GraphView i TypeGraph: wywołaj graph.GraphView.create() aby uzyskać widok grafu, a następnie fbrk.TypeGraph.create(g=g) aby zainicjować graf typów.
  3. Zdefiniuj swoją klasę komponentu dziedzicząc z fabll.Node. Strukturalne dzieci deklarujesz jako atrybuty klasy używając SomeType.MakeChild(...), a cechy (traits) dołączasz poprzez Traits.MakeEdge(...).
  4. Powiąż typ z TypeGraph: użyj metody bind_typegraph(tg=tg) na swojej klasie, aby zarejestrować typ w systemie.
  5. Utwórz instancję komponentu: wywołaj .create_instance(g=g) na powiązanym typie, przekazując GraphView. Zwrócona instancja jest gotowa do użycia w solverach lub kompilatorze.
  6. Jeśli definiujesz komponenty dla biblioteki faebryk, używaj krótkich identyfikatorów typów (nazwy klas) aby ułatwić importy w plikach .ato.

Podobne skille