Python Portal
54.2K subscribers
2.54K photos
416 videos
51 files
1.05K links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Какие-то гении выложили в open source полноценный набор инструментов для отслеживания спутников и декодирования их радиосигналов локально.

Тебе даже не нужен интернет — используется SDR (software-defined radio), чтобы напрямую принимать погодные снимки и сырые данные из космоса прямо на твой жёсткий диск.

100% open source.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🤔43
Фильтр Калмана оценивает истинное состояние системы на основе шумных измерений.

Он работает, объединяя две вещи:

• модель эволюции системы
• неточные показания датчиков

Алгоритм выполняется в цикле из двух шагов.

1. predict (предсказание)
- используется модель системы для оценки следующего состояния.
- на выходе получаем предсказанное состояние и неопределённость.

2. update (обновление)
- поступает новое измерение.
- оно сравнивается с предсказанием.
- оценка корректируется.

Коррекция взвешивается с помощью коэффициента Калмана (Kalman Gain):

• больше доверия модели → небольшая коррекция
• больше доверия датчику → сильная коррекция

Неопределённость отслеживается с помощью ковариационной матрицы (Covariance Matrix).

Со временем оценка сходится.

Шум отфильтровывается.
Проявляется истинное состояние.

Используется в:

• локализации в робототехнике
• беспилотных автомобилях
• дронах и системах управления полётом
• GPS-трекинге
• объединении данных с датчиков (sensor fusion)

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍146🔥3
Перестаньте использовать Python-код для построения «пирамид» или «стрелок»

Если у вас слишком много уровней вложенных if, код перестаёт быть читаемым и удобным для поддержки — вы строите пирамиду. 😄

Посмотрите:

def process_user(user_data):
if user_data:
if 'name' in user_data:
if user_data['name']:
if 'email' in user_data:
if validate_email(user_data['email']):
return save_user(user_data)
else:
return "Invalid email"
else:
return "Email missing"
else:
return "Name empty"
else:
return "Name missing"
else:
return "No data"


Это называется «антипаттерн стрелки» (Arrow Anti-Pattern) или «пирамида смерти» (Pyramid of Doom). Основной сценарий спрятан в самом низу. Чтобы понять, что делает код, приходится держать в голове 4+ уровней вложенности.

А вот этот вариант гораздо лучше:

def process_user(user_data):
# Сначала обрабатываем все ошибки
if not user_data:
return "No data"

if 'name' not in user_data:
return "Name missing"

if not user_data['name']:
return "Name empty"

if 'email' not in user_data:
return "Email missing"

if not validate_email(user_data['email']):
return "Invalid email"

return save_user(user_data)


Это линейный стиль «сверху вниз», а не «вглубь и обратно». Ошибки явно обрабатываются в начале, а основная логика выделена в конце. Если данные некорректны — происходит ранний выход из функции (early return).

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
30👍11😁4🤝2
Код на Python:

print('Yes' if all([]) or any([]) else 'No')


Каков результат выполнения этого кода?

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
12😁2
Кто-то выложил в open source компьютер, который работает даже тогда, когда весь интернет отключен.

Он называется Project N.O.M.A.D.

Это автономный офлайн-сервер для выживания с AI, Википедией, картами, медицинскими справочниками и полноценными образовательными курсами.

Никакого интернета. Никакого облака. Никаких подписок. Он просто работает.

Вот что внутри:

→ Локальный AI-ассистент на базе Ollama (полностью офлайн)
→ Вся Википедия, доступная для скачивания и поиска
→ Офлайн-карты любого выбранного региона
→ Медицинские справочники и гайды по выживанию
→ Полные курсы Khan Academy с отслеживанием прогресса
→ Инструменты шифрования и анализа данных через CyberChef
→ Загрузка документов с семантическим поиском (локальный RAG)

И вот самая интересная часть:

Солнечная панель, аккумулятор, мини-ПК и Wi-Fi-точка доступа. Всё. Это и есть твоя автономная офлайн-станция знаний. Потребление — от 15 до 65 Вт. Работает из хижины, автодома, парусной лодки или бункера.

Компании продают «prepper-накопители» со статичными PDF за $185. А здесь ты получаешь полноценный AI-мозг, целую энциклопедию и реальные курсы — бесплатно.

Одна команда для установки.

100% open source. Лицензия Apache 2.0.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
41👍19🤣5🤔1
Самые быстрорастущие проекты на GitHub за эту неделю:

1. msitarzewski/agency-agents (+23.2K stars)
полноценное AI-агентство у вас под рукой: фронтенд-волшебники, комьюнити-ниндзя, «проверяльщики реальности».

2. obra/superpowers (+19.2K stars)
фреймворк agentic-навыков, который только что достиг 100K звёзд. plug-and-play инструменты для разработки с AI-агентами.

3. 666ghj/MiroFish (+17.6K stars)
движок роевого интеллекта, который умеет предсказывать что угодно. простой, универсальный, с открытым исходным кодом.

4. volcengine/OpenViking (+10.2K stars)
open-source база контекста для AI-агентов. объединяет память, ресурсы и навыки.

5. lightpanda-io/browser (+9.9K stars)
headless-браузер, созданный для AI и автоматизации. без Chrome, без лишнего. написан на Zig.

6. pbakaus/impeccable (+6.4K stars)
дизайн-язык, который прокачивает ваш AI-harness в плане дизайна. делает vibe-coded UI более осмысленным и целостным.

7. alibaba/page-agent (+6.2K stars)
in-page GUI-агент на JavaScript от Alibaba. позволяет управлять любым веб-интерфейсом с помощью обычного языка.

8. andrewyng/context-hub (+5.2K stars)
слой управления контекстом для AI-агентов от Andrew Ng.

9. langchain-ai/deepagents (+4.9K stars)
agent-harness с планированием, файловым backend’ом и возможностью спавнить сабагентов.

10. microsoft/BitNet (+4.8K stars)
официальный фреймворк Microsoft для 1-битных LLM. полная производительность при почти нулевых вычислительных затратах.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
11
Разберись с Multi-Stage Docker Builds - пригодится на собеседовании.

Что такое Multi-Stage Build?

Это способ использовать несколько инструкций FROM в Dockerfile, чтобы собирать чистые, компактные и готовые к продакшену образы. Позволяет разделить этапы сборки и выполнения .

Зачем использовать Multi-Stage Builds?

- Чтобы не тащить в продакшен инструменты сборки и исходный код.
- Существенно уменьшить размер образа.
- Повысить безопасность и производительность.

Ниже пример Multi-Stage Dockerfile для Node.js

# Stage 1: Build
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

# Stage 2: Serve
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80


Пояснение:

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

В финальный образ попадает только результат сборки.

Плюсы:

- Меньший размер итогового образа.
- Чёткое разделение ответственности (build vs runtime).
- Работает с любым языком и фреймворком.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4
Наткнулся на портфолио одного сеньор-разраба

использует Linux с 1999
27 лет опыта
C/C++ (27 лет), JS (24 года), Python (20 лет), Java (22 года), Go, Rust…

чел в одном языке имеет больше опыта, чем многие из нас вообще живут

совсем другая лига

портфолио → http://kamilnowicki.com

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁34🤯173👍2
😅😅😅

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁94🤔63
Это по-настоящему самоэволюционирующий AI-агент, работающий в продакшене.

Автор реализовал полноценную агентную систему всего на 3500 строках чистого Python, без зависимостей от фреймворков, в 8 файлах: Tool Use Loop + трёхуровневая система памяти (сессии → сжатая долгосрочная память через LLM → векторный поиск в LanceDB) + MCP-плагины + планировщик задач + механизм самовосстановления.

Интегрированы корпоративный WeChat, обработка видео (ffmpeg), мультиижковый поиск, а также поддерживаются Docker-мультиарендность и круглосуточная работа 24/7.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
Ты можешь разрабатывать и тестировать облачные приложения полностью офлайн, без подключения к интернету

Есть gofakes3 — лёгкая реализация S3 для тестирования без AWS. Она позволяет мокать облачное хранилище прямо на твоей машине.

- Нулевые расходы на облако для локального тестирования
- Можно тестировать интеграции с S3 офлайн
- Лёгкий и простой в настройке

На 100% open source

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Китай заопенсорсил крупный Python-фреймворк для создания AI-агентов.

Он называется AgentScope — это Python-фреймворк, построенный вокруг Agent-Oriented Programming, который позволяет визуально собирать AI-агентов с использованием MCP-инструментов, памяти, RAG и возможностей reasoning.

На 100% open source.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔136👀5😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Никуда вам от меня не деться

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁63🤣98
This media is not supported in your browser
VIEW IN TELEGRAM
termaid —— Python CLI-инструмент, который напрямую рендерит Mermaid в Unicode-диаграммы прямо в терминале.

Когда работаешь в SSH, TUI или CLI-пайплайнах, не нужно переключаться в браузер, чтобы посмотреть диаграмму. Инструмент уже поддерживает основные типы: flowchart, sequence, class, ER, state, treemap, pie. При этом он полностью на Python и без зависимостей — что особенно важно для CLI-утилит.

100% опенсорс

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7
Microsoft открыла исходники комплексной обучающей программы по Rust

Репозиторий microsoft/RustTraining на GitHub содержит 7 структурированных «книг», охватывающих Rust от начального до экспертного уровня, с учётом разработчиков из разных стеков:

Bridge-книги (начать отсюда):
• Rust для C/C++ разработчиков
• Rust для C# разработчиков
• Rust для Python разработчиков

Deep Dive: Async Rust (Tokio, стримы, отмена задач)
Advanced: Rust Patterns (Pin, аллокаторы, lock-free структуры)
Expert: Type-Driven Correctness (type-state, phantom types)
Practices: Rust Engineering (CI/CD, кросс-компиляция, Miri)

Каждая книга включает 15–16 глав, диаграммы Mermaid, интерактивные Rust playground’ы и практические задания.

Независимо от того, вы системный программист, переходящий с C++, .NET-разработчик, изучающий high-performance код, или Python-разработчик, уставший от GIL — здесь есть понятный путь.

Уже более 500 звёзд. Полностью open-source (MIT + CC-BY-SA-4.0).

Rust всё увереннее закрепляется в индустриальном стеке. Если вы ждали структурированный способ его изучить — это он.

100% опенсорс

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍119🌚2😁1
Вот несколько полезных библиотек Python для разработки сетевых приложений 😎

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍189🔥7
После тысячи видео "Стань Python-разработчиком с 0 до PRO" нашли видео для джунов, которые уже знают базу и не хотят опять слушать про print("Hello, World!")

Если уже знаешь синтаксис и основные конструкции в питоне, но застрял на уровне джуна, то видео точно будет полезно. Как мы поняли, это первая часть. В ней про Pydantic, ООП и декораторы настолько понятно, насколько это вообще возможно. К концу второй части обещают подтянуть 😊

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣144😁2
This media is not supported in your browser
VIEW IN TELEGRAM
3 года назад, чувак создал браузер на базе Chromium, который полностью работает прямо в терминале.

Он называется Carbonyl и умеет отображать реальные веб-страницы прямо в командной строке. Самое крутое — в режиме простоя он использует 0% CPU.

- Полноценный движок Chromium прямо в терминале.
- В режиме ожидания — ровно 0% загрузки CPU.
- Быстрый, лёгкий и полностью нативный для терминала.

На 100% с открытым исходным кодом.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
25🤯15👍7
Проверка на анаграммы

У вас есть две строки; как проверить, являются ли они анаграммами? Анаграммы — это слова или фразы, содержащие один и тот же набор символов, но в другом порядке. Например, “listen” и “silent” — анаграммы друг друга, потому что используют одни и те же буквы.

Если вы хотите проверить, являются ли две строки анаграммами, можно использовать Counter() из модуля collections. Counter() поддерживает проверку на равенство. По сути, мы можем использовать его, чтобы проверить, равны ли переданные объекты. В приведённом ниже коде мы проверяем, являются ли a и b анаграммами.

from collections import Counter

my_word = 'test'
another_word = 'stot'
print(Counter(my_word.casefold()) == Counter(another_word.casefold()))


Вывод: True

Мы также можем использовать функцию sorted() для проверки, являются ли две строки анаграммами. По умолчанию функция sorted() сортирует переданную строку по возрастанию. Поэтому, когда мы передаём строки в sorted() и сравниваем их на равенство, сначала строки сортируются, а затем сравниваются. См. код ниже:

def check_anagrams(str1, str2):
return sorted(str1) == sorted(str2)

my_word = 'lost'
another_word = 'stol'
result = check_anagrams(my_word, another_word)
print(result)


Если вы не хотите использовать какие-либо встроенные методы, можно воспользоваться ручным подходом. В этом методе вы пишете код, чтобы проверить, содержат ли обе строки одинаковые символы.

def check_anagrams(str1, str2):
if len(str1) != len(str2):
return False
for char in str1:
if str1.count(char) != str2.count(char):
return False
return True

my_word = 'lost'
another_word = 'stol'
print(check_anagrams(my_word, another_word))


Вывод: True

В этом коде сначала проверяется, имеют ли строки одинаковую длину. Если длины различаются, функция возвращает False.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94😁1
😂😂😂

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣67🔥8😁6😢1🌚1