secure.py — это простой, но мощный способ защитить ваши Python веб-приложения, независимо от используемого фреймворка.
#Python #WebSecurity #securepy #Django #Flask #FastAPI #CSP #HSTS #WebDevelopment #PyPI #py #secure #security
https://github.com/TypeError/secure
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - TypeError/secure: Modern Python library for HTTP security headers with safe defaults, configurable presets, and first…
Modern Python library for HTTP security headers with safe defaults, configurable presets, and first-class ASGI/WSGI middleware (FastAPI, Django, Flask, Shiny, and more). - TypeError/secure
2👍4🔥3
Dracula for Django Admin — это стильная тёмная (и светлая) тема для панели администрирования Django.
pip install django-admin-dracula
В INSTALLED_APPS включите "django_admin_dracula" перед "django.contrib.admin":
INSTALLED_APPS = [
...
"django_admin_dracula",
...
"django.contrib.admin",
...
]
#Django #DraculaTheme #Python #DjangoAdmin #DevTools #DarkTheme
https://github.com/sjbitcode/django-admin-dracula
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - sjbitcode/django-admin-dracula: 🦇 Dracula themes for the Django admin
🦇 Dracula themes for the Django admin. Contribute to sjbitcode/django-admin-dracula development by creating an account on GitHub.
👍3🔥3⚡2
django-removals — это пакет, который помогает разработчикам находить и устранять удалённые/неподдерживаемые функции в Django проектах.
python manage.py runserver
python manage.py check --deploy
#Django #Python #WebDevelopment #DjangoRemovals #DjangoUpgrade
https://github.com/ambient-innovation/django-removals/
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ambient-innovation/django-removals: Package to check for known Django removals and deprecations
Package to check for known Django removals and deprecations - ambient-innovation/django-removals
3👍3🔥1
WOWY — это мощная e-commerce платформа, созданная на Django 4.x, которая обеспечивает комфортный и современный опыт покупок как для клиентов, так и для администраторов. С функционалом управления товарами, системой заказов, аналитикой продаж и адаптивным дизайном, WOWY включает всё, что нужно для успешного онлайн-магазина.
#WOWY #Ecommerce #Django #ОнлайнМагазин #РазработкаНаPython #ИнтернетТорговля #ЭлектроннаяКоммерция
https://github.com/manjurulhoque/wowy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - manjurulhoque/wowy: WOWY is a modern, full-featured e-commerce platform built with Django 4.x, designed to provide a seamless…
WOWY is a modern, full-featured e-commerce platform built with Django 4.x, designed to provide a seamless shopping experience for both customers and administrators. This comprehensive solution offe...
1👍2🔥2
Djoser — это REST-реализация системы аутентификации Django. Библиотека предоставляет готовые API для регистрации, входа, выхода, сброса пароля и активации аккаунта. Поддерживает кастомные модели пользователей и легко интегрируется с Django REST Framework.
#Python #Django #DjangoREST #Djoser #Authentication #JWT #WebAuthn #RESTAPI
https://github.com/sunscrapers/djoser
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - sunscrapers/djoser: REST implementation of Django authentication system.
REST implementation of Django authentication system. - sunscrapers/djoser
1🔥3👍1
django-typer — это удобное расширение для Django, которое позволяет создавать менеджмент-команды с помощью Typer, используя аннотации типов Python.
Он объединяет мощь Typer (на базе Click) с привычным интерфейсом BaseCommand из Django, делая код чистым, декларативным и типобезопасным.
#Django #CLI #Python #Typer #OpenSource #DevTools #DjangoTips #TypeSafety #Click #djangoTyper #rich #PythonDev
https://github.com/django-commons/django-typer
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - django-commons/django-typer: Use Typer (type hints) to define the interface for your Django management commands.
Use Typer (type hints) to define the interface for your Django management commands. - django-commons/django-typer
1👎3🔥3👍1
Django Style — лаконичные стили для ваших Django-проектов.
Упростите оформление своих прототипов с помощью минималистичных тем:
#Django #UI #Tailwind #Bootstrap #CSS #Python #WebDev #Prototyping #nanodjango #DjangoStyle
https://github.com/radiac/django-style
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - radiac/django-style: Basic tasteful designs for your Django project
Basic tasteful designs for your Django project. Contribute to radiac/django-style development by creating an account on GitHub.
2👍2🔥2
TurboDRF — проект, который позволяет быстро создавать полноценные REST API из моделей Django без шаблонного кода.
#Django #DRF #Python #API #TurboDRF #Backend #OpenSource #Разработка #WebDev
https://github.com/alexandercollins/turbodrf
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - AlexanderCollins/TurboDRF: The dead simple Django REST Framework API generator with role-based permissions
The dead simple Django REST Framework API generator with role-based permissions - AlexanderCollins/TurboDRF
1👍2⚡1 1
OctopusDash — это современная, open-source админ-панель для Django с красивым UI, мощной фильтрацией и гибким управлением правами доступа. Создана для разработчиков и команд, которым нужно больше гибкости, ясности и расширяемости по сравнению с дефолтной Django admin.
Django admin мощный, но устарел и ограничен. OctopusDash создавался с нуля, чтобы дать:
#django #python #opensource #django_admin #adminpanel #webdev #octopusdash #tailwindcss #uiux #backend #devtools
https://github.com/husseinnaeemsec/octopusdash
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - husseinnaeemsec/octopusdash: Dynamic Django admin panel
Dynamic Django admin panel. Contribute to husseinnaeemsec/octopusdash development by creating an account on GitHub.
1⚡3👍2🔥1
DJ Checkup — это инструмент для проверки безопасности Django-сайтов.
Он запускается из командной строки и выполняет те же проверки, что и сервис djcheckup.com, чтобы убедиться, что ваш сайт защищён от распространённых угроз.
#Django #Security #Python #WebDev #DJCheckup #CyberSecurity #DevTools #WebSecurity #PythonTools
https://github.com/stuartmaxwell/djcheckup
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - stuartmaxwell/djcheckup: DJ Checkup is a security scanner for Django sites.
DJ Checkup is a security scanner for Django sites. - stuartmaxwell/djcheckup
1👍2 2
Django LiveView — фреймворк для создания реал-тайм SPA(Single Page Application) на чистом Django без JavaScript, используя HTML over WebSockets.
Вдохновлён Phoenix LiveView: вся логика остаётся в Python, фронтенд рендерится Django-шаблонами через WebSockets (Django Channels). Кликнул кнопку — сервер отправил HTML-фрагмент, который JS вставил в нужный селектор. Без API, React'ов и фронтенд-разработчиков.
#django #python #realtime #liveview #websockets #spadevelopment #hotwire
https://github.com/Django-LiveView/liveview
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Django-LiveView/liveview: Django LiveView: Framework for creating Realtime SPAs using HTML over the Wire technology
Django LiveView: Framework for creating Realtime SPAs using HTML over the Wire technology - Django-LiveView/liveview
1👍4🔥2
WebRockets — это высокопроизводительный WebSocket-сервер для Python с нативной поддержкой Django. Ядро написано на Rust (PyO3 + axum + fastwebsockets) для максимальной скорости — до 10x быстрее Daphne в бенчмарках.
runwebsockets.from webrockets import WebsocketServer
server = WebsocketServer(host="0.0.0.0", port=8080)
echo = server.create_route("ws/echo/", "echo")
@echo.connect("before")
def on_connect(conn): print(f"Connected: {conn.path}")
@echo.receive
def on_message(conn, data): conn.send(f"You said: {data}")
server.start()
Django (websockets.py в app):
from webrockets.django import server
from webrockets.django.auth import SessionAuthentication
chat = server.create_route("ws/chat/", "chat", authentication_classes=[SessionAuthentication()])
@chat.connect("before")
def on_connect(conn): print(f"User {conn.user} joined")
@chat.receive(match=Match("type", "message"), schema=ChatMessage)
def on_message(conn, data: ChatMessage): conn.broadcast([data.room], data.content)
# Запуск: python manage.py runwebsockets
pip install webrockets[django,schema].#WebRockets #WebSocket #Django #Rust #Python #Async #HighPerformance #WebDev #OpenSource
https://github.com/ploMP4/webrockets
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ploMP4/webrockets: High-performance rust powered websockets for python
High-performance rust powered websockets for python - ploMP4/webrockets
2👍6🔥2 2
Zoocache — это высокопроизводительная библиотека кеширования с ядром на Rust и обвязкой для Python, заточенная под сценарии, где важно одновременно и быстро читать, и строго соблюдать консистентность данных. В отличие от простых TTL‑кешей, она использует семантические зависимости и иерархическую инвалидацию, поэтому вы можете «убить» сразу целые группы связанных ключей (например,
user:* или region:eu:*) одним вызовом.invalidate("store:1") очищает всё store:1:*).pip install zoocache или uv add zoocache.@cacheable + deps и add_deps() задают зависимости, а invalidate("user:123") гарантированно очищает все связанные кэши для этого пользователя._save/_delete, учёт транзакций, авто‑зависимости по JOIN‑ам и поддержка Django REST Framework сериализаторов.Zoocache особенно уместен там, где много сложных связей (каталоги, прайсинги, инвентарь, персонизация), высокая доля чтения и требуется строгий «сразу видно апдейт», а не «подождём, пока TTL протухнет».
#Python #Rust #Caching #Zoocache #Redis #Django #HighLoad #HLC #MsgPack #LZ4 #SingleFlight
https://github.com/albertobadia/zoocache
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - albertobadia/zoocache: Semantic dependency based cache with high performance and concurrency in mind.
Semantic dependency based cache with high performance and concurrency in mind. - albertobadia/zoocache
⚡2👍2 2
django-hawkeye — это Django‑надстройка для полнотекстового поиска по BM25 прямо в PostgreSQL 17+ через расширение
pg_textsearch, лёгкая альтернатива Elasticsearch.BM25Searchable и BM25Index, дальше Article.search("django tutorial") как обычный QuerySet.pip install django-hawkeye
# установить pg_textsearch на сервере PostgreSQL 17+
git clone https://github.com/timescale/pg_textsearch.git
cd pg_textsearch
make && make install
from django.db import models
from django_hawkeye import BM25Index, BM25Searchable
class Article(BM25Searchable, models.Model):
title = models.CharField(max_length=255)
content = models.TextField()
class Meta:
indexes = [
BM25Index(fields=["content"], name="article_bm25_idx"),
]
#django #postgresql #fulltextsearch #bm25 #elasticsearch #rag #python
https://github.com/FarhanAliRaza/django-hawkeye
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - FarhanAliRaza/django-hawkeye: Django BM25 full-text search using PostgreSQL - a lightweight Elasticsearch alternative
Django BM25 full-text search using PostgreSQL - a lightweight Elasticsearch alternative - FarhanAliRaza/django-hawkeye
🔥3👍1 1
InvenTree — это open‑source система управления инвентарём (inventory management) на Django + React с фокусом на детализацию деталей, складской учёт и traceability.
wget -qO install.sh https://get.inventree.org && bash install.sh
#python #django #inventory #warehouse #bom #opensource #inventree
https://github.com/inventree/InvenTree
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - inventree/InvenTree: Open Source Inventory Management System
Open Source Inventory Management System. Contribute to inventree/InvenTree development by creating an account on GitHub.
django-tasks-db — это backend для Django Tasks (новая фича Django 6.0+), который хранит задачи в БД через ORM вместо Redis/RQ: простой worker
./manage.py db_worker.INSTALLED_APPS = ["django_tasks_db"]
TASKS = {
"default": {
"BACKEND": "django_tasks_db.DatabaseBackend",
"QUEUES": ["default"]
}
}
manage.py db_worker --reload (DEBUG‑релоад).manage.py prune_db_task_results (удаляет старые задачи).#django #tasks #background #orm #djangotasksdb
https://github.com/RealOrangeOne/django-tasks-db
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - RealOrangeOne/django-tasks-db: An ORM-based backend for Django Tasks
An ORM-based backend for Django Tasks. Contribute to RealOrangeOne/django-tasks-db development by creating an account on GitHub.
1⚡4👍1
Django Signals — это мощный механизм, который позволяет разным частям вашего приложения "общаться" друг с другом, автоматически реагируя на различные события (например, сохранение модели или удаление объекта).
Но давайте будем честны: когда проект разрастается, поиск всех отправителей и получателей сигналов превращается в настоящий детектив с дебагом вслепую!
Устали искать концы? Встречайте Django Signals Panel!
Это удобный инструмент, который собирает и выводит все зарегистрированные сигналы Django и их обработчики (receivers) прямо в стандартную панель администратора.
pip install dj-signals-panel(Требуется Python 3.9+ и Django 4.2+)
#Django #Python #Backend #WebDev #DjangoAdmin #OpenSource #DevTools #Programming
https://github.com/yassi/dj-signals-panel
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - yassi/dj-signals-panel: Display registered Django signals and receivers, showing what fires and where.
Display registered Django signals and receivers, showing what fires and where. - yassi/dj-signals-panel
1👍2🔥2 2
Dj-lite-tenant - это экспериментальная библиотека для Django, которая выводит изоляцию данных в мультиарендных (multi-tenant) приложениях на абсолютный максимум. Она автоматически создает отдельную базу данных SQLite для каждого пользователя.
Если вы строите легковесный SaaS или пет-проект, где пользователи не должны пересекаться данными ни при каких обстоятельствах, этот инструмент предлагает элегантное решение без развертывания тяжелых серверов БД.
.sqlite3 для указанных в настройках приложений.ForeignKey между БД пользователя и общей базой данных (например, таблицей самого User) работают прозрачно благодаря механизму ATTACH DATABASE в SQLite. Django ORM сама генерирует валидные SQL-запросы.USE_DATABASE_TEMPLATE. Первая чистая БД выполнит миграции, сохранится как шаблон, а для новых пользователей файлы будут просто клонироваться за миллисекунды.with tenant_db(user):.Установка:
uv add dj-lite-tenant
# или pip install dj-lite-tenant
Минимальная настройка в
settings.py:INSTALLED_APPS = [
...
"dj_lite_tenant",
]
MIDDLEWARE = [
...
"django.contrib.auth.middleware.AuthenticationMiddleware",
"dj_lite_tenant.middleware.TenantDatabaseMiddleware", # Строго после Auth
]
DATABASE_ROUTERS = ["dj_lite_tenant.routers.TenantDatabaseRouter"]
DJ_LITE_TENANT = {
"DIR": BASE_DIR / "db/tenants",
"APPS": {"notes"}, # Приложения, данные которых улетят в персональные БД
}
Для применения новых миграций ко всем базам данных пользователей используется специальная команда:
python manage.py migrate_tenant_dbs.#Django #Python #SQLite #MultiTenant #Backend #WebDev #SaaS #Database #OpenSource
https://github.com/adamghill/dj-lite-tenant
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - adamghill/dj-lite-tenant: Multi-tenant SQLite databases for Django.
Multi-tenant SQLite databases for Django. Contribute to adamghill/dj-lite-tenant development by creating an account on GitHub.
Python UUID Utils — это сверхбыстрая замена стандартного модуля
uuid в Python, написанная на Rust. Инструмент разработан как полноценная альтернатива (drop-in replacement): вы можете кратно ускорить генерацию уникальных идентификаторов в вашем приложении без кардинального переписывания кодовой базы.Согласно официальным тестам на Python 3.14, ускорение получается просто космическим:
uuid4(): Стандартная библиотека — 1189 нс | uuid_utils — всего 61 нс (быстрее почти в 20 раз!).uuid7(): Стандартная библиотека — 1336 нс | uuid_utils — 84 нс (быстрее в 15 раз!).hex) или байтов работает быстрее в 4–5 раз.Некоторые крупные фреймворки строго требуют, чтобы объекты UUID были именно инстансами стандартного класса
uuid.UUID из встроенной библиотеки Python, а не сторонними сабклассами. Разработчики это учли! Для таких случаев есть специальный модуль совместимости:import uuid_utils.compat as uuid
# Возвращает родной объект stdlib uuid.UUID,
# но генерирует его в 4-5 раз быстрее стандартного модуля!
my_id = uuid.uuid4()
pip install uuid-utils
# или через conda
conda install -c conda-forge uuid-utils
#Python #Rust #Performance #UUID #Backend #Django #DevTools #Programming #OpenSource #Оптимизация
https://github.com/aminalaee/uuid-utils
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - aminalaee/uuid-utils: Fast, drop-in replacement for Python's uuid module, powered by Rust.
Fast, drop-in replacement for Python's uuid module, powered by Rust. - aminalaee/uuid-utils
3⚡2👍2 2
Citry - это строго типизированный фронтенд-фреймворк для Python, объединяющий серверные события и Alpine.js для создания реактивных веб-интерфейсов без необходимости вести отдельный frontend-проект на JavaScript.
Архитектура проекта вдохновлена идеями Vue и Laravel Livewire: один Python-компонент инкапсулирует HTML-разметку, стили CSS, логику браузера, серверные обработчики событий и переводы интерфейса.
Kwargs). Опечатки в свойствах или пропущенные поля отлавливаются на этапе статического анализа, а метод template_data() изолирует контекст, доступный шаблону.<c-ComponentName>, а атрибуты с префиксом c- вычисляют Python-выражения (например, c-messages="user.inbox").citry check --static).citry-ui) — диалоги, формы, навигация и таблицы.from citry import Component
class Welcome(Component):
class Kwargs:
name: str
messages: list[str]
def template_data(self, kwargs, slots):
return {
"name": kwargs.name,
"messages": kwargs.messages,
}
template = """
<section class="welcome">
<h1>С возвращением, {{ name }}!</h1>
<ul>
<li c-for="message in messages">{{ message }}</li>
<li c-empty>Новых сообщений нет.</li>
</ul>
</section>
"""
css = """
.welcome { border-top: 3px solid #2563eb; }
"""
# Рендеринг компонента в HTML-строку
html = str(Welcome(name="Алексей", messages=["Сборка завершена", "Отчет готов"]))
pip install citry
# или через uv:
uv add citry
#Citry #Python #Frontend #Fullstack #FastAPI #Django #Flask #AlpineJS #Livewire #WebDev #OpenSource #DevTools
https://github.com/citry-dev/citry
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - citry-dev/citry: Fully typed frontend framework for Python with server events and Alpine.js, inspired by Vue and Livewire.
Fully typed frontend framework for Python with server events and Alpine.js, inspired by Vue and Livewire. - citry-dev/citry