Python Portal
58.3K subscribers
2.06K photos
189 videos
50 files
587 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Microsoft выпустила новый курс по MCP для Python-разработчиков.

Курс полностью бесплатный и с открытым исходным кодом.

GitHub : https://github.com/microsoft/lets-learn-mcp-python

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥52
image_2025-08-23_07-39-01.png
1.2 MB
Шпаргалка по Git-командам

🔸Конфигурация

- git config --global user.name "Your Name"
Задаёт имя для коммитов глобально (для всех репозиториев).

- git config --global user.email "[email protected]"
Задаёт email для коммитов глобально.

- git config --list
Показывает все настройки конфигурации Git.

🔸Репозиторий и удалённые репозитории

- git init
Инициализирует новый Git-репозиторий в текущей директории.

- git clone <repo>
Создаёт локальную копию удалённого репозитория.

- git remote add <name> <url>
Добавляет новый удалённый репозиторий с именем и URL.

- git remote remove <name>
Удаляет удалённый репозиторий по имени.

- git remote rename <old-name> <new-name>
Переименовывает удалённый репозиторий.

🔸Ветки

- git branch
Список всех веток в репозитории.

- git branch <branch-name>
Создаёт новую ветку с указанным именем.

- git checkout -b <branch-name>
Создаёт новую ветку и сразу переключается на неё.

- git checkout <branch-name>
Переключается на указанную ветку.

- git merge <branch>
Сливает изменения из указанной ветки в текущую.

- git rebase <branch>
Переносит коммиты из текущей ветки поверх другой.

- git branch -d <branch-name>
Удаляет ветку, которая уже была слита.

- git branch -D <branch-name>
Принудительно удаляет ветку, независимо от её состояния.

🔸Индексация и коммиты

- git add <file>
Добавляет изменения в указанный файл в staging.

- git add .
Добавляет все изменения в текущей директории и подпапках.

- git commit -m "message"
Фиксирует проиндексированные изменения с сообщением.

- git commit --amend
Изменяет последний коммит (сообщение или содержимое).

🔸Отмена изменений

- git reset <file>
Убирает файл из staging (оставляет изменения).

- git reset HEAD~1
Отменяет последний коммит, но сохраняет изменения в рабочей директории.

🔸Просмотр изменений

- git status
Показывает состояние рабочего каталога и staging.

- git diff
Показывает различия между рабочей директорией и индексом.

- git diff --staged
Показывает различия между staged-изменениями и последним коммитом.

🔸История

- git log
Показывает историю коммитов текущей ветки.

- git log --oneline
Сокращённый лог (одна строка на коммит).

- git show <commit>
Показывает информацию о конкретном коммите.

- git blame <file>
Показывает последнюю модификацию для каждой строки файла.

🔸Stash

- git stash
Сохраняет текущие изменения во временное хранилище.

- git stash list
Список всех stash-записей.

- git stash apply
Применяет изменения из последнего stash.

- git stash drop
Удаляет конкретный stash.

- git stash pop
Применяет последний stash и удаляет его.

🔸Работа с удалённым репозиторием

- git pull
Загружает изменения из удалённого репозитория и сливает их.

- git push
Отправляет локальные коммиты в удалённый репозиторий.

- git push origin <branch>
Отправляет указанную ветку в удалённый репозиторий.

- git fetch
Загружает изменения из удалённого репозитория без слияния.

- git fetch --all
Обновляет все удалённые репозитории.

🔸Теги

- git tag <tag-name>
Создаёт тег для определённого коммита.

- git tag -a <tag-name> -m "message"
Создаёт аннотированный тег с сообщением.

- git push origin <tag-name>
Отправляет тег в удалённый репозиторий.

- git tag -d <tag-name>
Удаляет тег локально.

🔸Продвинутые команды

- git cherry-pick <commit>
Применяет изменения из указанного коммита в текущую ветку.

- git rebase -i HEAD~n
Интерактивный rebase для последних *n* коммитов.

- git reflog
Показывает журнал всех действий в репозитории.

- git bisect
Позволяет найти коммит с багом методом бинарного поиска.

- git describe
Показывает последний тег, доступный для коммита.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4117🔥13
This media is not supported in your browser
VIEW IN TELEGRAM
Когда все-таки согласился на пятничный деплой 😉

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁78🔥85
This media is not supported in your browser
VIEW IN TELEGRAM
Управление глазами с помощью Python

EyeGestures — это открытая библиотека на Python для отслеживания взгляда. Использует обычные камеры, веб-камеры или камеры смартфонов, чтобы отслеживать движение глаз, фиксации и моргания, и конвертировать это в события, вроде управления курсором движением глаз

Версия на JavaScript позволяет запускать всё прямо в браузере

Установка:

$ git clone https://github.com/NativeSensors/EyeGestures.git
$ cd EyeGestures
$ pip install -r requirements.txt


или

python3 -m pip install eyeGestures


Открытый код, документация и примеры использования - тык

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯3312👍7😁1
Пример построения цветной столбчатой диаграммы в Python с использованием библиотеки matplotlib.

Шаг 1. Установи matplotlib

pip install matplotlib


Шаг 2. Импортируй pyplot

import matplotlib.pyplot as plt


Шаг 3. Подготовь данные

categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 15, 7, 12, 20]


Шаг 4. Задай цвета для столбцов

colors = ['red', 'blue', 'green', 'orange', 'purple']


Шаг 5. Построй диаграмму

plt.figure(figsize=(6,4))
plt.bar(categories, values, color=colors)


Шаг 6. Добавь подписи и заголовок

plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Colored Bar Graph')


Шаг 7. Покажи график

plt.show()


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍429🏆7💊6🤔2👀1
Шпаргалка по простым паттернам вывода в Python.

Слева результат, справа минимальный код на вложенных циклах for

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
36🔥9💊5🤔3🤯3🤝2
Совет по чистому коду в Python:

Используй .exception() вместо .error(), чтобы в лог вместе с исключением попадал traceback

Пример:

import logging

LOGGER = logging.getLogger()

try:
{}["not_present"]
except Exception as exc:
LOGGER.error(exc) # только сообщение об ошибке
# -> 'not_present'

try:
{}["not_present"]
except Exception as exc:
LOGGER.exception(exc) # сообщение + traceback
# -> 'not_present'
# Traceback (most recent call last):
# File "my_module.py", line 12, in <module>
# KeyError: 'not_present'


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3817🤝1
Топ-8 архитектурных стилей API

От выбора архитектуры зависит, насколько легко всё будет работать вместе.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍11
Для чего нужны разные языки программирования

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁100💊14👍97🔥4🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
Принёс полезное: огромную коллекцию из 1500+ отобранных API для ваших проектов, от погоды и карт до генераторов картинок и NLP-сервисов

Забираем с сайта или с GitHub 🍯

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥65🤝2
Узнайте, как работает асинхронное программирование в Python

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

Вот как это можно реализовать в Python.

Полный код в этом репо: ссылка

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍249🔥4💊1
И вот теперь ты уже не Python-разработчик, а мастер по телевизорам и настройке «вацапа» с интернетом.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣142😁159👍5🤔1👀1
В Python есть низкоуровневый API Protocols и Transports. Он нужен когда важен тонкий контроль над соединениями, буферами и управлением потоком данных. Подходит для TCP и UDP.

В этой статье Jacob Padilla объясняет как работают Protocols и Transports. Разбирает методы connection_made, data_received, connection_lost. Показывает создание серверов через loop.create_server и create_datagram_endpoint. Сравнивает со Streams и когда их выбирать.

В примерах есть echo-серверы для TCP и UDP. Показан flow control через pause_writing и resume_writing. Полезно когда важны задержки и много соединений. Для типовых задач чаще хватает Streams.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍11🏆1
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥103🤣6316👍5😁1
This media is not supported in your browser
VIEW IN TELEGRAM
BrOk — графический дизайнер интеграционных процессов от AXENIX

🔥 BrOk — это low-code решение для работы с брокерами сообщений (Kafka, RabbitMQ, Artemis, Redis MQ, NATS), СУБД, REST-сервисами и хранилищами данных (ETCD, Redis). Всё управление — через единый GUI, без лишних CLI-команд.

Для кого: разработчики, DevOps и QA, которые настраивают интеграции, тестируют нагрузку или управляют обменом данными.

Что умеет BrOk:

🔸 Подключение к брокерам, БД, REST-API, ETCD и Redis в одном интерфейсе

🔸 Генерация сообщений по шаблонам для тестов

🔸 Low-code сценарии с ретраями и расписанием

🔸 Поддержка Postman и OpenAPI-коллекций

🔸 Инструменты для Kafka: KsqlDB, Connect, Schema Registry

🔥 Главное — BrOk распространяется бесплатно для некоммерческого использования.

Скачайте дистрибутив на официальном сайте и упростите разработку и тестирование сложных информационных систем уже сегодня!

Реклама. ООО «Акстим Тех». ИНН 6950259732
💊63👍3🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
Если ты начинающий, твои программы пока не слишком сложные.

Но можно добавить немного фана с фейковыми анимациями загрузки.

Это просто, даёт пространство для экспериментов и делает скрипты приятнее на вид.

import time
import sys

spinner = ['|', '/', '-', '\\']
while True:
for frame in spinner:
sys.stdout.write('\r' + frame)
sys.stdout.flush()
time.sleep(0.1)


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
40💊13👍7🤯1