pythonl | Unsorted

Telegram-канал pythonl - Python/ django

52806

по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books

Subscribe to a channel

Python/ django

🖥 `__init_subclass__` runs when your class is subclassed.

Если вы хотите получать уведомление, когда класс Python 🐍 становится подклассом.

Используйте: `__init_subclass__`.

Он запускается, когда ваш класс становится подклассом. 🚀

@pythonl

Читать полностью…

Python/ django

🖥 Довольно полезная либа для структурированных выводов для LLM - Instructor 🔥

⭐️Работает на API вызова функций OpenAI, разработанном для простоты и прозрачности

Метод instructor.patch() для класса OpenAI вводит несколько ключевых полезных вещей:
🟡Режим ответа: Укажите модель Pydantic, чтобы упростить извлечение выходных данных.

🟡Максимальное количество повторных попыток: Установите желаемое количество повторных попыток для запросов.

🟡Контекст валидации: Предоставьте объект контекста для расширенного доступа к валидатору.

🟡Используйте метод client.chat.completions.create для отправки запроса и извлечения данных в объект Pydantic. Параметр response_model указывает модель Pydantic, которую следует использовать для извлечения. Полезно аннотировать переменную типом модели ответа, что поможет вашей IDE обеспечить автозаполнение и проверку орфографии.

https://pypi.org/project/instructor/

@pythonl

Читать полностью…

Python/ django

🖥 You can use #Python and #Textual to create plots in your terminal? 🐍🔥

Знаете ли вы, что вы можете использовать
#Python и #Textual для создания графиков в вашем терминале? 🐍 🔥

Это супер просто! Пример на картинке.

@pythonl

Читать полностью…

Python/ django

⚡️ UV: An extremely fast Python package installer and resolver, written in Rust.

Новейший инструмент для работы с зависимостями в Python


Создатели позиционируют его как замену pip, pip-tools и virtualenv, инстурмент написан на Rust.

На картинке вы видите сравнение uv с другими инструментами в разрешении зависимостей (слева) и установке (справа) зависимостей Trio с использованием прогретого кеша.

О проекте
GitHub
Docs

@pythonl

Читать полностью…

Python/ django

🖥 Build a typing assistant with Mistral 7B and Ollama - Python Tutorial

Невероятно — локальный AI чат-бот на основе Ollama и Mistral 7B всего в сотню строк Python кода (!)

💻 Туториал

🖥 GitHub

@pythonl

Читать полностью…

Python/ django

🖥 A little word cloud generator in Python

Создание облака слов на основе файла 'cl.txt'

Особенно полезно для задач NLP или при анализе соцсетей

from wordcloud import WordCloud

import matplotlib.pyplot as plt

# Read text from a file
with open('cl.txt', 'r', encoding='utf-8') as file:
text = file.read()

# Generate word cloud
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)

# Display the generated word cloud using matplotlib
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()


Облако слов — это визуальное представление списка категорий/тегов. Чем чаще слово встречается, тем больший размер оно принимает в облаке.

pip install wordcloud

Github

@pythonl

Читать полностью…

Python/ django

🖥 Нереально полезные встроенные библиотеки Python

🔜Tempfile
Создаёт временный файл как папка tmp в linux:

import tempfile
with tempfile.NamedTemporaryFile() as tmp:
print(tmp.name)
tmp.write(...)


🔜IO
Чтобы не использовать временные файлы, можно использовать временный буфер сразу в программе:
from io import BytesIO

imagefile = BytesIO()
animage.save(imagefile, format='PNG')
imagedata = imagefile.getvalue()


🔜Struct
Позволяет создавать бинарные структуры и парсить их. Может ускорить передачу между клиентом и сервером:
>> from struct import *
>> pack(">bhl", 1, 2, 3)
b'\x01\x00\x02\x00\x00\x00\x03'
>> unpack('>bhl', b'\x01\x00\x02\x00\x00\x00\x03')
(1, 2, 3)
>> calcsize('>bhl')
7


🔜CMD
С помощью этой библиотеки можно создать полноценный tui:
Welcome to the turtle shell.   Type help or ? to list commands.

(turtle) ?

Documented commands (type help <topic>):
========================================
bye color goto home playback record right
circle forward heading left position reset undo

(turtle) help forward
Move the turtle forward by the specified distance: FORWARD 10
(turtle) record spiral.cmd
(turtle) position
Current position is 0 0


Удивительно что такие полезные пакеты находятся в стандартной комплектации питона.
И не нужно скачивать кучу пакетов через pip.

@pythonl

Читать полностью…

Python/ django

🔥 В карточках кратко рассказали, как парсить данные веб-сайтов с помощью Python. Пособие подойдет новичкам и продолжающим — сохраняйте пост в закладки и переходите на телеграм-канал @Selectel. Там ребята каждый день публикуют полезные материалы для тех, кто интересуется IT.

Читать полностью…

Python/ django

🖥 Question and Answer based on Anything:

QAnything (Question and Answer based on Anything) - это локальная система ответов на вопросы из базы знаний, разработанная для поддержки широкого спектра форматов файлов и баз данных, позволяющая устанавливать и использовать ее в автономном режиме.

С помощью QAnything вы можете просто бросить любой локально хранящийся файл любого формата и получить точные, быстрые и надежные ответы.

Github
Docs

@pythonl

Читать полностью…

Python/ django

🎉 Gemma in PyTorch

Gemma - это семейство легких, современных открытых моделей, созданных на основе исследований и технологий, использованных при создании моделей Google Gemini.

Это большие языковые модели, работающие только с декодером с открытыми весами, предварительно обученными моделями, настраиваемые по инструкции.

Github
Gemma

@pythonl

Читать полностью…

Python/ django

🖥 PyNest is a Python framework built on top of FastAPI that follows the modular architecture of NestJS

PyNest - это фреймворк для Python, построенный на основе FastAPI модульной архитектуры NestJS.

С помощью PyNest вы сможете с легкостью создавать масштабируемые и поддерживаемые API. Фреймворк поддерживает инъекции зависимостей, аннотации типов, декораторы и генерацию кода, что упрощает написание чистого и легко тестируемого кода.

pip install pynest-api

Github
Docs

@pythonl

Читать полностью…

Python/ django

🔥Лучшие бесплатные курсы и книги по Python в 2024 год.

https://youtu.be/y0R7nRz-qpA

@pythonl

Читать полностью…

Python/ django

🖥 Awesome Python Awesome: A curated list of awesome Python frameworks, libraries, software and resources.

Репозиторий Github, содержащий список кураорских фреймворков, библиотек, программного обеспечения и ресурсов на Python.

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

Github

@pythonl

Читать полностью…

Python/ django

Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.

Ближайшее мероприятие:

• 2-3 марта — Fast Track для Python- и Go-разработчиков, офер за 2 дня в команды Финтеха Яндекса.

Зарегистрироваться

Читать полностью…

Python/ django

🖥 Шпаргалка OpenAI API на Python

@pythonl

Читать полностью…

Python/ django

🖥 Как расширить возможности стандартного Enum

Иногда хочется, чтобы у констант были доп. параметры, хранящие прочие характеристики. Первое, что приходит на ум — это описать Enum, хранящий простые значения, и маппинг:

from dataclasses import dataclass
from enum import Enum

class Color(Enum):
BLACK = 'black'
WHITE = 'white'
PURPLE = 'purple'

@dataclass(frozen=True)
class RGB:
red: int
green: int
blue: int

COLOR_TO_RGB = {
Color.BLACK: RGB(0, 0, 0),
Color.WHITE: RGB(255, 255, 255),
Color.PURPLE: RGB(128, 0, 128),
}

Здесь получается, что константы и характеристики располагаются сами по себе, к тому же они могут находится в разных частях системы. Это может привести к тому что при появлении новой константы в Color, никто не обновит маппинг, т.к. нет жёсткой и явной связи.

Как же можно хранить всё необходимое в единой структуре?

▶️Вариант 1 на изображении.
Кажется, что выглядит неплохо, но в таком варианте есть ограничение по количеству дополнительных параметров. Давайте попробуем еще немного улучшить.

▶️Вариант 2
Раз в 1 варианте у нас получилось сделать с использованием tuple, то значит получится и с typing.NamedTuple. К тому же будут именованные параметры, что повысит читабельность.
В качестве члена перечисления будем хранить целиком объект typing.NamedTuple. Теперь чтобы у нас происходило корректное сравнение объектов нам нужно переопределить методы __hash__ и __eq__. Сравниваться объекты будут по одному полю — value.
Получился в принципе рабочий вариант. Конечно у него есть свои ограничения, плюс решение не универсальное.

▶️Вариант 3
Что если вместо typing.NamedTuple использовать dataclass? Вроде идея здравая. Появляется возможность наследования классов, хранящих доп. параметры. Плюс вспомогательные функции из dataclasses.
В качестве члена перечисления, как и в прошлый раз, будем хранить объект целиком, только теперь это dataclass.

Ну вот, теперь другое дело)

➡️ Полезная статья в тему

@pythonl

Читать полностью…

Python/ django

😎Разработчик, управляй памятью эффективно!

👉Начните на бесплатном вебинаре онлайн-курса «Программист С» — «Реализация динамических структур данных на Си и Python»: регистрация

Структура вебинара:
- Примеры динамических структур данных
- Схемы управления динамической памятью в С и Python
- Реализация бинарного дерева на С и Python
- Применение функций управления динамической памятью.

Вебинар будет полезен:
- Программистам, изучающим языки С и Python, для развития навыков в области эффективного управления памятью.
- Разработчикам в области больших данных.

🤝Понравится вебинар — продолжите обучение на курсе по специальной цене и даже в рассрочку!

Читать полностью…

Python/ django

Почему стоит зарегистрироваться на GitVerse?

Разработчикам теперь доступна GitVerse – новая российская платформа от СберТеха для работы с исходным кодом.

Сервис позволяет бесплатно создавать проекты с открытым и закрытым кодом, приглашать новых участников и общаться с единомышленниками в ИТ-сообществе.

- Привлекайте соавторов для разработки и развития своего проекта с открытым исходным кодом.
- Разрешайте вносить изменения в репозиторий, получайте запросы на слияние и объединяйте ветки.
- Проверяйте и комментируйте код, объединяйте изменения.
- Оптимизируйте рабочий процесс: назначайте ответственных за ревью и отслеживайте результат.
- Переносите репозитории с других платформ и храните код в надежном месте.

Переходите на новый уровень разработки с GitVerse.
Зарегистрируйтесь и начните совместную работу над проектом уже сейчас.

Читать полностью…

Python/ django

🖥 Latexify: Generates LaTeX math description from Python functions.

Крутая библиотека Python, которая позволяет отображать функции в формате LaTeX


pip install latexify

То есть вы просто определяете функцию как обычно, например так:

def quadratic(a,b,c):
return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)


Чтобы вывести формулу LaTeX, мы просто помещаем над определением функции декоратор @latexify.function и печатаем имя функции quadratic в ячейке Google Colab.
Получается так — и мы увидем формулу:
@latexify.function
def quadratic(a,b,c):
return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)

quadratic


Отлично подойдёт тем, кто занимается на стыке IT и физики/математики/других дисциплин;
здесь в Google Colab можно затестить, как это работает

🖥 GitHub

@pythonl

Читать полностью…

Python/ django

⁉️ Ты не хочешь карьерного роста в IT?

Иначе почему ты все еще остаешься на среднем уровне в разработке? Когда всего за 5 месяцев можно освоить широкий стек технологий на онлайн-курсе «Python Developer. Professional» и вырасти в доходе и должности. 

⬇️  Пройди тест по Python и проверь свои знания.

Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене/ 

🔥 Выбери светлую сторону силы и приходи на курс.

Читать полностью…

Python/ django

Программа бакалавриата в Центральном университете от Тинькофф с грантом до 100% для сильных и мотивированных абитуриентов!

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

Получить полную информацию и оставить заявку можно здесь.

erid:2Vtzqw8FfJH
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673

Читать полностью…

Python/ django

Бывают задачи, когда нужно автоматизировать сбор и анализ данных из разных источников.

Этот процесс называют парсингом и его легко реализовать на Python. В карточках рассказываем, что для этого нужно ➡️

Подписывайтесь на телеграм-канал @Selectel, чтобы не пропускать новые материалы и подборки 🏢

Читать полностью…

Python/ django

🖥 Diagrams

Встречайте — Python-библиотека Diagrams для создания диаграмм и схем.
Отлично подойдёт для объяснения идеи продукта заказчикам партнёрам, например

pip install diagrams

from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS
from diagrams.aws.database import ElastiCache, RDS
from diagrams.aws.network import ELB
from diagrams.aws.network import Route53

with Diagram("Clustered Web Services", show=False):
dns = Route53("dns")
lb = ELB("lb")

with Cluster("Services"):
svc_group = [ECS("web1"),
ECS("web2"),
ECS("web3")]

with Cluster("DB Cluster"):
db_primary = RDS("userdb")
db_primary - [RDS("userdb ro")]

memcached = ElastiCache("memcached")

dns >> lb >> svc_group
svc_group >> db_primary
svc_group >> memcached


Первое изображение получено с помощью этого кода, остальные — пример того, что можно сделать с помощью diagrams

➡️ Официальный сайт с примерами и объяснением

➡️ GitHub

@pythonl

Читать полностью…

Python/ django

🖥 3D contour plot using Python

Контурный 3D график с помощью Python.

@pythonl

Читать полностью…

Python/ django

Кто из айтишников зарабатывает миллион в месяц?

Вы удивитесь, но дата-сайентист GigaChat. Он управляет массивами данных и выбирает, чем «кормить» нейросеть. И это все его обязанности.

Если хотите так же выйти на шестизначную зарплату, быстрее открывайте эти каналы:

Data Science | Machinelearning;

About Python.

Узнаете, как легко добиться оффера в Data Science. Получите готовые модели данных и гайды, как их тестировать.

Нейросети — мусор без дата-сайентистов. Используйте тренд на благо своей карьеры

Читать полностью…

Python/ django

👩‍💻 Как работать с паттернами проектирования в Python?

Расскажет Станислав Ступников — руководитель разработки в VK.

 Встречаемся на бесплатном практическом уроке от OTUS, где мы:

▫️займемся классификацией паттернов;
▫️покажем, насколько хорошо и ровно они транслируются в мир Python-разработки;
▫️ обсудим, как с ними работать. 

📢  Занятие пройдёт 28 февраля в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!

⬇️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: пройти тест

Читать полностью…

Python/ django

🖥 yarl: provides handy URL class for URL parsing and changing.

Если вы хотите быстро извлечь элементы из URL-адреса с помощью #Python, попробуйте yarl.

$ pip install yarl

Github

@pythonl

Читать полностью…

Python/ django

🔫 Django queryhunter

Данная библиотека призвана восполнить этот пробел, предоставляя простой подход к профилированию запросов в Django приложениях.

Найдите в коде вашего Django-приложения строки, которые отвечают за выполнение наибольшего количества запросов.

Github

@pythonl

Читать полностью…

Python/ django

🎉🎉🎉 Today is Python's 33 year birthday🎉🎉🎉

Сегодня — день рождения Python.

Нашему любимому языку программирования исполнилось 33 года.

Python остается одним из самых популярных языков. По исследованию JetBrains, в 2023 году Python хотя бы раз использовали 54% разработчиков. Популярнее только JavaScript.

Лайк за Python.

@pythonl

Читать полностью…

Python/ django

ХОЧЕШЬ ПОВЫШЕНИЕ В 2024 ГОДУ? 😎🔥

Согласно опросу, проведенному компанией Solo.io в 2022 году, на текущий момент 85% организаций переводят свои IT-системы на микросервисную архитектуру.

Но специалистов, которые глубоко понимают все тонкости и нюансы микросервисной архитектуры не так-то много.

Самое время разобраться в микросервисной архитектуре и стать более востребованным специалистом.

🚀 Стартуем 26 февраля.

Курс ведет действующий архитектор Кирилл Ветчинкин. Он успешно реализовал проекты с применением микросервисов для Мегафона, Теле2, ВСS Brокer, СберМаркет. Постоянный спикер крупных IT-конференций.

На курсе вы:
📌 Изучите и отработаете более 20 паттернов микросервисной архитектуры
📌 Познакомитесь c Domain Driven Design
📌 Научитесь декомпозировать систему на микросервисы с помощью Event Storming и DDD
Полная программа ТУТ https://microarch.ru/?utm_source=posev&amp;utm_medium=erid%2VtzqwsLbJh&amp;utm_campaign=1

А самое главное — будет поддержка от эксперта, чат с одногруппниками и интересное практическое задание. Сертификат об участии по итогам прохождения курса.

Курс ориентирован на системных аналитиков и разработчиков, которые хотят больше погрузиться в архитектуру современных IT систем.

Узнай больше о курсе 👉 https://microarch.ru/?utm_source=posev&amp;utm_medium=erid%2VtzqwsLbJh&amp;utm_campaign=1

Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwsLbJh

Читать полностью…
Subscribe to a channel