Я счастлив представить Пикколо , асинхровый строитель запросов и ORM для Python, который работает с Postgres и SQLite.
Некоторые из них являются выдающимися функциями:
Поддержка Asyncio
Asyncio имеет большой смысл, когда вы хотите высокой пропускной способности. Пикколо построен на вершине Асинсио и быстрый адаптер базы данных под названием Asyncpg Анкет Вы также можете использовать Piccolo в традиционном синхронном приложении.
Административный графический интерфейс
Большинство пользователей Django скажут вам, что интерфейс администратора является одной из самых сильных сторон. Это экономит много времени, по сравнению с построением одного с нуля для каждого проекта. Пикколо имеет свой собственный администратор , который чистый и современный , построен с использованием Vue JS.
Бэкэнд -структура
Существуют тысячи веб -фреймворков, но часто они просто фокусируются на уровне представления и не думают о базе данных или безопасности.
Piccolo был разработан наоборот – сначала сосредоточившись на уровне данных, что означает, что вы можете использовать его с любой библиотекой маршрутизации, которую вы пожелаете. Пикколо имеет поддержку коробки для Starlette и FASTAPI . Другие фреймворки ASGI интегрируются с Piccolo очень легко.
Миграция
Нет ORM не завершен без миграции – Пикколо отправляется с ними прямо из коробки.
Шаблоны проекта
Пикколо делает Создание нового веб -приложения Действительно просто. Просто используйте Piccolo Asgi New
и шаблон веб -приложения создается для вас автоматически. Starlette и Fastapi в настоящее время поддерживаются.
Детская площадка
Piccolo делает обучение синтаксису запроса максимально простым, используя детская площадка Анкет Используйте Piccolo Playground Run
, и он запустит оболочку ipython и тестовую базу данных SQLite, что позволит вам практиковать запросы с помощью Piccolo, не настраивая что -либо сначала.
SQL вдохновил
Синтаксис Piccolo для запросов – как можно ближе к SQL Анкет Любой, у кого есть опыт SQL, должен быть очень естественным в использовании.
>>> await Movie.select(Movie.name).where(Movie.director.name == 'George Lucas').run() [{'name': 'Star Wars'}]
Модульный код
Piccolo позволяет разделить ваши модели на Приложения , сделав ваш код более подлежащим обслуживанию, и это означает, что вы можете поделиться ими с другими людьми на GitHub или PYPI.
Безопасность
У Piccolo есть куча связанных промежуточное программное обеспечение, конечные точки и таблицы Чтобы помочь создать безопасное веб -приложение.
Попробуй!
Подари пикколо. Он уже используется в производстве и улучшается быстрыми темпами. Если у вас есть какие -либо отзывы или вопросы, сообщите нам о GitHub . Спасибо!
Оригинал: “https://dev.to/dantownsend/piccolo-an-async-query-builder-and-orm-for-python-4n07”