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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|