Похоже, у Adobe Acrobat появился серьёзный конкурент.
Open-source проект Stirling-PDF предлагает полноценный набор инструментов для работы с PDF и запускается полностью локально — без загрузки документов на сторонние серверы.
Сервис включает более 50 функций для работы с PDF:
• объединение и разделение файлов
• сжатие и конвертацию документов
• OCR для распознавания текста на сканах
• добавление паролей, подписей и водяных знаков
• редактирование и скрытие конфиденциальных данных
• REST API для автоматизации
Проект можно развернуть через Docker на собственном сервере или ПК.
По словам разработчиков, все операции выполняются локально, а файлы не покидают устройство пользователя.
На фоне стоимости Adobe Acrobat Pro в $239 в год Stirling-PDF распространяется бесплатно и с открытым исходным кодом.
На данный момент проект собрал более 81 тыс. звёзд на GitHub и свыше 25 млн загрузок.
👉 @PythonPortal
Open-source проект Stirling-PDF предлагает полноценный набор инструментов для работы с PDF и запускается полностью локально — без загрузки документов на сторонние серверы.
Сервис включает более 50 функций для работы с PDF:
• объединение и разделение файлов
• сжатие и конвертацию документов
• OCR для распознавания текста на сканах
• добавление паролей, подписей и водяных знаков
• редактирование и скрытие конфиденциальных данных
• REST API для автоматизации
Проект можно развернуть через Docker на собственном сервере или ПК.
По словам разработчиков, все операции выполняются локально, а файлы не покидают устройство пользователя.
На фоне стоимости Adobe Acrobat Pro в $239 в год Stirling-PDF распространяется бесплатно и с открытым исходным кодом.
На данный момент проект собрал более 81 тыс. звёзд на GitHub и свыше 25 млн загрузок.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍5
При применении нескольких фильтров к серии в Pandas лучше разбивать условие на несколько строк:
Такой код проще читать, писать и поддерживать.
В результате будет выбрано значение:
поскольку оно одновременно больше 20 и является нечётным числом.
👉 @PythonPortal
s = pd.Series([10, 15, 20, 25, 30])
s.loc[
(s > 20) &
(s % 2 == 1)
]
Такой код проще читать, писать и поддерживать.
В результате будет выбрано значение:
25
поскольку оно одновременно больше 20 и является нечётным числом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4
Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Мой любимый способ работать с несколькими фильтрами в
Цепочка выглядит аккуратно, но ломается на реальных данных и легко даёт неожиданные результаты:
Проблема в том, что второй
Надёжнее собрать всё в одно выражение:
Одна маска = одна точка истины.
Проще дебажить. Меньше сюрпризов при росте кода.
👉 @PythonPortal
pandas.Series — не цепочка .loc, а один маск.Цепочка выглядит аккуратно, но ломается на реальных данных и легко даёт неожиданные результаты:
s = pd.Series([10, 15, 20, 25, 30])
s
.loc[s > 20]
.loc[s % 2 == 1]
Проблема в том, что второй
.loc снова смотрит на исходный s, а не на уже отфильтрованный результат. Логика разъезжается.Надёжнее собрать всё в одно выражение:
s = pd.Series([10, 15, 20, 25, 30])
mask = (s > 20) & (s % 2 == 1)
result = s.loc[mask]
Одна маска = одна точка истины.
Проще дебажить. Меньше сюрпризов при росте кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Что, если «Следствие вели…» снимали бы в офисном сеттинге в IT-компании? Мы могли бы об этом только фантазировать, если бы… Авито взял и не снял свой выпуск с Леонидом Каневским 🔥
Мы ещё не успели посмотреть: планируем оставить на вечер. Говорят, легенда тру-крайма там расследует внезапный рост ошибок 404 на endpoint аватарок (реальный кейс команды AvitoTech, кстати!).
Смотрим, чтобы услышать будущие легендарные цитаты... ну и чтобы в вашей команде такого не случилось!
📱 YouTube
📱 Rutube
📱 VK Видео
Мы ещё не успели посмотреть: планируем оставить на вечер. Говорят, легенда тру-крайма там расследует внезапный рост ошибок 404 на endpoint аватарок (реальный кейс команды AvitoTech, кстати!).
Смотрим, чтобы услышать будущие легендарные цитаты... ну и чтобы в вашей команде такого не случилось!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
Вышла LocalVQE Pi V1 — компактная модель для обработки голоса размером всего 49 тысяч параметров.
Модель выполняет акустическое эхоподавление (AEC), шумоподавление и дереверберацию в реальном времени. По словам разработчика, она работает с производительностью до 21× realtime на одном ядре Raspberry Pi 5.
LocalVQE Pi V1 основана на архитектуре GTCRN и отличается от предыдущих моделей LocalVQE, которые использовали DeepVQE. Размер модели удалось сократить на несколько порядков, сохранив при этом приемлемое качество обработки речи.
Проект ориентирован на локальные голосовые приложения, IoT-устройства и edge-решения, где критичны минимальное потребление ресурсов и работа без облака.
https://huggingface.co/spaces/LocalAI-io/LocalVQE-demo
👉 @PythonPortal
Модель выполняет акустическое эхоподавление (AEC), шумоподавление и дереверберацию в реальном времени. По словам разработчика, она работает с производительностью до 21× realtime на одном ядре Raspberry Pi 5.
LocalVQE Pi V1 основана на архитектуре GTCRN и отличается от предыдущих моделей LocalVQE, которые использовали DeepVQE. Размер модели удалось сократить на несколько порядков, сохранив при этом приемлемое качество обработки речи.
Проект ориентирован на локальные голосовые приложения, IoT-устройства и edge-решения, где критичны минимальное потребление ресурсов и работа без облака.
https://huggingface.co/spaces/LocalAI-io/LocalVQE-demo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤7😁1
Переменные в Python — это стикеры, а не коробки.
Переменная не хранит значение, а указывает на него. Меняешь список — обе переменные видят изменение. Со стикерами это логично. С коробками — магия: две коробки загадочно меняются одновременно.
👉 @PythonPortal
Переменная не хранит значение, а указывает на него. Меняешь список — обе переменные видят изменение. Со стикерами это логично. С коробками — магия: две коробки загадочно меняются одновременно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤5
Идём на AI Hardcore Day в офис Авито на Лесной 11 июля! 🤩
Будем слушать доклады о Spec-Driven Development, разработке и тестировании MCP, атаках на GenAI-агентов.
А после — нетворкать на террасе.
⚡ Регистрация и подробности — по ссылке.
Кстати, доклады будут не под запись — советуем не пропускать!
Будем слушать доклады о Spec-Driven Development, разработке и тестировании MCP, атаках на GenAI-агентов.
А после — нетворкать на террасе.
Кстати, доклады будут не под запись — советуем не пропускать!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣3❤1
Эта TTS-модель синтезирует речь в 167 раз быстрее, чем ты её слушаешь.
Supertonic работает прямо на устройстве через ONNX. Без GPU, на 31 языке. Передаёт любые эмоции. Обгоняет ElevenLabs по скорости. Запускается даже на Raspberry Pi.
Полностью открытый исходный код.
👉 @PythonPortal
Supertonic работает прямо на устройстве через ONNX. Без GPU, на 31 языке. Передаёт любые эмоции. Обгоняет ElevenLabs по скорости. Запускается даже на Raspberry Pi.
Полностью открытый исходный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🤔5😁1
Хочешь быстро прокачать SQL?
Вот 4 курса, которые помогут поднять уровень:
- SQL Basics for Data Science
[https://programmingvalley.com/course/learn-sql-basics-for-data-science-free-course]
- Google Data Analytics
[https://programmingvalley.com/course/google-data-analytics-free-course]
- IBM Data Science
[https://programmingvalley.com/course/ibm-data-science-free-course]
- Google Business Intelligence
[https://programmingvalley.com/course/google-business-intelligence-free-course]
Подойдут как для изучения основ SQL, так и для освоения анализа данных, BI-инструментов и работы с данными в реальных проектах.
👉 @PythonPortal
Вот 4 курса, которые помогут поднять уровень:
- SQL Basics for Data Science
[https://programmingvalley.com/course/learn-sql-basics-for-data-science-free-course]
- Google Data Analytics
[https://programmingvalley.com/course/google-data-analytics-free-course]
- IBM Data Science
[https://programmingvalley.com/course/ibm-data-science-free-course]
- Google Business Intelligence
[https://programmingvalley.com/course/google-business-intelligence-free-course]
Подойдут как для изучения основ SQL, так и для освоения анализа данных, BI-инструментов и работы с данными в реальных проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Programming Valley
Learn SQL Basics for Data Science | Programming Valley
Course Overview This hands-on SQL specialization helps you build the foundational skills needed to analyze, transform, and manage data using SQL — the most in-demand language for data professionals.You’ll start from zero and progress through practical exercises…
❤5🌭2👍1
Вау, вот это скорость разработки! 🚀
На GitVerse появилось зеркало PyPI — теперь Python‑пакеты доступны, даже если upstream PyPI упадёт или станет недоступен.
Ставьте зеркало как основной источник или держите как резерв. Рассказали, как это сделать, здесь!
На GitVerse появилось зеркало PyPI — теперь Python‑пакеты доступны, даже если upstream PyPI упадёт или станет недоступен.
Ставьте зеркало как основной источник или держите как резерв. Рассказали, как это сделать, здесь!
🤣16😁6🤯4🌭3👍2
Исторический момент. Новый HTTP-метод в стандарте.
QUERY. Альтернатива GET и POST.
Как GET — не меняет состояние ресурса. Как POST — можно использовать тело запроса. Шлёшь JSON, кешируешь ответ.
Только что повышен до Proposed Standard.
👉 @PythonPortal
QUERY. Альтернатива GET и POST.
Как GET — не меняет состояние ресурса. Как POST — можно использовать тело запроса. Шлёшь JSON, кешируешь ответ.
Только что повышен до Proposed Standard.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22
Как не дать ИИ заливать мусор в GitHub.
В репозитории git push no-mistakes предложили подход, где изменения прогоняются через локальную проверку до попадания в PR.
Идея простая. Перед пушем ветка проходит валидацию: ИИ проверяет код, дальше запускаются тесты, линтер, генерация документации и CI. Всё это работает локально через worktree, без блокировок и без остановки процесса разработки.
Если всё зелёное — открывается чистый pull request.
👉 @PythonPortal
В репозитории git push no-mistakes предложили подход, где изменения прогоняются через локальную проверку до попадания в PR.
Идея простая. Перед пушем ветка проходит валидацию: ИИ проверяет код, дальше запускаются тесты, линтер, генерация документации и CI. Всё это работает локально через worktree, без блокировок и без остановки процесса разработки.
Если всё зелёное — открывается чистый pull request.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍2😁1
Появился Hyper-Extract — инструмент, который превращает неструктурированные документы в полноценные базы знаний.
Вместо обычного разбиения PDF на чанки для RAG, Hyper-Extract может автоматически строить графы знаний, гиперграфы, временные и пространственные графы, типизированные модели данных, Obsidian Vault и базы знаний с поддержкой MCP.
Среди сценариев использования:
• преобразование научных статей в исследовательские графы;
• извлечение компаний, людей, метрик и рисков из финансовых отчётов;
• создание поисковых баз знаний из внутренних документов;
• локальный запуск через vLLM без отправки данных в облако;
• подключение к Claude Desktop и агентам в IDE через MCP.
В комплекте также есть более 80 YAML-шаблонов для финансов, юриспруденции, медицины и других областей.
GitHub: https://github.com/yifanfeng97/Hyper-Extract
👉 @PythonPortal
Вместо обычного разбиения PDF на чанки для RAG, Hyper-Extract может автоматически строить графы знаний, гиперграфы, временные и пространственные графы, типизированные модели данных, Obsidian Vault и базы знаний с поддержкой MCP.
Среди сценариев использования:
• преобразование научных статей в исследовательские графы;
• извлечение компаний, людей, метрик и рисков из финансовых отчётов;
• создание поисковых баз знаний из внутренних документов;
• локальный запуск через vLLM без отправки данных в облако;
• подключение к Claude Desktop и агентам в IDE через MCP.
В комплекте также есть более 80 YAML-шаблонов для финансов, юриспруденции, медицины и других областей.
GitHub: https://github.com/yifanfeng97/Hyper-Extract
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - yifanfeng97/Hyper-Extract: Hypergraph is more powerful. Transform unstructured text into structured knowledge with LLMs.…
Hypergraph is more powerful. Transform unstructured text into structured knowledge with LLMs. Graphs, hypergraphs, and spatio-temporal extractions — with one command. - yifanfeng97/Hyper-Extract
🔥4❤3