Аватар пользователя
@Admin

76

slowapi — Библиотека для Rate-Limiting в FastAPI

slowapi — мощный инструмент для Python, позволяющий ограничивать количество запросов в веб-приложениях на базе FastAPI. Используя библиотеку limits, slowapi обеспечивает гибкую настройку лимитов по различным критериям, таким как IP-адрес или уникальный идентификатор пользователя.

Основные возможности:

  • Гибкая конфигурация: Поддержка стратегий, основанных на фиксированных временных окнах и алгоритме «токен-ведро».
  • Настройка по параметрам: Ограничение запросов по IP, идентификаторам и другим метрикам.
  • Легкая интеграция: Автоматическая обработка превышения лимита с возвратом HTTP 429 (Too Many Requests).

🌐 Github

Комментарии

Похожие записи

Аватар пользователя
@Admin

61

Authlib — надёжная библиотека для OAuth и аутентификации на Python

Authlib — полнофункциональная Python‑библиотека для реализации современных протоколов авторизации и аутентификации, включая OAuth 1.0/2.0, OpenID Connect и JWT.

Ключевые возможности

  1. OAuth 1.0 & 2.0
    — Клиенты и серверы для создания защищённого доступа к API.
  2. OpenID Connect
    — Надстройка над OAuth 2.0 для безопасной аутентификации пользователей.
  3. JWT / JWS
    — Генерация, подпись, проверка и декодирование JSON Web Token.
  4. Интеграция с фреймворками
    — Готовые расширения для Flask, Django, Starlette и FastAPI.
  5. Соответствие стандартам
    — Полная реализация RFC для защиты данных и соответствия требованиям безопасности.

👉 Официальная документация

Комментарии(0) Python
Аватар пользователя
@Admin

65

Изображение поста

🚀 Click — библиотека для создания CLI-приложений на Python

Click позволяет быстро и удобно создавать интерфейсы командной строки компонуемым способом, требуя минимального шаблонного кода. Идеально подходит для скриптов любой сложности:

  • Простота и лаконичность: декларативный синтаксис и автоматическое генерирование справки.
  • Модульность: выстраивайте команды и подсистемы через вложенные группы (@click.group()).
  • Гибкая обработка параметров: поддержка флагов, опций, аргументов и пользовательских типов.
  • Расширяемость: легко интегрируется с другими инструментами и библиотеками.
  • Активное сообщество и поддержка: регулярно обновляется, подробная документация и множество примеров.

👉 Официальная документация: https://click.palletsprojects.com/

Комментарии(0) Python
Аватар пользователя
@Admin

86

Изображение поста

openai-agents-python — Библиотека для создания автономных агентов на Python

openai-agents-python — это демонстрационная библиотека от OpenAI, предназначенная для разработки интеллектуальных агентов на Python, способных принимать решения, планировать действия и взаимодействовать с внешними API с использованием функций вызова.

Основные особенности:

  • Интеграция с инструментами автоматизации: Легко подключайте различные сервисы для автоматизации задач.
  • Примеры цепочек рассуждений: Реализуйте агентные сценарии с помощью готовых шаблонов.
  • Современный подход: Быстрая разработка чат-ботов, ассистентов и других интеллектуальных приложений.
  • Готовые решения: Библиотека предоставляет шаблоны и демонстрационные проекты, что значительно ускоряет процесс разработки.

Польза для разработчиков:

  • Ускорение разработки: Готовые примеры и решения позволяют быстрее создавать и тестировать ИИ-агентов.
  • Обучение передовым технологиям: Экспериментируйте с автономными системами и функцией вызова функций от OpenAI.
  • Расширение возможностей: Используйте библиотеку как основу для создания сложных, самообучающихся систем.

🌐 Ознакомьтесь с проектом на GitHub — здесь

Комментарии(0) Python
Аватар пользователя
@Admin

69

Как работает @staticmethod в Python: объясняем на пальцах

Ты начинающий разработчик и хочешь разобраться, что такое @staticmethod в Python? Это проще, чем кажется! Декоратор @staticmethod превращает метод класса в обычную функцию, которая живёт внутри класса, но не трогает self или cls. Давай разберём, как это работает, зачем нужно и где применять. Готов? Поехали!

Что такое @staticmethod и как он работает?

Обычно методы в классе получают доступ к экземпляру через self (например, self.name). Но что, если тебе нужен метод, который просто делает что-то полезное и не зависит от объекта? Вот тут и приходит @staticmethod. Он говорит Python: "Эй, этот метод — независимый, не подсовывай ему self или cls!"

Пример кода:

class MathUtils:
    @staticmethod
    def add(x, y):  
        return x + y

print(MathUtils.add(3, 5))  # Вывод: 8

Видишь? Мы вызвали add прямо через класс, без создания объекта. Удобно и быстро!

Зачем использовать @staticmethod?Если ты новичок в программировании, запомни три причины:

  • Независимость: метод не лезет в данные объекта или класса.

  • Логика: группирует функции, которые связаны с классом, но не требуют его состояния.

  • Простота: не нужно создавать экземпляр, чтобы использовать метод.

Например, если у тебя класс для математических утилит, @staticmethod идеален для функций вроде сложения или вычисления процентов.

Когда применять в реальной жизни?Допустим, ты пишешь программу для студентов. У тебя есть класс StudentTools, и там метод calculate_average_grade. Он просто считает средний балл из списка оценок — ему не нужны данные конкретного студента.

@staticmethod — твой лучший друг!Хочешь копнуть глубже?Если интересно сравнить @staticmethod с @classmethod или понять, как это используют в больших проектах, пиши свои вопросы в комментариях!

А пока попробуй написать свой пример с @staticmethod — и делись результатом!

Комментарии(0) Python
Аватар пользователя
@Admin

51

Всё, что вы хотели знать про словари в программировании: от А до Я

Что такое словари и зачем они нужны?

Словари — это крутой инструмент в программировании, который есть почти в каждом языке: Python, C++, Java и других. Они созданы, чтобы быстро искать и хранить данные по уникальным ключам. Представьте словарь как список пар "ключ-значение", где каждый ключ — это ваш билет к нужной информации. Простыми словами, это как записная книжка: открыл страницу по имени и сразу нашел номер телефона!

Основная фишка словарей — мгновенный доступ к данным по ключу. Но как это работает? Давайте разберёмся, как их "турбо-ускорение" помогает кодерам по всему миру.

Как работают словари: деревья или хэш-таблицы?

Вариант 1: Сбалансированные деревья поиска

Один из способов реализовать словарь — использовать сбалансированные деревья поиска, например, красно-чёрные. Это как дерево решений: всё, что больше ключа — направо, меньше — налево. Если ветки сбалансированы, поиск занимает считанные мгновения. Главное условие? Ключи должны быть сравнимыми (<, >, =), а их порядок — неизменным. Примеры? Легко: std::map в C++, TreeMap в Java или SortedDictionary в C#. Быстро, надёжно, но не всегда самый популярный выбор.

Вариант 2: Хэш-таблицы — короли скорости

Более распространённый подход — хэш-таблицы. Здесь данные лежат в списке, а хэш-функция мгновенно подсказывает, где искать нужный ключ. Как это работает? Хэш-функция берёт ключ, превращает его в число и говорит: "Ищи вот тут!" Примеры: dict в Python, std::unordered_map в C++, HashMap в Java. Быстрее некуда, но есть нюанс — коллизии. Иногда разные ключи дают одинаковый хэш, и тогда приходится проверять: "Это точно тот ключ?".

Хэш-функции: сердце хэш-таблиц

Хэш-функция — это магия, которая превращает любые данные в числа фиксированного размера. Главное правило: одинаковые ключи — одинаковый хэш, разные — по-разному (хотя коллизии неизбежны). Чтобы всё работало как часы, нужно: - Считать хэш для каждого ключа. - Гарантировать стабильность хэша (меняется ключ — ломается всё!). - Минимизировать коллизии, чтобы поиск не тормозил.

В Python, например, хэширование для изменяемых объектов (списков) невозможно, а для кортежей или строк — запросто. Пишешь свой класс? Определи __eq__ и __hash__, чтобы всё заработало как надо.

Комментарии(0) Python