An ORM that strives to eradicate N+1 issues.
Project description
RogueORM
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
- Define a clear syntax taking advantage of Python 3.10 and later's typing syntax. Status: Done
- Define models, managers and fields. Status: Done
- Add support for basic SQLite operation: SELECT, INSERT, UPDATE, DELETE. Status: Done
- Add support for Foreign Keys. Status: Done
- Add support for ManyToMany relationships using a joining table. Status: Done (Testing has to be improved)
- Add a migration system. Status: Done (Testing has to be improved)
- Add support for relation lookup using a similar method to Django's, with __ being put between field names. Status: Done
- Add support for JOIN, UNION and GROUP BY, with an interface to build them. Status: Not started (Not a priority)
- Add logic for batch fetching in loops. Status: Not started
- 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
- 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
- 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
- Add support for postgresql. Status: Not started
- 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)
Built Distribution
RogueORM-0.1.0-py3-none-any.whl
(20.9 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f99d32efc6aa757e97b6cdc645ea34aefefcf9fb007b40b94d7367058c64aca8 |
|
MD5 | 1b633b800d8d0bc0201a8f2121c5ec1e |
|
BLAKE2b-256 | cacbaad8d176d2763729202da26170a6beba9f4f45792fbb6df78208b55dc1a7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23991f10ef6ce283c652712d430fafb77fbcde652141d14bc8348914da187136 |
|
MD5 | 54ad945d3aa35740fafc82997b72142f |
|
BLAKE2b-256 | 2425ca32d6c3d0f58501f93e4aa4d9e9db758df33a272ae177b6b65e4431234b |