thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: django
django/django ★ 91241 35936 APPLICATION

Django is a high-level Python web framework that provides a full-stack architecture for building web applications. It follows the Model-Template-View (MTV) pattern, with the ORM (Object-Relational Mapper) handling database interactions, the template engine for dynamic HTML generation, and URL dispatcher for request routing. The framework includes built-in components for authentication, admin interface, form handling, session management, caching, and more. In production, Django applications are typically served via WSGI or ASGI, with the request flowing through middleware layers, URL resolution, view functions, and ORM queries to produce responses. The framework's management commands (django-admin/manage.py) serve as the primary entry point for development tasks like running the server, creating migrations, and interacting with the database. Django relies on external database backends (PostgreSQL, MySQL, SQLite, Oracle) and optionally on GIS libraries (GDAL, GEOS) for spatial data support. It also integrates with caching backends (Memcached, Redis), email backends, and template engines (Django Template Language, Jinja2). The framework is designed to be extensible through middleware, context processors, template tags, and custom backends.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
paperless-ngx/paperless-ngx ★ 46102 3194 APPLICATION

Paperless-ngx is a production-grade, self-hosted document management system. It ingests physical and digital documents through a consume folder, REST API uploads, and IMAP email fetching, then runs OCR via Tesseract/ocrmypdf, extracts text through a pluggable parser registry, generates archive PDFs and thumbnails, and stores structured metadata (tags, correspondents, document types, custom fields). Documents are indexed in Tantivy and exposed through a Django REST API consumed by an Angular SPA that provides search, editing, bulk operations, permissions, workflows, sharing, and an admin interface. Background processing is handled by Celery/Redis with real-time status pushed over WebSockets. The system also includes optional AI/LLM classification, RAG chat over the document index, and a workflow engine that reacts to consumption and document lifecycle events with actions like assignment, emailing, webhooks, and trash moves. Though primarily an application, it contains a substantial search-engine subsystem and an optional LLM/embedding pipeline, giving it a mild hybrid character.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
encode/django-rest-framework ★ 30198 7094 APPLICATION

Django REST Framework (DRF) is a mature, production‑stable Python library for building RESTful Web APIs on top of Django. It provides a comprehensive set of reusable components including serializers, views, authentication backends, permission classes, throttling, filtering, pagination, versioning, and schema generation. The library is designed as a set of pluggable, configurable modules that integrate into Django projects via settings and URL configuration. Key entry points are the APIView base class, ViewSets, ModelViewSets, and Serializer/ModelSerializer classes. Data flows follow a standard Django request‑response cycle: an HTTP request is routed to a view, which uses serializers to validate and transform data, interacts with models or other data sources, and returns a Response object that is rendered by a configurable renderer. External dependencies include Django (5.2–6.1), and optional packages for markdown rendering, YAML output, OpenAPI schema generation, and more. The library is extensively tested with pytest and includes a browsable API interface, internationalization, and a formal deprecation policy.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
vitalik/django-ninja ★ 9211 618 APPLICATION

Django Ninja is a Python library that provides a FastAPI-inspired, type-hint-driven framework for building REST APIs on top of Django. It leverages Pydantic v2 for request validation and serialization, and automatically generates OpenAPI 3.0 schemas with interactive Swagger UI and Redoc documentation. The library offers a decorator-based API definition (e.g., @api.get, @router.post), supports sync and async views, and includes built-in support for authentication (API keys, HTTP Basic/Bearer, Django session), throttling, pagination (limit-offset, page-number, cursor), filtering (declarative FilterSchema), file uploads, streaming responses (SSE, JSONL), and CSRF protection. It integrates deeply with Django's ORM through ModelSchema and create_schema, and provides a TestClient for fast, serverless testing. The architecture is modular: NinjaAPI is the central application class, Router groups endpoints with nested routing and auth inheritance, and Operation handles the request lifecycle (auth, throttle, validation, response). The codebase is well-structured, extensively tested (100% coverage target), and actively maintained with broad compatibility across Python 3.7–3.14 and Django 3.1–6.1. It is a mature, production-ready framework used by multiple companies.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
typeddjango/django-stubs ★ 1973 569 APPLICATION

django-stubs is a distribution package of type stubs (`.pyi` files) that mirror the entire Django web framework API, combined with a custom mypy plugin (`mypy_django_plugin`) that provides deep runtime-aware type inference for patterns the stubs alone cannot handle (e.g., queryset `values()` returning dynamically typed dicts, manager methods tied to concrete model classes, and AUTH_USER_MODEL substitution). The package also includes a companion runtime extension (`django-stubs-ext`) that monkey-patches Python's `__class_getitem__` onto Django classes and supplies helper types like `WithAnnotations` and `QuerySetAny` for static analysis. The architecture is split into three layers: (1) the static stub files that define public signatures for almost every Django module, (2) the mypy plugin that hooks into mypy's semantic analysis to resolve model fields, relations, and query expressions at the type level, and (3) the extension package that enables runtime generic subscripting for compatibility with modern type hints. Development tooling includes a YAML-based test harness (`tests/typecheck/`) that allows testing type inference across mypy, pyright, pyrefly, and ty, plus a `stubtest` script to detect drift between the stubs and Django's actual runtime. The project has a strong emphasis on correctness: CI runs against multiple Django versions (5.2–6.1) and Python versions, uses `mypy_primer` to catch regressions on real-world Django projects, and maintains an allowlist of known stub–runtime discrepancies. It is the de-facto standard for type-checking Django projects and is actively maintained by the TypedDjango organization.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jazzband/django-silk ★ 4995 379 APPLICATION

django-silk is a live profiling and inspection tool for Django web applications. In production, it integrates as middleware to intercept every HTTP request/response, capturing request/response bodies, headers, database queries (via monkey-patching SQLCompiler.execute_sql), and code profiling data (via a decorator, context manager, or dynamic injection). It stores this data in Django ORM models (Request, Response, SQLQuery, Profile) with optional file-based storage for binary profiler results, and provides a comprehensive web UI with filtering, sorting, SQL analysis (including EXPLAIN), code generation (curl/Django test client), and graph visualization (using gprof2dot). The architecture centers on a singleton DataCollector that accumulates data during request processing and persists it upon response completion, with configurable retention policies via management commands and model-level garbage collection.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
carltongibson/django-filter ★ 4685 779 APPLICATION

django-filter is a reusable Django application for dynamic QuerySet filtering from URL parameters. It provides declarative filter classes similar to Django's ModelForm, automatically generating filters from model fields with customizable lookup expressions. The library integrates with Django REST Framework via specialized FilterSet classes and filter backends, enabling filtering in both traditional Django views and DRF APIs. The architecture centers around FilterSet classes that process GET parameters to filter querysets, with supporting components for custom filters, widgets, and form fields. Key components include the FilterSet metaclass for automatic filter generation, a comprehensive library of filter types (CharFilter, BooleanFilter, RangeFilter, etc.), custom widgets for specialized input handling (BooleanWidget, LinkWidget, RangeWidget), and DRF integration backends. The system handles complex filtering scenarios including related fields, lookups, ordering, and CSV inputs. Internationalization support is built-in with translations for over 20 languages. The codebase follows Django conventions with clear separation of concerns between filter logic, presentation, and framework integration. The project demonstrates strong maintenance practices with active commits, comprehensive testing across multiple Django/Python versions, and clear documentation. It maintains compatibility with recent Django versions (5.2-6.1) and Python 3.10-3.14 while managing optional dependencies like djangorestframework and django-crispy-forms. The code shows careful attention to edge cases like null values, empty choices, and crispy forms integration, with deprecation paths for backward compatibility.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
anymail/django-anymail ★ 1899 150 APPLICATION

django-anymail is a Django library that provides a unified interface for sending transactional email through multiple Email Service Providers (ESPs) such as Amazon SES, Mailgun, SendGrid, Postmark, SparkPost, Mailjet, Brevo, Resend, Mailtrap, Postal, Scaleway, Unisender Go, and MailerSend. It extends Django's built-in email framework with ESP-specific features like tags, metadata, inline images, merge data, templates, and click/open tracking. The library also handles inbound email and tracking webhooks, normalizing ESP-specific events into Django signals. Architecture follows a backend pattern: each ESP has a concrete EmailBackend class that implements `build_message_payload` and `post_to_esp`, with common logic in base classes (`AnymailRequestsBackend`, `BasePayload`). Webhook views are similarly structured with base classes for signature validation and event dispatch. The codebase is well-tested with both mock unit tests and live integration tests run weekly against real ESP APIs. It is a mature, actively maintained library with a clean separation of concerns and extensive documentation.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 8 reusable components found
PostHog/posthog ★ 37780 3206 APPLICATION

PostHog is a comprehensive product analytics and customer data platform (CDP) built as a polyglot monorepo. It combines Python/Django for core application logic and API, Rust for high-performance event ingestion and symbolication, and Node.js for ingestion pipelines and CDP services. The frontend is a React/TypeScript application using Kea for state management. It supports self-hosting and cloud deployment, with data stored in PostgreSQL, ClickHouse, and Redis. Key features include event tracking, session replay, feature flags, experiments, error tracking, and AI observability. The architecture emphasizes high-throughput event processing via Kafka and Temporal workflows for async tasks.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
tubearchivist/tubearchivist ★ 8516 428 APPLICATION

TubeArchivist is a self-hosted YouTube media server that downloads, indexes, and serves YouTube video content. In production, it runs as a Docker-based stack with a Django REST API backend, React/TypeScript frontend, Celery task queue, Redis broker, and Elasticsearch for metadata storage and full-text search. The system subscribes to YouTube channels and playlists via yt-dlp, extracts comprehensive metadata (including subtitles, comments, SponsorBlock segments, and thumbnails), and provides a web UI for browsing, searching, streaming video, and managing downloads. It supports multiple authentication modes (single user, LDAP, forward proxy), scheduled tasks for rescanning subscriptions and backups, and integrates with Apprise for notifications and a membership/SponsorBlock API for ad-skipping. The architecture follows a modular Django app pattern (video, channel, playlist, download, task, appsettings, user, stats) with consistent use of base views, serializers, and search processors. The frontend uses Zustand for state management and a custom API client with CSRF handling. The codebase is actively maintained with comprehensive test coverage and CI/CD pipelines.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
intelowlproject/IntelOwl ★ 4695 664 APPLICATION

IntelOwl is a production-grade, open-source threat intelligence platform that automates the analysis of observables (IPs, domains, URLs, hashes) and files (PE, PDF, APK, etc.) through a pluggable plugin system. The backend is built with Django REST Framework, Celery for asynchronous task execution, and Django Channels for real-time WebSocket updates. The frontend is a React single-page application using react-router, react-flow for pipeline visualizations, and Zustand for state management. The system supports multi-tenancy, organizations, role-based access, and integrates with dozens of external threat intelligence APIs and open-source analysis tools via containerized microservices. The architecture is centered around a plugin framework with five plugin types: analyzers (file and observable), connectors (push results to external systems), visualizers (render reports), pivots (create child jobs from analysis results), and ingestors (pull threat feeds). Playbooks bundle these plugins into repeatable analysis workflows. A data model manager normalizes analyzer outputs into structured evaluations with reliability scores, and a user event system allows manual verdict overrides with decay logic. The platform also includes an AI chatbot assistant powered by a local Ollama LLM and LangGraph, enabling natural-language queries and one-click analysis launches. Key operational features include a comprehensive REST API, token-based authentication with optional OAuth/LDAP/RADIUS, Elasticsearch for BI reporting, and Docker-based deployment with separate containers for specialized analyzers. The codebase is actively maintained with extensive unit and integration tests, CI/CD pipelines, and a large community (4695 stars). While the migration system is somewhat repetitive, the overall architecture is clean, modular, and demonstrates strong software engineering practices.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
TandoorRecipes/recipes ★ 8666 883 APPLICATION

Tandoor is a self-hosted, multi-tenant recipe management web application. The system is a monolithic Django application (cookbook app) exposing a Django REST Framework API, paired with a Vue 3 + Vuetify single-page frontend that consumes an auto-generated TypeScript OpenAPI client. Core production domains, verified in code, are: structured recipes (steps, ingredients, scaling), a tree-based hierarchical food database with nutritional properties and USDA FDC IDs, meal planning with iCal export, shopping lists with supermarket categories and offline sync queues, inventory/pantry booking, cookbooks, share links, and view/cook logging. Tenancy is enforced through Space/Household/UserSpace models with django-scopes middleware and granular guest/user/admin permission classes rather than through database row-level security. The largest subsystem is recipe import/export: an abstract Integration base class with 20+ adapters for other recipe managers (Paprika, Mealie, Cooklang, Gourmet, ChefTap, etc.), URL scraping via recipe-scrapers/microdata/pytubefix, cloud storage sync providers (Dropbox, Nextcloud, WebDAV, local), a bulk open-data importer for USDA-derived reference foods/units/conversions, and an embedded PDF.js viewer for external recipe files. A connector/event layer dispatches async updates to external services such as Home Assistant, a Telegram bot webhook writes shopping list entries, and recent AI features (litellm-based, per-space credit tracked) handle image/PDF recipe import, step sorting, and nutrition extraction. Background work is done via threads rather than a task queue. Craftsmanship is above average: clean abstract patterns (Integration, Provider, Connector ABCs), chainable queryset managers, mixin-based permission/merge/tree logic, a strong permission-matrix test suite, and genuinely reusable helper algorithms (BFS unit conversion, ingredient parsing, Cooklang parsing). However, the codebase carries notable debt: 240+ migrations with heavy schema churn, a ~3000-line monolithic api.py view file, committed auto-generated OpenAPI client code that can drift, vendored PDF.js binaries, some tests that suppress tenant scoping via scopes_disabled, and copy-paste duplication inside the open-data importer. Overall it is a well-maintained, actively developed application with solid architecture for its scale.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
celery/django-celery-beat ★ 1952 496 APPLICATION

django-celery-beat is a Django library that provides a database-backed scheduler for Celery Beat, allowing periodic task schedules to be stored and managed in a Django database. It offers models for interval, crontab, solar, and clocked schedules, with a full Django admin interface for CRUD operations. The core scheduler (`DatabaseScheduler`) reads enabled periodic tasks from the database and manages their execution, with change detection via a dedicated `PeriodicTasks` model. The codebase is production-stable, well-tested, and actively maintained, supporting recent Django (6.1) and Python (3.14) versions.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
rq/django-rq ★ 1950 294 APPLICATION

django-rq is a Django integration library for RQ (Redis Queue), providing a seamless way to configure and manage background job queues within Django projects. It allows developers to define queues in Django's settings.py, enqueue jobs using a simple API or decorators, and monitor queues via an admin dashboard. The library supports multiple Redis connection configurations (including Sentinel, SSL, and URL-based), custom job/worker/queue classes, and various commit modes (auto, on_db_commit, request_finished) to control when jobs are enqueued relative to database transactions. It also includes management commands for running workers, schedulers, and cron jobs, as well as Prometheus metrics and JSON statistics endpoints for monitoring. Architecturally, django-rq extends RQ's core classes (Queue, Worker, Job) with Django-aware subclasses that integrate with Django's settings, signals, and admin interface. The key entry points are the `django_rq` module's public API (`enqueue`, `get_queue`, `get_worker`, `job` decorator), Django management commands (`rqworker`, `rqscheduler`, `rqcron`, `rqstats`, etc.), and the admin views automatically registered via Django's admin site. Data flows involve enqueuing jobs (which may be deferred via thread-local queue or database transaction hooks), processing by workers, and storing results/status in Redis. External dependencies are Django (4.2+), RQ (2.6.1+), and Redis (3.5+), with optional prometheus_client for metrics.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
model-bakers/model_bakery ★ 1003 107 APPLICATION

Model Bakery is a mature, well-tested Python library for Django that automates the creation of test fixtures by generating random data for model instances. Its core API (`baker.make()`, `baker.prepare()`, recipes) eliminates boilerplate in test setup while remaining flexible through overrides, sequences, callables, and custom generators. The codebase demonstrates high craftsmanship: a clean separation between field/value generation (`random_gen.py`), attribute classification (`Baker._classify_attrs`), and recipe composition (`recipe.py`). It supports nearly all Django field types, relationships (FK, M2M, O2O, GFK), bulk creation, multi-database setups, and model validation (`_full_clean`). The library is actively maintained with modern tooling (uv, ruff, ty, tox-uv) and follows semantic versioning.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
adamchainz/django-htmx ★ 2009 154 APPLICATION

django-htmx is a mature, reusable Django library that integrates the htmx JavaScript library with Django. It provides a middleware that parses htmx headers and attaches an `HtmxDetails` object to each request (exposing properties like `boosted`, `current_url`, `target`), a set of HTTP response helpers for htmx interactions (e.g., `push_url`, `reswap`, `HttpResponseClientRedirect`), and template tags (for both Django and Jinja2) to include htmx scripts with version and extension selection. The library also bundles htmx versions 2 and 4 (beta) along with many extensions. It is a focused, well-tested package often used in production Django applications that need to leverage htmx for dynamic UI without writing JavaScript. The architecture is a standard reusable Django app with a clear separation of concerns: middleware for request processing, HTTP utilities for responses, and template tags for asset inclusion. Dependencies are minimal (Django 5.2+, asgiref). This is not a data research or analytics tool; it is purely a backend integration library.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
django-control-room/dj-control-room ★ 567 8 APPLICATION

Django Control Room is a plugin framework for building Django admin tools, called 'panels'. It provides a centralized dashboard that automatically discovers installed panels via Python entry points, renders them with a shared design system, and integrates them into the Django admin sidebar. The hub also exposes a Model Context Protocol (MCP) endpoint that aggregates all panel tools for AI agent integration. Panels are independent packages built on the companion `dj-control-room-base` library. The codebase demonstrates strong architecture: a collision-proof registry key derived from PyPI distribution names, featured panel verification to prevent squatting, dynamic admin proxy model registration, and a production-ready MCP transport implementing the Streamable HTTP specification. It includes comprehensive tests covering registry behaviour, admin integration, MCP endpoints, and utility functions.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
TabbycatDebate/tabbycat ★ 309 1106 APPLICATION

Tabbycat is a Django web application for managing debate tournaments, supporting both British Parliamentary and two-team formats. It provides comprehensive tournament management features including draw generation (power-paired, round-robin, elimination, random), adjudicator allocation (Hungarian algorithm, preformed panels), ballot entry and results computation, speaker and team standings, break qualification, check-ins, notifications, and venue management. The system uses a monolith architecture with Django REST Framework for API access, Django Channels for real-time updates (WebSockets), and a Vue.js frontend for interactive drag-and-drop interfaces. It is deployed with PostgreSQL, Redis, and Nginx, and supports Docker and Heroku deployment. The codebase is well-structured with extensive use of mixins, base classes, and design patterns, though it exhibits some tight coupling between apps and a large migration history.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
hunvreus/devpush ★ 4746 183 APPLICATION

This repository implements a self-hosted deployment platform alternative to services like Vercel or Netlify. It enables users to deploy GitHub repositories with zero-downtime updates, instant rollback, and preview deployments for branches. The platform provides team-based access control, custom domain support with automatic Let's Encrypt SSL, storage provisioning (databases/volumes), and real-time log aggregation via Loki. Built with FastAPI, SQLAlchemy, and ARQ for background jobs, the architecture separates concerns into routers, services, models, utilities, and workers. Infrastructure is orchestrated via Docker Compose, including Traefik for routing, PostgreSQL for primary data, Redis for caching/job queue, and Loki/Alloy for logs. Key entry points include the main FastAPI app, API routers for auth/project/team/admin, and worker entrypoints for ARQ jobs and deployment monitoring.

RATING: 8.8/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
django-commons/django-click ★ 302 22 APPLICATION

django-click is a library that bridges the Click CLI framework with Django's management command system. It allows developers to write Django management commands using Click's decorator-based API instead of the traditional Django BaseCommand class. The library provides a drop-in replacement for Click's `command` and `group` decorators that automatically register the decorated function as a Django management command, handling all the integration details such as argument parsing, help output, verbosity, settings, and color support. The architecture consists of adapter classes (`DjangoCommandMixin`, `CommandAdapter`, `GroupAdapter`) that inherit from Click's `Command` and `Group` classes and override key methods (`run_from_argv`, `create_parser`, `execute`, `print_help`) to conform to Django's command execution protocol. A `BaseRegistrator` class handles the registration process: it extracts the command name from the module name, applies Click decorators with common Django options (verbosity, settings, pythonpath, traceback, color), and sets the module-level `Command` attribute to a lambda that returns the Click command instance. This enables seamless integration with both `manage.py` invocation and `call_command()` usage. The library also provides a `pass_verbosity` decorator for accessing the Django verbosity level within Click commands, and a `ModelInstance` custom parameter type that allows commands to accept Django model instances as arguments with support for custom lookups. The code is well-tested with comprehensive test coverage for CLI invocation, `call_command` integration, error handling, color support, and edge cases like abort handling and stdout/stderr capture.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 2 reusable components found
$ loading more...
$ submit: