Inherted classes (i.e. wrappers for schemes) should have serialize and deserialize methods. Almost all wrappers used in pytoniq have __init__ method with scheme fields arguments, except some such as VmStack or VmStackList, which was made for usage convenience.
For schemes where could be Pruned branches (for e.g. ValueFlow in Block) if provided Slice is special it returns None.
LiteClient methods often return instances of TLB schemes, you can call their attributes and print them:
Custom TLB schemes wrappers are used somewhere in the library. You can find them in pytoniq/tlb/custom. For example there are wrappers for wallets dara so you can get attributes directly from contract storage instead of get methods (which is not really recommended).
classWalletV3(BaseWallet):@propertydefpublic_key(self) ->bytes:""" :return: public_key taken from contract data """return WalletV3Data.deserialize(self.state.data.begin_parse()).public_key