Skip to main content

A PostgreSQL ORM

Project description

This is my effort to create an ORM which would take full advantage from PostgresSQL. It is currently under steady development.

Philosophy

  1. PostgresSQL is great. However portable ORM’s use it like SQLite. To use all features of Postgres we need to drop portability to weaker engines.

  2. Simple things should be simple, complicated things should be possible. The ORM should guess all the obvious things, but allow to override them.

  3. Where possible use pythonic EAFP strategy. If database seems to be not in sync with ORM try to migrate.

  4. The interaction with persistent objects should be as seamless and pythonic as possible

DONE

  1. Simple tables.

  2. Inheritance.

  3. Simplest one-to-many and many-to-one

  4. Many-to-many

  5. EAFP table creation

  6. Simplest identities

  7. Dependent and independent relations

  8. Some documentation

  9. Tree decorator for simple parent_id tree

  10. List-like relations

TODO

  1. Dict-like relations

  2. Advanced primary keys

  3. Concurrency control and conflict detection

  4. Advanced identities

  5. EAFP table migration

  6. Joined loading strategy

  7. Full documentation

  8. MPTT trees

Project details


Download files

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

Source Distributions

Elephantoplasty-0.1.zip (100.9 kB view details)

Uploaded Source

Elephantoplasty-0.1.tar.bz2 (69.8 kB view details)

Uploaded Source

File details

Details for the file Elephantoplasty-0.1.zip.

File metadata

  • Download URL: Elephantoplasty-0.1.zip
  • Upload date:
  • Size: 100.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Elephantoplasty-0.1.zip
Algorithm Hash digest
SHA256 9b0246b4c8c2ee5ca08d6c12bcb64659f3c18c228fb11db18ff771ddc92027be
MD5 0f5e4667e5eda07e0e516e60ba8490eb
BLAKE2b-256 7e8d70e7e72e9b6c31dd7ae0910eede8f57002c25d292162c573a323400ea77c

See more details on using hashes here.

File details

Details for the file Elephantoplasty-0.1.tar.bz2.

File metadata

File hashes

Hashes for Elephantoplasty-0.1.tar.bz2
Algorithm Hash digest
SHA256 6f4572c84b7b59a1f91a8c857d26788aa27a1e90a654d65f74251cd457c1f6e6
MD5 7beaeeb3a24b40505f7edac823cfa431
BLAKE2b-256 58d4ebac646a41d79497b06495165335b09806b466f9a86a38a5d9cec428df71

See more details on using hashes here.

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