Skip to main content

A database-respecting object-relational mapper for PostgreSQL.

Project description

What Simpycity Is

Simpycity is an object-relational mapper. It seamlessly maps PostgreSQL query and function result sets to Python classes and class attributes.

It allows for the easy and rapid development of query- and stored procedure-based data representations. Simpycity leverages PostgreSQL’s powerful composite type system, and the advanced type handling of the psycopg2 database access library.

What Simpycity is Not

Simpycity is not a SQL generator and does not attempt to abstract or hide SQL. Simpycity is designed for developers who deeply understand SQL and desire to write the best possible SQL representations for their database. Simpycity also rejects the Active Record and Data Mapper paradigms, whose simplistic patterns fail in even moderately complex systems.

Core Philosophy

The core philosophy behind Simpycity is that the Database and the Application are separate entities, each with distinct abilities and design representations; this echoes the classic Object versus Relation argument. It provides a mechanism where a single business Object can easily represent several Relations, and allow the base Relational layer to follow normal forms without compromising or complicating application design.


At its simplest, object-relation mapping looks like:

create table foo (id int, name text);
insert into foo (id, name) values (1, 'one'), (2, 'two');

class Foo(simpycity.model.SimpleModel):
    pg_type = ('public', 'foo')
    __load__ = simpycity.core.QuerySingle('foo',['id'])

my_foo = Foo(1)

Read the tutorial for more narrative help.


Simpycity is licensed under the LGPL license, and a copy of your rights and permissions is available in the LICENSE file included in your distribution.


The official source repository is

For support, questions, and additional help with Simpycity, please feel free to contact us on github.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Simpycity, version 2.0.1
Filename, size File type Python version Upload date Hashes
Filename, size Simpycity-2.0.1-py2.py3-none-any.whl (21.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size Simpycity-2.0.1.tar.gz (28.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page