Skip to main content

A library for type inference and graph production.

Project description

transforge

A transformation language is used to describe processes, like the ones implicit in workflows or software tools, as transformations between types. These types do not necessarily denote a concrete data structure, and the descriptions may be independent from any particular implementation. The goal is only to capture some properties that are deemed conceptually relevant, as a form of procedural metadata.

transforge facilitates defining a transformation language and parsing its expressions into semantic graphs. It is written in pure Python with few dependencies.

In order to reason about about transformations, it also implements a type inference module, which accommodates both subtype- and parametric polymorphism.

Expressions of a transformation language can be turned into transformation graphs. Such graphs can be serialized into RDF, or converted to SPARQL queries and matched against other graphs. This enables flexible searching through processes.

The library is still in development. Interfaces might change without warning.

Usage

This package was developed for the CCT algebra for geographical information, which may act as an example.

Click here for a tutorial.

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

transforge-0.2.1.tar.gz (50.6 kB view hashes)

Uploaded Source

Built Distribution

transforge-0.2.1-py3-none-any.whl (54.8 kB view hashes)

Uploaded Python 3

Supported by

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