i2

Meta-programming tools to build declarative frameworks

Modules

base

Tools to provide meta-interfaces ("mints") of python objects.

castgraph

A lightweight transformation service for Python that solves the "stable role, unstable representation" problem: a resource has a consistent semantic role (e.g., configuration, text, structured record) but appears in many forms (filepath, string, dict, custom class), while consumers expect specific representations.

chain_map

Merge mappings

deco

Decorator tools

doc_mint

Meta-interfaces

errors

Error objects

footprints

Analyzing what attributes of an input object a function actually uses

io_trans

Tools to make input and output transforming decorators.

itypes

Types

key_path

Flattening maps and manipulating key paths

multi_object

A few fundamental tools to operate on a fixed collection of objects (e.g. functions).

routing_forest

Tools to specify functions through trees and forests.

signatures

Signature calculus: Tools to make it easier to work with function's signatures.

util

Misc util objects

wrapper

A wrapper object and tools to work with it