Skip to main content

An ORM that strives to eradicate N+1 issues.

Project description

RogueORM

GitHub Workflow Status codecov GitHub

A high level ORM that strives to get rid of all N+1 issues.

Note: This package is currently in development and is not production ready yet.

Development Roadmap

  1. Define a clear syntax taking advantage of Python 3.10 and later's typing syntax. Status: Done
  2. Define models, managers and fields. Status: Done
  3. Add support for basic SQLite operation: SELECT, INSERT, UPDATE, DELETE. Status: Done
  4. Add support for Foreign Keys. Status: Done
  5. Add support for ManyToMany relationships using a joining table. Status: Done (Testing has to be improved)
  6. Add a migration system. Status: Done (Testing has to be improved)
  7. Add support for relation lookup using a similar method to Django's, with __ being put between field names. Status: Done
  8. Add support for JOIN, UNION and GROUP BY, with an interface to build them. Status: Not started (Not a priority)
  9. Add logic for batch fetching in loops. Status: Not started
  10. Add logic for select_related. By design, prefetch_related will never be part of this ORM, preferring a 'fetch in batch when needed' approach. Status: Not started
  11. Look into supporting up to Python 3.7 by taking into account the possible usage of Union and Optional Maybe import from future? Status: Not started
  12. Improve testing by adding a way to catch queries made to the database, to make sure we lower them as much as possible. Status: Not started
  13. Add support for postgresql. Status: Not started
  14. Look into the next steps for the project. Status: Not started

If the project interests you, don't hesitate to reach out!

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

RogueORM-0.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

RogueORM-0.1.0-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file RogueORM-0.1.0.tar.gz.

File metadata

  • Download URL: RogueORM-0.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for RogueORM-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f99d32efc6aa757e97b6cdc645ea34aefefcf9fb007b40b94d7367058c64aca8
MD5 1b633b800d8d0bc0201a8f2121c5ec1e
BLAKE2b-256 cacbaad8d176d2763729202da26170a6beba9f4f45792fbb6df78208b55dc1a7

See more details on using hashes here.

File details

Details for the file RogueORM-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: RogueORM-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for RogueORM-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23991f10ef6ce283c652712d430fafb77fbcde652141d14bc8348914da187136
MD5 54ad945d3aa35740fafc82997b72142f
BLAKE2b-256 2425ca32d6c3d0f58501f93e4aa4d9e9db758df33a272ae177b6b65e4431234b

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