Коробка с питоном
537 subscribers
49 photos
128 links
Заметки от Python-разработчика: сниппеты, обзоры пакетов, новости и другая полезная информация.
Download Telegram
What the f*ck Python - репозиторий на Github, в котором собраны некоторые интересные примеры с объяснениями, почему происходят те или иные вещи в Python.

#ссылочки
Ormar - очень интересная и небольшая асинхронная ORM, которая поддерживает Postgres, MySQL и SQLite. Построена на базе Pydantic и SQLAlchemy.

Суть проекта - создать легкую ORM, которая могла бы использоваться напрямую (в цикле запрос-ответ) с FastAPI или другими фреимворками.
На данный момент по моему мнению выглядит неплохо, идеологически это достойная замена для WIP SQLModel.

Github | Документация
#библиотека
Если вы пишите на Django или собираетесь писать на нём, я нашёл довольно адекватный и хороший стаилгайд от HackSoftware, который позволит вашему коду на Django не превратиться в макароны.

Стаилгайд описывает большинство кейсов, с которыми сталкивается разработчик - от взаимодействия с моделями и сервисами, до тестирования и работы с Celery.

#ссылочки #django
Давным давно я писал обертку для сервиса, которая генерирует текст-рыбу. Она нужна была чтобы заполнять поля с контентом.

Совсем недавно я начал писать свой проект и углубился в тестирование. Одним из результатов моего поиска ресурсов по этой теме стала библиотека Faker.

Faker генерирует фейковые данные. При чем, он умеет генерировать не только текст - он также умеет генерировать адреса, имена, а если чего-то нет - можно поискать провайдера для этого.

Github | Документация

#тестирование #библиотека
Проект который я пишу в основном на Django, поэтому в следующее время будет довольно много ресурсов по ней 🌚
Есть задача реализовать импорт/экспорт сущностей (в различных форматах), библиотека django-import-export позволяет сделать это в кратчайшие сроки. Можно, конечно, реализовать свой импорт/экспорт, но зачем изобретать велосипед? К слову, библиотека поддерживается, активность на гитхабе есть, поэтому с ней проблем быть не должно.

Что она умеет?
- Экспорт в различные форматы: Excel, CSV, JSON и вообще любой другой формат, который поддерживает tablib
- Интеграция с админкой (импорт, экспорт)
- Превью импорта
- Экспорт с поддержкой фильтров

Github | Документация
#библиотека #django
Коробка с питоном
Проект который я пишу в основном на Django, поэтому в следующее время будет довольно много ресурсов по ней 🌚 Есть задача реализовать импорт/экспорт сущностей (в различных форматах), библиотека django-import-export позволяет сделать это в кратчайшие сроки.…
Кстати про используемый там tablib!

Это очень полезная библиотека, которая позволяет создавать "табличные датасеты" с которыми можно производить некоторые операции (поиск данных, например) или экспортировать их в необходимый формат.

Для тех, кто не понимает что такое "табличный датасет" (tabular data sets) - проще говоря это набор данных в виде таблички.

Сам tablib поддерживает сегрегацию, динамические колонки, тегирование и фильтрование данных. Ну и вишенка на торте - экспорт в почти что угодно. На скриншоте, кстати, пример :)

Github | Документация
#библиотека
Задача - проверять является ли строка содержащая отрицательное число, как бы это не звучало, числом. Choose your hero, а почему - расскажи в комментариях.
Скучали по Django? Вот вам ещё пакетик.

Если вам нужно реализовать историю изменения данных в моделях, то django-simple-history может это сделать для вас.

GitHub | Документация

#django #библиотека
Небольшой хинт, да, снова #django.

У меня есть небольшая задача, в которой мне нужно изменять файл в Celery задаче. Дефолтный update менеджера модели работать не будет, поэтому устанавливаем атрибуты и вызываем save на объекте.

Работать он не будет, потому что QuerySet.update() не вызывает save() на модели, поэтому механизмы сохранения файлов в сторадже отрабатывать не будут.

Первая картинка - моделька, вторая - как оно работает. Ваши варианты можете кидать в коменты, интересно послушать.
Немного занят, чуть позже начну заливать посты в канал. Только сейчас вспомнил, что хотел 2 недели назад хотел подвести итоги ноября, но подвожу их только сейчас 😕

В этом месяце было очень много Django. Возможно, дальше будет чуть больше.

🔗 Ссылочки:
- What the f*ck, Python?
- Django Styleguide
- Python и чистая архитектура в 2021 году

📚 Библиотеки:
- Ormar - ещё одна асинхронная ORM
- Faker - генерируем фейковые данные
- django-import-export
- tablib
- django-simple-history
Коробка с питоном pinned «Немного занят, чуть позже начну заливать посты в канал. Только сейчас вспомнил, что хотел 2 недели назад хотел подвести итоги ноября, но подвожу их только сейчас 😕 В этом месяце было очень много Django. Возможно, дальше будет чуть больше. 🔗 Ссылочки: - What…»
С новым 2022 годом! 🎅

В этом году я буду пытаться подтянуть алгоритмы, поэтому первый пост будет про них.

Вот вам репозиторий на github в котором реализовано огромное количество алгоритмов на Python - от сортировок, до отправки и приёма файлов.
Все примеры отлично откомментированы на английском, поэтому проблем с их пониманием возникнуть не должно.

#ссылочки
1
Очень интересный пакет, вдохновленный Rust - impl_pattern. Может использоваться если вы хотите расширить класс (в основном какой-то библиотечный) какими-то методами.

Вы можете зарегистрировать метод для класса с использованием этой библиотеки следующим образом:

from impl_pattern import impl

class Sample:
def __init__(self):
self.value = 10

@impl(Sample)
def plus_one(self: Sample):
self.value += 1

s = Sample()
s.plus_one()

print(s.value)
# 11


Не знаю кто будет это использовать, но как POC выглядит красиво и элегантно.

#библиотека
🐍 CPython скомпилировали в WASM!

WASM - это такой бинарный формат, результат компиляции какого-то языка который позволяет запустить его в браузере при помощи специальной виртуальной машины.

Так вот, наш Python REPL запустили в браузере, можно потыкать. Возможно, скоро мы сможем писать фронтенд на Python, который будет запускаться через WASM...

#новости