🍏 Поддержка iOS в Cpython |
Разработка мобильных приложений на Python всегда была непростой задачей: в течение 10 последних лет реализовать такой проект можно было лишь с помощью Kivy и BeeWare. И хотя на основе Kivy и BeeWare можно сделать приложение, которое примут в iOS App Store, пора добавить официальную поддержку iOS в Cpython. Первый шаг на этом пути – PEP 730, цель которого – достижение поддержки 3 (начального) уровня для iOS в Python 3.13. |
❔Подготовка к собеседованию |
В блоге IntelliPaat есть регулярно обновляемая подборка вопросов и задач для джунов – там разобрано уже более 100 заданий. По-настоящему сложных задач там нет, а мы такие задания разбирать будем – недавно опубликовали первую подборку. |
В новой версии Django 5.0 появилось несколько долгожданных фич: - Generated fields – новый тип полей, значение которых генерируется автоматически на стороне базы данных на основе других полей или выражений. Это позволяет избавиться от дублирования логики в QuerySet и сделать такие вычисляемые значения доступными в любом месте кода. Например, можно автоматически генерировать поле full_name из first_name и last_name.
- Database-computed default values – теперь значения по умолчанию для полей моделей можно задавать на стороне базы данных с помощью функций или выражений. Это делает их видимыми в структуре БД и позволяет вычислять актуальные значения по умолчанию, например текущую дату/время.
- Form field group rendering – новый способ группового рендеринга полей форм с помощью метода as_field_group. Это упрощает настройку отображения полей с их атрибутами (лейбл, ошибки, вспомогательный текст) в шаблонах.
Примеры использования новых функций – здесь, а еще больше примеров использования GeneratedField – в этом лонгриде.
В каталоге Python Frameworks представлены не только суперпопулярные и всем известные фреймворки / библиотеки. Здесь есть новые перспективные инструменты, на которые стоит обратить внимание: - Веб-приложения – Django, Flask, CherryPy, Tornado, Esmerald
- API – FastAPI, Flask API, Django Ninja, Falcon
- CMS – Wagtail, Django CMS, Kotti CMS, Mezzanine, Indico
- ИИ, машинное и глубокое обучение – Pytorch, Tensorflow, Spark ML, H2O, XGBoost
- Менеджеры очередей и брокеры сообщений – Celery, Propan, Apprise, RQ, Huey 2
- Параллельные и распределенные вычисления – Ray, Streamparse, PySpark, Faust
- Рабочий процесс и пайплайн – Kedro, Luigi, Schedule, Prefect, MLflow
- Бессерверные приложения – Zappa, Chalice, Lambdarest, Python Lambda, Mangum
- DevOps – Ansible, Fabric, Pyinfra, Salt, Supervisor
- Кроулеры и парсеры – Scrapy, Selenium, Dude, Ruia, Gerapy
- GUI & TUI – Kivy, Eel, Enaml, Flexx, DearPyGUI
- 3D-рендеринг, 2D/3D игры – Pygame, Arcade, Ren'Py, Panda3D, cocos2d
|
В этом репозитории собрана обширная коллекция идей – от простейших до продвинутых. Не все проекты можно реализовать на чистом Python, кое-где пригодятся Django / Flask и JavaScript :) В описании каждой идеи приведены: - Требования и ограничения.
- Основная и дополнительная функциональность.
- Полезные ссылки по проекту.
- Ссылки на готовые примеры (необязательно на Python).
Для разработки некоторых приложений понадобится бесплатный API – огромный список публичных API можно найти здесь. |
PixArt – генерирует изображения, сопоставимые по качеству с Imagen, Stable Diffusion и даже Midjourney, при этом на обучение тратит всего 10,8% от времени, которое требуется Stable Diffusion v1.5 (675 против 6250 A100 GPU дней). Протестировать можно на Hugging Face. |
PixArt сгенерировал картинку в точном соответствии с запросом |
Giskard – библиотека для тестирования любых моделей: - Автоматически находит уязвимости, предвзятость, ложные корреляции.
- Определяет утечку данных и проблемы с безопасностью.
- Помогает сократить число галлюцинаций.
|
В пошаговом туториале по Pytorch Lightning подробно разбирается процесс создания и обучения сверточной нейронной сети для классификации изображений на наборе данных CIFAR-10. Рассмотрено использование логгеров и обратных вызовов. Разработка приложения для суммаризации содержания книг в формате PDF и EPUB. Помимо Python, в проекте используются фреймворк Langchain и API OpenAI GPT-3.5 / GPT-4. Смысл проекта: обработка объемных файлов с ChatGPT Turbo – недешевое удовольствие. Но можно значительно сэкономить, если поступить следующим образом: - Разбить текст на небольшие фрагменты и преобразовать их в эмбеддинги.
- Выделить самые важные моменты с помощью кластеризации.
- Сделать суммаризацию каждого фрагмента, используя GPT-3.5.
- Объединить суммаризацию в единый связный текст с помощью GPT-4.
С Llama 2* суммаризацию можно сделать совсем бесплатно, но процесс разработки будет сложнее. |
📊 Оптимизация работы дата сайентиста |
Чтобы повысить эффективность рабочего процесса, видео «7 советов по структурированию дата сайенс проектов на Python» рекомендует следовать следующим принципам: - Используйте одинаковую структуру для всех проектов.
- По возможности, всегда используйте готовые библиотеки вместо того, чтобы писать собственный код.
- Логируйте результаты, используя соответствующую функциональность Taipy или Comet LLM.
- Используйте промежуточные представления данных – например, CSV- или JSON-файлы.
- Храните повторно используемый код в файле, к которому можете подключиться откуда угодно. Jupyter Notebook для этих целей использовать неудобно.
- Храните настройки в отдельном файле, а не россыпью по всей кодовой базе.
- Пишите юнит-тесты – это поможет быстрее разрешить проблемы и баги, если они возникнут в будущем.
|
В этом репозитории собрана коллекция из 50 эффектных Python-пранков – юные питонисты на их примере узнают, как манипулировать системными параметрами и ресурсами, а из матричного прикола получится отличный скринсейвер. Не рекомендуется испытывать на слабонервных знакомых, которые панически боятся компьютерных вирусов. |
Wake up, Neo. The Matrix has you… |
И напоследок – мобильное приложение Codebay для начинающих питонистов: ваш персональный ИИ-преподаватель Python. Есть версия для iOS. На этом все, увидимся через неделю! * Llama 2 принадлежит организации Meta, признанной экстремистской и запрещенной на территории РФ. |
|
|
Вы получили это письмо, потому что подписались на нашу рассылку. Если вы больше не хотите получать наши письма, нажмите здесь.
|
|
|
|