# duckql-django 🐥
backboneQL bindings into [Django](https://www.djangoproject.com/) ORM and permissions system. This package suppose
to provide:
- Database introspection
- Ability to grant permissions to models and their properties
- Custom back-end query validation
## Resources
- [How Django Uses Metaclasses For Data Modelling](https://medium.com/swlh/how-django-use-data-descriptors-metaclasses-for-data-modelling-14b307280fce)
- [Advanced Python through Django: metaclasses](https://reinout.vanrees.org/weblog/2013/05/16/advanced-python-metaclasses.html)
---
Made with ☕️ and ❤️ by Jakub Dubec & [BACKBONE s.r.o.](https://www.backbone.sk/en/)
# Changelog
## 0.9.0 : 2025-01-17
- **Changed**: Upgrade to `duckql-python` 0.14.0
## 0.8.1 : 2022-06-07
- **Fixed**: Fixed JOIN type types (mapping using entity name instead of properties)
## 0.8.0 : 2022-06-07
- **Added**: Possibility to specify JOIN type
## 0.7.2 : 2021-10-26
- **Fixed**: `DateTime` fields has `functions.Max` aggregation by default
## 0.7.1 : 2021-07-20
- **Changed**: Upgrade to `duckql-python` 0.9.1
## 0.7.0 : 2021-06-25
- **Changed**: Upgrade to `duckql-python` 0.9.0
- **Changed**: `update_forward_refs`
## 0.6.6 : 2020-10-15
- **Changed**: Upgrade to `duckql-python` 0.8.2
## 0.6.5 : 2020-10-15
- **Changed**: Upgrade to `duckql-python` 0.8.1
## 0.6.4 : 2020-10-14
- **Changed**: Upgrade to `duckql-python` 0.8.0
## 0.6.3 : 2020-08-28
- **Changed**: Upgrade to `duckql-python` 0.7.2
## 0.6.2 : 2020-08-27
- **Changed**: Upgrade to `duckql-python` 0.7.1
## 0.6.1 : 2020-08-25
- **Fixed**: Fixed key error in schema permission checking
## 0.6.0 : 2020-08-25
- **Added**: Callable permission checker for entity
- **Fixed**: `Schema._check_permissions_for_field` is not always returning True now
## 0.5.0 : 2020-08-25
- **Added**: Callable permission checkers for fields
## 0.4.2 : 2020-08-13
- **Changde**: Moved metadata to according field without merge
## 0.4.1 : 2020-08-13
- **Changed**: Moved metadata to according field
## 0.4.0 : 2020-08-13
- **Added**: Field metadata in schema
- **Added** Initial formatters support
## 0.3.3 : 2020-08-04
- **Added**: Upgrade to `duckql-python` 0.6.1 (Python 3.8 compatibility)
## 0.3.2 : 2020-07-23
- **Changed**: Upgrade to `duckql-python` 0.6.0
## 0.3.1 : 2020-07-22
- **Changed**: Upgrade to `duckql-python` 0.5.0
## 0.3.0 : 2020-06-15
- **Added**: `PermissionsMixin` in `QueryWrapper` input
- **Added**: `available_columns` in `Schema`
## 0.2.0 : 2020-06-03
- **Added**: Permission checkers in `Schema`
## 0.1.5 : 2020-05-19
- **Added**: Pass base model in Schema `__init__`
## 0.1.4 : 2020-05-19
- **Fixed**: Fixed invalid import
## 0.1.3 : 2020-05-19
- **Fixed**: Invalid typing in `BaseReportConfig`
## 0.1.2 : 2020-05-19
- **Changed**: Use inheritance instead of meta-classes in `ReportConfig` (temporary)
## 0.1.1 : 2020-04-29
- **Changed**: Shiny imports from main `duckql_django` module
## 0.1.0 : 2020-04-29
- Initial release
Raw data
{
"_id": null,
"home_page": "https://github.com/Sibyx/duckql-django",
"name": "duckql-django",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Jakub Dubec",
"author_email": "jakub.dubec@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/3c/13/a91618a99576da26b0cf08a17c0c408ef4b7731cb4a5f9e3b9dacce048bb/duckql-django-0.9.0.tar.gz",
"platform": null,
"description": "# duckql-django \ud83d\udc25\n\nbackboneQL bindings into [Django](https://www.djangoproject.com/) ORM and permissions system. This package suppose\nto provide:\n\n- Database introspection\n- Ability to grant permissions to models and their properties\n- Custom back-end query validation\n\n## Resources\n\n- [How Django Uses Metaclasses For Data Modelling](https://medium.com/swlh/how-django-use-data-descriptors-metaclasses-for-data-modelling-14b307280fce)\n- [Advanced Python through Django: metaclasses](https://reinout.vanrees.org/weblog/2013/05/16/advanced-python-metaclasses.html)\n\n---\nMade with \u2615\ufe0f and \u2764\ufe0f by Jakub Dubec & [BACKBONE s.r.o.](https://www.backbone.sk/en/)\n\n# Changelog\n\n## 0.9.0 : 2025-01-17\n\n- **Changed**: Upgrade to `duckql-python` 0.14.0\n\n## 0.8.1 : 2022-06-07\n\n- **Fixed**: Fixed JOIN type types (mapping using entity name instead of properties)\n\n## 0.8.0 : 2022-06-07\n\n- **Added**: Possibility to specify JOIN type\n\n## 0.7.2 : 2021-10-26\n\n- **Fixed**: `DateTime` fields has `functions.Max` aggregation by default\n\n## 0.7.1 : 2021-07-20\n\n- **Changed**: Upgrade to `duckql-python` 0.9.1\n\n## 0.7.0 : 2021-06-25\n\n- **Changed**: Upgrade to `duckql-python` 0.9.0\n- **Changed**: `update_forward_refs`\n\n## 0.6.6 : 2020-10-15\n\n- **Changed**: Upgrade to `duckql-python` 0.8.2\n\n## 0.6.5 : 2020-10-15\n\n- **Changed**: Upgrade to `duckql-python` 0.8.1\n\n## 0.6.4 : 2020-10-14\n\n- **Changed**: Upgrade to `duckql-python` 0.8.0\n\n## 0.6.3 : 2020-08-28\n\n- **Changed**: Upgrade to `duckql-python` 0.7.2\n\n## 0.6.2 : 2020-08-27\n\n- **Changed**: Upgrade to `duckql-python` 0.7.1\n\n## 0.6.1 : 2020-08-25\n\n- **Fixed**: Fixed key error in schema permission checking\n\n## 0.6.0 : 2020-08-25\n\n- **Added**: Callable permission checker for entity\n- **Fixed**: `Schema._check_permissions_for_field` is not always returning True now\n\n## 0.5.0 : 2020-08-25\n\n- **Added**: Callable permission checkers for fields\n\n## 0.4.2 : 2020-08-13\n\n- **Changde**: Moved metadata to according field without merge\n\n## 0.4.1 : 2020-08-13\n\n- **Changed**: Moved metadata to according field\n\n## 0.4.0 : 2020-08-13\n\n- **Added**: Field metadata in schema\n- **Added** Initial formatters support\n\n## 0.3.3 : 2020-08-04\n\n- **Added**: Upgrade to `duckql-python` 0.6.1 (Python 3.8 compatibility)\n\n## 0.3.2 : 2020-07-23\n\n- **Changed**: Upgrade to `duckql-python` 0.6.0\n\n## 0.3.1 : 2020-07-22\n\n- **Changed**: Upgrade to `duckql-python` 0.5.0\n\n## 0.3.0 : 2020-06-15\n\n- **Added**: `PermissionsMixin` in `QueryWrapper` input\n- **Added**: `available_columns` in `Schema`\n\n## 0.2.0 : 2020-06-03\n\n- **Added**: Permission checkers in `Schema`\n\n## 0.1.5 : 2020-05-19\n\n- **Added**: Pass base model in Schema `__init__`\n\n## 0.1.4 : 2020-05-19\n\n- **Fixed**: Fixed invalid import\n\n## 0.1.3 : 2020-05-19\n\n- **Fixed**: Invalid typing in `BaseReportConfig`\n\n## 0.1.2 : 2020-05-19\n\n- **Changed**: Use inheritance instead of meta-classes in `ReportConfig` (temporary)\n\n## 0.1.1 : 2020-04-29\n\n- **Changed**: Shiny imports from main `duckql_django` module\n\n## 0.1.0 : 2020-04-29\n\n- Initial release\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "duckQL Django bindings",
"version": "0.9.0",
"project_urls": {
"Homepage": "https://github.com/Sibyx/duckql-django"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "680d21d0d625d1c3a07bc2a01e899c64027370b5fe647f1084e1cd001ebec42c",
"md5": "4e415a12fc8696260fe10d76071dc4c7",
"sha256": "8f2f841035f13c254ef402cdcfa60596fe77f6af92f8bf04f258701b2fdb5440"
},
"downloads": -1,
"filename": "duckql_django-0.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4e415a12fc8696260fe10d76071dc4c7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6824,
"upload_time": "2025-01-17T16:36:21",
"upload_time_iso_8601": "2025-01-17T16:36:21.552897Z",
"url": "https://files.pythonhosted.org/packages/68/0d/21d0d625d1c3a07bc2a01e899c64027370b5fe647f1084e1cd001ebec42c/duckql_django-0.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3c13a91618a99576da26b0cf08a17c0c408ef4b7731cb4a5f9e3b9dacce048bb",
"md5": "2c8fb5c4fa5e793b44556fe10acf77d4",
"sha256": "0901519b3d9ea9b1ff101ce7a1725beb892f053dd2edb5d4fd2a98a57f78cffc"
},
"downloads": -1,
"filename": "duckql-django-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "2c8fb5c4fa5e793b44556fe10acf77d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6176,
"upload_time": "2025-01-17T16:36:25",
"upload_time_iso_8601": "2025-01-17T16:36:25.728073Z",
"url": "https://files.pythonhosted.org/packages/3c/13/a91618a99576da26b0cf08a17c0c408ef4b7731cb4a5f9e3b9dacce048bb/duckql-django-0.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-17 16:36:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Sibyx",
"github_project": "duckql-django",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "duckql-django"
}