Python_news
10 subscribers
651 photos
111 videos
10 files
733 links
Свежие новости, тенденции и инсайты из мира программирования на языке Python. Получайте ежедневные обновления прямо в ваш Telegram!
Download Telegram
👩‍💻 ToolGit
Toolkit - это набор скриптов, которые расширяют функционал Git различными подкомандами, чтобы облегчить жизнь при разработке.

Установка:
<code>git config set —append —global include.path path/to/toolgit/aliases.ini</code>
🖥 Github (https://github.com/ahmetsait/toolgit)
@pythonl (https://t.me/pythonl)
@Pythonnewsone
Что выведет код ?
@Pythonnewsone
👩‍💻 В PyPI внедрил новую систему проверки подлинности пакетов

Разработчики репозитория Python-пакетов PyPI (Python Package Index) сообщили (https://blog.pypi.org/posts/2024-11-14-pypi-now-supports-digital-attestations/) о введении нового механизма цифровой аттестации для проверки подлинности загружаемых пакетов.

Этот механизм заменил прежнюю систему верификации с помощью PGP-подписей. Основное отличие заключается в том, что теперь публикацию пакета подтверждает не сам разработчик, а третья сторона (каталог пакетов), основываясь на проверке через внешнего провайдера OpenID Connect. Это может включать проверку соответствия публикуемого пакета с исходным репозиторием на платформах вроде GitHub или GitLab.

Новая система решает проблемы, присущие старому методу верификации через PGP-подпись, который уже считался устаревшим. Основная трудность заключалась в проверке принадлежности открытых PGP-ключей их владельцам. Из 1069 PGP-ключей, использовавшихся с 2020 года для подписания пакетов в PyPI, 29% ключей вообще не были найдены на крупных публичных серверах ключей, а 35% оказались невозможными для подтверждения в процессе аудита. При этом подтвержденные 36% ключей покрывали всего 0.3% от общего числа подписанных файлов.

В рамках новой системы цифровые подписи формируются с использованием временных эфемерных ключей, создаваемых на основании полномочий, подтвержденных провайдером OpenID Connect.

Когда разработчик создает ключ для подписи, он проходит идентификацию через провайдера, который удостоверяет его связь с основным проектом. Эта инфраструктура основана на системах <code>Sigstore и in-toto Attestation Framework.</code>

Одним из преимуществ аттестации является отсутствие зависимости от постоянных PGP-ключей.

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

Например, при загрузке пакета, подготовленного через GitHub Actions, аттестация гарантирует наличие связи между пакетом в PyPI и исходным хранилищем, рабочим процессом и хешем коммита, на базе которого был собран пакет.

Для мониторинга подлинности ключей и обнаружения потенциальных угроз в проектах, создающих пакеты, и самом PyPI используется централизованный публичный журнал. Чтобы обеспечить целостность данных и предотвратить изменение информации задним числом, в нем применяется структура «дерева Меркла» (Merkle Tree), где каждая ветвь проверяет все подчиненные ветви и узлы посредством древовидной схемы хеширования.

Кроме того, стоит упомянуть обнаруженный в каталоге PyPI вредоносный пакет под названием «fabrice», который использовал технику тайпсквоттинга – назначение схожего имени, различающегося несколькими символами (например, exampl вместо example, djangoo вместо django, pyhton вместо python и так далее), чтобы замаскироваться под популярную библиотеку «fabric».

Эта библиотека насчитывает около 201 миллиона загрузок (около 7 миллионов за последний месяц). Вредоносный пакет оставался незамеченным с 2021 года и успел набрать более 37 тысяч загрузок.

Пакет «fabrice» имитировал основную функциональность оригинальной библиотеки, но также содержал код для поиска и передачи ключей доступа к AWS (Amazon Web Services), установки бэкдоров и выполнения определенных скриптов.

Активизация вредоносных компонентов происходила как в операционной системе Linux, так и в Windows. В случае с Linux, файлы, связанные с вредоносной активностью, загружались в каталог ~/.local/bin/vscode.
@Pythonnewsone
что выведет код ?
@Pythonnewsone
👩‍💻 ERPNext (https://github.com/frappe/erpnext) — это полнофункциональная ERP-система на Python с открытым исходным кодом, подходящая для бизнеса любого размера.

🌟 Разработанная на фреймворке Frappe, ERPNext охватывает управление финансами, продажами, закупками, производством, CRM, проектами и кадровыми ресурсами. Она предоставляет гибкий интерфейс и может быть настроена под потребности пользователя, поддерживает многоуровневую отчётность и автоматизацию бизнес-процессов.

🔐 Лицензия: GPL-3.0

🖥 Github (https://github.com/frappe/erpnext)

@Pythonnewsone
🤲 OpenHands: Code Less, Make More

Платформ для ИИ-агентов для разработки программного обеспечения на базе искусственного интеллекта.

Агенты OpenHands могут делать все, что под силу разработчику—человеку: изменять код, запускать команды, просматривать веб-страницы, вызывать API-интерфейсы и даже копировать фрагменты кода из StackOverflow.

Инструкция по быстрому запуску (https://github.com/All-Hands-AI/OpenHands#-quick-start)
Документация (https://docs.all-hands.dev/)

Github (https://github.com/All-Hands-AI/OpenHands)
@pythonl (https://t.me/pythonl)
@Pythonnewsone
🔥 AlphaFold 3 — новейшая версия модели искусственного интеллекта на Python от DeepMind и Isomorphic Labs, предназначенная для предсказания структуры и взаимодействий биомолекул, таких как белки, ДНК, РНК и лекарственные вещества.

💡 AlphaFold 3 построена на усовершенствованной архитектуре предыдущей версии (AlphaFold 2) и показывает значительное улучшение точности — до 50% в предсказании взаимодействий различных типов молекул. Это открытие позволяет ученым моделировать сложные молекулярные комплексы для биологических исследований, разработки лекарств и новых методов лечения заболеваний.

Пакет AlphaFold 3 включает в себя все необходимое для теоретического моделирования структуры белка. Для запуска системы необходимо сконфигурировать входной файл JSON (https://github.com/google-deepmind/alphafold3?tab=readme-ov-file#installation-and-running-your-first-prediction), содержащий информацию о белке, например, его идентификатор и аминокислотную последовательность.

Вместе с программным конвейером инференса доступна подробная документация по входным (https://github.com/google-deepmind/alphafold3/blob/main/docs/input.md) и выходным (https://github.com/google-deepmind/alphafold3/blob/main/docs/output.md) данным системы, решению известных проблем (https://github.com/google-deepmind/alphafold3/blob/main/docs/known_issues.md), настройкам производительности (https://github.com/google-deepmind/alphafold3/blob/main/docs/performance.md) и установке с последующим запуском с помощью Docker (https://github.com/google-deepmind/alphafold3/blob/main/docs/installation.md).

Для локального использования понадобится ОС Linux (AlphaFold 3 не поддерживает другие операционные системы) примерно 1 ТB дискового пространства для хранения генетических баз данных (рекомендуется SSD), 64 GB RAM, GPU NVIDIA с Compute Capability 8.0 или выше.
Исходные данные, содержащие 5120 токенов, могут поместиться на одном NVIDIA A100 80 ГБ или одном NVIDIA H100 80 ГБ.

⚠️ Получение параметров модели возможно через подачу заявки (https://forms.gle/svvpY4u2jsHEwWYS6) в Google DeepMind, доступ предоставляется в течении 2-3 дней по итогам рассмотрения обращения.

⚠️ Любая публикация, основанная на результатах, полученных с использованием AlphaFold 3, должна ссылаться на статью «Accurate structure prediction of biomolecular interactions with AlphaFold 3» (https://doi.org/10.1038/s41586-024-07487-w).

⚠️ AlphaFold 3 не является официально поддерживаемым продуктом Google и ее результаты не предназначены, не проверены и не одобрены для клинического использования.

📌Лицензирование: CC-BY-NC-SA 4.0

🟡Техотчет (https://www.nature.com/articles/s41586-024-07487-w)
🟡Demo (https://alphafoldserver.com/welcome)
🖥GitHub (https://github.com/google-deepmind/alphafold3)

@pythonl
@Pythonnewsone
👩‍💻 pytorch_sparse (https://github.com/rusty1s/pytorch_sparse) — расширения для PyTorch, предназначенные для эффективной обработки разреженных тензоров, что актуально для графовых нейронных сетей и других задач с редкими данными.

🌟 Библиотека включает оптимизированные операции над разреженными тензорами, такие как умножение матриц и индексирование. Она широко используется в задачах, требующих обработки графов и сетевых данных, и поддерживает CUDA для ускорения на GPU.

🔐 Лицензия: MIT

🖥 Github (https://github.com/rusty1s/pytorch_sparse)

@pythonl
@Pythonnewsone
📞 Небольшой курс (https://linuxhandbook.com/nano/#what-will-you-learn) по работе с редактором Nano!

💡 Nano — простой редактор для работы в терминале Linux. В этом курсе объясняются основные команды для открытия файлов, редактирования текста, сохранения и выхода из редактора, а также представлены горячие клавиши для таких действий, как поиск и замена текста. Редактор удобен для новичков благодаря простоте использования и подсказкам на экране

🔗 Ссылка: *клик* (https://linuxhandbook.com/nano/#what-will-you-learn)

@linuxacademiya
@Pythonnewsone
This media is not supported in your browser
VIEW IN TELEGRAM
🔍 Наглядное сравнение производительности нескольких языков программирования при выполнении 1 млрд итераций в цикле!

<i>Разработчики на C: Не волнуйтесь. Если вы включите оптимизатор, все пойдет как по маслу.</i>
@Pythonnewsone
🤖 CrewAI: платформа для управления ролевыми играми автономных агентов с искусственным интеллектом. Развивая совместный интеллект, CrewAI позволяет агентам слаженно работать вместе, решая сложные задачи.

🖥 GIthub (https://github.com/crewAIInc/crewAI)
⭐️ Docs (https://docs.crewai.com/)
@pythonl (https://t.me/pythonl)
@Pythonnewsone
Крутая шпаргалка по Machine Learning

На одной картинке - самое важное из мира машинного обучения.

На ней ключевые направления:

Регрессия (OLS, SVM, Random Forest)
Классификация (Naive Bayes, Decision Tree, нейронки)
Кластеризация (K-Means, DBSCAN)
Компьютерное зрение (CNN, YOLO, GANs)
NLP/LLM (GPT, BERT, Word2Vec)
Рекомендательные системы, Прогнозирование
@Pythonnewsone
👩‍💻 pandas-datareader (https://github.com/pydata/pandas-datareader?tab=readme-ov-file) — библиотека для получения финансовых и экономических данных из различных удалённых источников и API, таких как Yahoo Finance, FRED, и World Bank! Это расширение для библиотеки pandas, которое упрощает доступ к данным для анализа.

💡 Основные функции — чтение данных из множества Интернет-источников и кэширование запросов для оптимизации производительности. Библиотека поддерживает Python версии 3.6 и выше и регулярно используется в исследовательской и аналитической среде для работы с временными рядами и финансовыми данными

🔐 Лицензия: BSD-3-Clause

🖥 Github (https://github.com/pydata/pandas-datareader)

@pythonl
@Pythonnewsone
🔍 Функция извлечения квадратного корня в Python

Добро пожаловать, творцы кода! Сегодня мы окунемся в мир одной из самых полезных функций в Python – функции извлечения квадратного корня, sqrt(). Эта функция является частью модуля math и поможет вам вычислить квадратный корень заданного числа.💡

Чтобы воспользоваться этой функцией, достаточно импортировать модуль math и вызвать math.sqrt() с ненегативным числом в качестве аргумента. Например, вызвав math.sqrt(9), вы получите результат 3.0.

Функция sqrt() работает как с целыми числами, так и с числами с плавающей запятой, что делает её незаменимой в математических операциях, например, при решении уравнений или расчетах геометрических свойств. В этом кратком руководстве мы изучим, как эффективно применять функцию квадратного корня в ваших проектах на Python.

🔍 Что вы узнаете:

- Как Python вычисляет квадратные корни с помощью функции math.sqrt(), позволяющей получать быстрые и точные результаты в ваших программах.
- Как функция math.sqrt() работает с положительными числами и нулем, но вызывает ошибку при попытке вычислить корень из отрицательного числа.
- Как функция квадратного корня может помочь в решении реальных задач, таких как вычисление расстояний по теореме Пифагора.

🥳 Пора погружаться в изучение!

Чуть больше информации: Эта инструкция — ваше быстрое пособие, с помощью которого вы быстро вернетесь к своему проекту.

📥 Бонус: Получите наш бесплатный шпаргалку по Python, которая освещает основы языка, включая работу с типами данных, словарями и функциями Python.

🔢 Квадратные корни в математике

В алгебре квадрат числа \( n \) вычисляется по формуле \( x = n² \). Например:

n = 5
x = n**2
print(x) # Вывод: 25


Здесь оператор ** используется для возведения числа в степень. В нашем случае 5 в квадрате равняется 25.

Таким образом, квадратный корень – это число \( n \), которое при возведении в квадрат дает \( x \). В примере выше, квадратный корень из 25 – это 5.

25 – пример идеального квадрата. Идеальные квадраты – это квадраты целых чисел:

1**2  # 1
2**2 # 4
3**2 # 9


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

🌐 Узнайте больше о функции квадратного корня в полной статье по ссылке: Полная статья

📲 И не забудьте подписаться на наш Telegram-канал Python Community RU – Сообщество Python-разработчиков, чтобы быть в курсе всех новинок и интересных материалов по Python!

#Python #КвадратныйКорень #math #ПрограммированиеPython #PythonСообщество
📚 Погружаемся в мир переменных Python: Использование и лучшие практики 🐍

В мире Python переменные — это символические имена, которые ссылаются на объекты или значения, хранящиеся в памяти вашего компьютера. Они позволяют присваивать описательные имена данным, что значительно упрощает манипуляции и повторное использование значений в коде.

Понимание переменных — это ключ к успеху каждого разработчика на Python. Они являются основными строительными блоками для любых программ. Правильное использование переменных помогает создавать ясный, читаемый и поддерживаемый код.

💡 Что вы узнаете из этого руководства:
- Как создавать и присваивать значения переменным
- Как динамически изменять тип данных переменной
- Как использовать переменные для создания выражений, счетчиков, аккумуляторов и логических флагов
- Лучшие практики по именованию переменных
- Как создавать, получать доступ и использовать переменные в их областях видимости

Если вы не знакомы с основными типами данных Python или концепциями программирования, такими как циклы и функции, не переживайте! Даже без этого знания вы сможете извлечь пользу из первых разделов нашего туториала.

📥 Скачайте бесплатный пример кода здесь, чтобы увидеть, как использовать переменные в Python на практике.

🧠 Проверьте свои знания! Пройдите наш интерактивный тест на тему "Переменные в Python: Использование и лучшие практики". Вы получите оценку по завершении, что поможет вам отслеживать свой прогресс в обучении.

💻 Знакомство с переменными в Python: переменные — это имена, связанные с конкретными объектами или значениями в памяти вашего компьютера. Связывая переменную со значением, вы можете ссылаться на это значение с помощью описательного имени и повторно использовать его по мере необходимости в коде.

🔧 Создание переменных: Основной способ создания переменной в Python — это присваивание ей значения с помощью оператора присваивания:

variable_name = value


Примеры переменных:
word = "Python"
number = 42
coefficient = 2.87
fruits = ["apple", "mango", "grape"]
ordinals = {1: "first", 2: "second", 3: "third"}

class SomeCustomClass: pass
instance = SomeCustomClass()


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

🌐 Читать полную статью можно [здесь](https://realpython.com/python-variables).

📲 Подписывайтесь на наш Telegram канал Python Community RU - СНГ сообщество Python-разработчиков, чтобы быть в курсе последних новостей и винтажных инсайтов по Python! 🐍

#Python #Программирование #Переменные #ОбучениеPython #PythonDeveloper #PythonCommunity
👩‍💻 Odoo (https://github.com/odoo/odoo?tab=readme-ov-file) — большая платформа на Python с открытым исходным кодом для управления бизнес-процессами, включающую множество модулей для управления продажами, складом, бухгалтерией, проектами, CRM и другими аспектами! Odoo разработан как ERP-система, которую можно расширять и адаптировать под различные бизнес-потребности.

🔐 Лицензия: LGPLv3

🖥 Github (https://github.com/odoo/odoo?tab=readme-ov-file)

@pythonl
@Pythonnewsone
👩‍💻 mongoengine (https://github.com/MongoEngine/mongoengine) — Python-библиотека для работы с базами данных MongoDB, предоставляющая объектно-документный маппинг (ODM)!

🌟 Она позволяет разработчикам описывать документы в виде Python-классов с типизированными полями, делая работу с MongoDB удобной и похожей на использование ORM в реляционных базах.

🌟 Библиотека поддерживает валидацию данных, вложенные документы, связи между документами и удобные запросы через Python-методы. MongoEngine часто используется в проектах, где требуется сочетание гибкости MongoDB и строгой структуры данных.

🔐 Лицензия: MIT

🖥 Github (https://github.com/MongoEngine/mongoengine)

@data_analysis_ml
@Pythonnewsone
👩‍💻 5 способов развернуть list в Python!

@python_job_interview
@Pythonnewsone