Fork me on GitHub

The Agoraplex Platform

Overview

The Agoraplex platform is a collection of tools for building applications in Python based on a healthy mix of idiomatic Python and sexy paradigms, including:

Core philosophies embodied in the platform (i.e., our favorite Kool-Aid flavors):

  • Small pieces, loosely joined.

    ...both in Weinberger’s original sense, and in the sense that we try to maximize cohesion within the platform’s parts, and make each part maximally useful on its own. Specifically, we strive to make each piece of the platform as focused as we can, keeping dependencies “down” the stack, not “across” it.

    E.g., most of the platform depends on anodi, because it provides a fundamental language service (function annotations).

    Few things depend on capsec, though, because its focus is on the very narrow problem of manipulating secure interprocess references. While a component might depend on interprocess references, it might not require them to be secure. If it requires them to be secure, it might not require that security to be capabilities-based. Thus, capsec, though applicable, is not required. Less code, fewer imports, fewer files, less pollution, world peace. Modest goals.

  • Strong opinions, weakly held

    The platform is opinionated, inasmuch as the path of least resistance reflects our opinions and best practices, as refined over time. However, the platform also does its best not to stand in the way of your forming your own opinions, and revising them as you “prove yourself wrong.”

Although designed to function independently, the web application components work well with the Pyramid framework

Unless otherwise specified, Agoraplex platform components are licensed under the BSD “3-clause” license. See LICENSE for details.

Components

The platform consists of:

  • anodi : A decorator-based backport of PEP-3107 function annotations to Python 2.7, and related tools.
  • capsec (forthcoming) : An object-capability model toolkit for sharing secure interprocess references.
  • predicates : A collection of predicate factories, functions, and partials, for functional programming.

Table Of Contents

Next topic

<no title>

This Page