{"id":13814051,"url":"https://github.com/djblets/djblets","last_synced_at":"2025-05-14T22:07:55.032Z","repository":{"id":39033293,"uuid":"279531","full_name":"djblets/djblets","owner":"djblets","description":"A collection of useful extensions for Django.","archived":false,"fork":false,"pushed_at":"2025-04-30T16:31:39.000Z","size":7554,"stargazers_count":321,"open_issues_count":1,"forks_count":73,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-05-04T00:27:41.193Z","etag":null,"topics":["django","javascript","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djblets.png","metadata":{"files":{"readme":"README.rst","changelog":"NEWS","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-08-17T00:07:25.000Z","updated_at":"2025-04-09T00:20:07.000Z","dependencies_parsed_at":"2023-10-16T14:29:06.491Z","dependency_job_id":"b9de9e43-1d5a-4f1d-a65c-2981b4ef2b0a","html_url":"https://github.com/djblets/djblets","commit_stats":{"total_commits":2251,"total_committers":77,"mean_commits":"29.233766233766232","dds":0.6112838738338516,"last_synced_commit":"fcfce7f91f98b7aa5c80378ac98209f632b60971"},"previous_names":[],"tags_count":183,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djblets%2Fdjblets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djblets%2Fdjblets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djblets%2Fdjblets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djblets%2Fdjblets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djblets","download_url":"https://codeload.github.com/djblets/djblets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235696,"owners_count":22036963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","javascript","python"],"created_at":"2024-08-04T04:01:41.232Z","updated_at":"2025-05-14T22:07:50.017Z","avatar_url":"https://github.com/djblets.png","language":"Python","readme":"Djblets: Your Django Production Power Tools\n===========================================\n\n**Project:** |license-badge| |reviewed-badge|\n\n**Latest release:** |latest-version-badge| |latest-pyvers-badge|\n|latest-django-badge|\n\nDjblets is a large collection of general and special-purpose building blocks\ndesigned to help with the development of web applications written using\nDjango_ and Python.\n\nThe following modules are available. These contain classes, functions,\ntemplate tags, templates, etc. that can be used by your own codebase.\n\n* djblets.auth_ -\n  Authentication-related utilities for registration, login rate limiting, and\n  other auth-related uses\n\n* djblets.avatars_ -\n  Avatar rendering with flexible backends (supporting Gravatars, custom URLs,\n  file uploads, or custom options)\n\n* djblets.cache_ -\n  Helpers for working with client-side and server-side caching needs\n\n* djblets.conditions_ -\n  User-defined condition rules under which actions should be performed\n\n* djblets.configforms_ -\n  Category-based, multi-form configuration pages\n\n* djblets.datagrid_ -\n  Customizable grids for displaying information, with custom columns\n\n* djblets.db_ -\n  Specialized fields, validation, and query operations for databases\n\n* djblets.extensions_ -\n  Extension framework, allowing third-party developers to extend your product\n  or service\n\n* djblets.features_ -\n  Feature flags for enabling/disabling functionality based on any criteria\n\n* djblets.forms_ -\n  Specialized fields and widgets, enhanced form rendering, and\n  dictionary-backed form data\n\n* djblets.gravatars_ -\n  Low-level functions and template tags for injecting Gravatars_ into pages\n\n* djblets.http_ -\n  Utilities for working with HTTP requests and responses.\n\n* djblets.integrations_ -\n  Framework for integrating with third-party services and offering unlimited\n  numbers of user-defined configurations\n\n* djblets.log_ -\n  Enhanced logging capabilities and log viewing\n\n* djblets.mail_ -\n  Enhanced Mail sending with DMARC checks and send-on-behalf-of-user\n  functionality\n\n* djblets.markdown_ -\n  Markdown rendering for pages and e-mails, with WYSIWYG editing/rendering\n  support\n\n* djblets.pipeline_ -\n  Pipeline_ compilers for ES6 JavaScript and optimized LessCSS support\n\n* djblets.privacy_ -\n  Privacy-by-design support, allowing consent to be requested and tracked\n  and personal information redacted\n\n* djblets.recaptcha_ -\n  Mixins and form widgets for reCAPTCHA_ integration\n\n* djblets.registries_ -\n  Base support for defining in-code registries, which tracks and allows lookup\n  of custom-registered objects\n\n* djblets.secrets_ -\n  Uilities and infrastructure for encryption/decryption and token generation.\n\n* djblets.siteconfig_ -\n  In-database site configuration and settings, with Django settings mappings\n\n* djblets.template_ -\n  Loaders for intelligent template caching and utilities for working with\n  template caches and state\n\n* djblets.testing_ -\n  Utilities for enhancing unit tests and defining smarter test runners\n\n* djblets.urls_ -\n  Flexible root-level URL handlers, dynamic URL patterns that can be changed\n  at runtime, and more\n\n* djblets.util_ -\n  An assortment of misc. utility functions and template tags\n\n* djblets.views_ -\n  Class-based View mixins for controlling caching and more complex dispatch\n  behavior\n\n* djblets.webapi_ -\n  Foundation for building fully-featured, consisent, maintainable REST APIs\n\nWe built and maintain Djblets as part of the `Review Board`_ code review\nproduct and Splat_ bug tracker at Beanbag_.\n\nSee the documentation_ for guides and code references for working with\nDjblets.\n\n\n.. _Beanbag: https://www.beanbaginc.com/\n.. _Django: https://www.djangoproject.com/\n.. _GDPR: https://www.eugdpr.org/\n.. _Gravatars: https://gravatars.com/\n.. _Pipeline: https://django-pipeline.readthedocs.io/en/latest/\n.. _reCAPTCHA: https://www.google.com/recaptcha/\n.. _Review Board: https://www.reviewboard.org/\n.. _Splat: https://www.hellosplat.com/\n.. _documentation: https://www.reviewboard.org/docs/djblets/latest/\n\n.. _djblets.auth:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-auth\n.. _djblets.avatars:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-avatars\n.. _djblets.cache:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-cache\n.. _djblets.conditions:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-conditions\n.. _djblets.configforms:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-configforms\n.. _djblets.datagrid:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-datagrid\n.. _djblets.db:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-db\n.. _djblets.extensions:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-extensions\n.. _djblets.features:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-features\n.. _djblets.feedview:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-feedview\n.. _djblets.forms:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-forms\n.. _djblets.gravatars:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-gravatars\n.. _djblets.http:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-http\n.. _djblets.integrations:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-integrations\n.. _djblets.log:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-log\n.. _djblets.mail:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-mail\n.. _djblets.markdown:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-markdown\n.. _djblets.pipeline:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-pipeline\n.. _djblets.privacy:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-privacy\n.. _djblets.recaptcha:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-recaptcha\n.. _djblets.registries:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-registries\n.. _djblets.secrets:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-secrets\n.. _djblets.siteconfig:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-siteconfig\n.. _djblets.template:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-template\n.. _djblets.testing:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-testing\n.. _djblets.urls:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-urls\n.. _djblets.util:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-util\n.. _djblets.views:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-views\n.. _djblets.webapi:\n   https://www.reviewboard.org/docs/djblets/latest/coderef/#coderef-djblets-webapi\n\n.. |latest-django-badge| image:: https://img.shields.io/pypi/frameworkversions/django/Djblets\n   :target: https://www.djangoproject.com\n.. |latest-pyvers-badge| image:: https://img.shields.io/pypi/pyversions/Djblets\n   :target: https://pypi.org/project/Djblets\n.. |latest-version-badge| image:: https://img.shields.io/pypi/v/Djblets\n   :target: https://pypi.org/project/Djblets\n.. |license-badge| image:: https://img.shields.io/badge/license-MIT-green.svg\n   :target: https://opensource.org/licenses/MIT\n.. |reviewed-badge| image:: https://img.shields.io/badge/Review%20Board-d0e6ff?label=reviewed%20with\n   :target: https://www.reviewboard.org\n\n\nCompatibility\n=============\n\nDjblets 5.x (release-5.x_) supports Python 3.8-3.12 and Django 4.2.\n\nDjblets 4.x (release-4.x_) supports Python 3.8-3.12 and Django 3.2.\n\nDjblets 3.x (release-3.x_) supports Python 3.7-3.11 and Django 3.2.\n\nDjblets 2.x (release-2.x_) supports Python 2.7, 3.5, and 3.6, and Django\n1.6, 1.8, 1.0. 1,0. and 1.11.\n\nDjblets 1.x (release-1.0.x_) supports Python 2.7 and Django 1.6.\n\nDjblets 0.9 (release-0.9.x_) supports Python 2.6 and 2.7, and Django 1.6.\n\nSee the `release notes`_ for information on the latest public releases.\n\n\n.. _release-0.9.x: https://github.com/djblets/djblets/tree/release-0.9.x\n.. _release-1.0.x: https://github.com/djblets/djblets/tree/release-1.0.x\n.. _release-2.x: https://github.com/djblets/djblets/tree/release-2.x\n.. _release-3.x: https://github.com/djblets/djblets/tree/release-3.x\n.. _release-4.x: https://github.com/djblets/djblets/tree/release-4.x\n.. _release-5.x: https://github.com/djblets/djblets/tree/release-5.x\n.. _release notes: https://www.reviewboard.org/docs/releasenotes/djblets/\n\n\nInstalling Djblets\n==================\n\nWe provide source builds and Python Wheels for Djblets.\n\nWe recommend you use Wheels unless you have a reason to use source builds\n(which requires a proper build setup for static media).\n\nTo install Wheels via pip::\n\n    $ pip install Djblets\n\n\nGetting Support\n===============\n\nWe can help you with Djblets-related development over on our `Review Board\ndevelopment list`_.\n\nWe also provide more `dedicated, private support\n\u003chttps://www.reviewboard.org/support/\u003e`_ for your organization through a\nsupport contract, offering:\n\n* Same-day responses (generally within a few hours, if not sooner)\n* Confidential communications\n* Installation/upgrade assistance\n* Emergency database repair\n* Video/chat meetings (by appointment)\n* Priority fixes for urgent bugs\n* Backports of urgent fixes to older releases (when possible)\n\nSupport contracts fund the development of Djblets, Review Board, and our other\nopen source projects.\n\n\n.. _Review Board development list:\n   https://groups.google.com/group/reviewboard-dev\n\n\nReporting Bugs\n==============\n\nHit a bug? Let us know by\n`filing a bug report \u003chttps://www.reviewboard.org/bugs/new/\u003e`_.\n\nYou can also look through the\n`existing bug reports \u003chttps://www.reviewboard.org/bugs/\u003e`_ to see if anyone\nelse has already filed the bug.\n\n\nContributing\n============\n\nAre you a developer? Do you want to integrate Djblets into your project and\ncontribute back? Great! Let's help get you started.\n\nFirst off, we have a few handy guides:\n\n* `Review Board Contributor Guide`_ -\n  This generally applies to Djblets as well.\n\nWe accept patches on `reviews.reviewboard.org\n\u003chttps://reviews.reviewboard.org/\u003e`_. (Please note that we *do not* accept pull\nrequests.)\n\nTo post a change for review:\n\n1. Download RBTools:\n\n   .. code-block:: console\n\n      $ pip install rbtools\n\n2. Create a branch in your Git clone and make your changes.\n\n3. Post the change for review:\n\n   .. code-block:: console\n\n      $ rbt post\n\n   To update your change:\n\n   .. code-block:: console\n\n      $ rbt post -u\n\n\n.. _Review Board Contributor Guide:\n   https://www.notion.so/reviewboard/Review-Board-45d228fb07a0459b84fee509ac054cec\n\n\nOur Other Projects\n==================\n\n* `Review Board`_ -\n  Our dedicated open source code review product for teams of all sizes.\n\n* `Housekeeping \u003chttps://github.com/beanbaginc/housekeeping\u003e`_ -\n  Deprecation management for Python modules, classes, functions, and\n  attributes.\n\n* `kgb \u003chttps://github.com/beanbaginc/kgb\u003e`_ -\n  A powerful function spy implementation to help write Python unit tests.\n\n* `Registries \u003chttps://github.com/beanbaginc/python-registries\u003e`_ -\n  A flexible, typed implementation of the Registry Pattern for more\n  maintainable and extensible codebases.\n\n* `Typelets \u003chttps://github.com/beanbaginc/python-typelets\u003e`_ -\n  Type hints and utility objects for Python and Django projects.\n\nYou can see more on `github.com/beanbaginc \u003chttps://github.com/beanbaginc\u003e`_\nand `github.com/reviewboard \u003chttps://github.com/reviewboard\u003e`_.\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjblets%2Fdjblets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjblets%2Fdjblets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjblets%2Fdjblets/lists"}