F
fabll
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
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ć
- Zaimportuj wymagane moduły:
faebryk.core.faebrykpy,faebryk.core.graphifaebryk.core.node. Modułnode.pyzawiera klasy Node i Traits, które są kluczowe do pracy. - Utwórz instancję GraphView i TypeGraph: wywołaj
graph.GraphView.create()aby uzyskać widok grafu, a następniefbrk.TypeGraph.create(g=g)aby zainicjować graf typów. - Zdefiniuj swoją klasę komponentu dziedzicząc z
fabll.Node. Strukturalne dzieci deklarujesz jako atrybuty klasy używającSomeType.MakeChild(...), a cechy (traits) dołączasz poprzezTraits.MakeEdge(...). - Powiąż typ z TypeGraph: użyj metody
bind_typegraph(tg=tg)na swojej klasie, aby zarejestrować typ w systemie. - 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. - Jeśli definiujesz komponenty dla biblioteki faebryk, używaj krótkich identyfikatorów typów (nazwy klas) aby ułatwić importy w plikach
.ato.