This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

schematax is a simple Python package to do all things related to schemata.

A schema is word made using an extra symbol, ‘*’, called the wild card symbol. For example the schema over the binary aplhapbet ‘1*0’, represents the set of strings. {‘100’,‘110’}’.

Schema have properties. For example, for a schema s, the order of s is the number of symbols in s which are not the wild card symbols (called fixed symbols). The defining length of s is the distance between the first and last fixed symbol.

Given a set of words of the same length S, the schematic completion of S returns all schema which make subsets of the words in S. Whats more given the partial ordering over schemata, the schematic completion of S forms a Complete Lattice.


This package runs under Python 2.7, use pip to install:

$ pip install schematax

This will also install the graphviz package from PyPI as required dependencies.

Important: Drawing the the schematic lattice uses Graphviz software. Make sure it is installed and dot executable is on your systems’ path.


The file gives a good overview of how to use the package.

Basic schema operations:

>>> import schematax

>>> s = schematax.schema('10*1') #makes a schema

>>> s

>>> s.get_order()

>>> s.get_defining_length()

>>> s2 = schematax.schema('1**1') #makes another schema

>>> s <= s2

>>> s < s2

>>> s == s2


>>> schematax.join(s,s2)

>>> s3 = schematax.schema('00*1')

>>> schematax.supremum([s,s2,s3])

>>> schematax.infimum([s,s2,s3])
e                               #e stands for the empty schema

Schematic completion and drawing the schematic lattice:

>>> import schematax

>>> xs = ['111', '011', '001']

>>> ss = schematax.complete(xs) #performing schematic completion

>>> ss
[111, 011, 001, *11, **1, 0*1, e] #e stands for the empty schema

>>> schematax.draw(ss,'my_lattice') #draws the schematic lattice of ss and saves it as my_lattice.pdf

The image produced here:

See also

The implementation is based on these Python packages:

  • graphviz – Simple Python interface for Graphviz


Schemata is distributed under the MIT license.

Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
schematax-0.1.6.tar.gz (39.5 kB) Copy SHA256 Checksum SHA256 Source Oct 13, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting