Python/ django
58.9K subscribers
2.07K photos
61 videos
47 files
2.79K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
👩‍💻 Вчера был выпущен Django 5.1.3 с поддержкой Python 3.13.

Теперь вы можете использовать последние стабильные версии Python и Django вместе.

Скачать: python -m pip install Django==5.1.3

#Python #Python313 #Django #Release

https://docs.djangoproject.com/en/5.1/releases/5.1.3/

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что выведет этот код и почему?

❗️ Ответ: C (30). Объяснение:

🌟 В классе Rectangle у нас есть атрибуты width и __height. Здесь __height является "приватным" атрибутом из-за двойного подчеркивания перед именем.

🌟 Когда создается объект rect = Rectangle(5, 3), он инициализируется значениями width = 5 и __height = 3.

🌟 Затем rect.width изменяется на 10, и это изменение успешно применяется, так как width не является приватным атрибутом.

🌟 Следующая строка rect.__height = 5 не изменяет оригинальное значение __height, потому что Python использует name mangling для приватных атрибутов. Это означает, что к оригинальному атрибуту __height обращаются как к _Rectangle__height. Таким образом, rect.__height = 5 создает новый атрибут __height, который не влияет на оригинальный атрибут _Rectangle__height.

🌟 Когда вызывается rect.area(), метод использует self.width (которое теперь равно 10) и self.__height (оригинальное значение _Rectangle__height, которое осталось равным 3).

🌟 Следовательно, результат rect.area() будет 10 * 3 = 30

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Mesop — это фреймворк от Google, упрощающий создание AI веб-приложений на Python. Он ориентирован на ускоренную разработку AI-приложений и демонстрационных интерфейсов, не требуя навыков в JavaScript, CSS или HTML.

🌟 Mesop поддерживает горячую перезагрузку, обеспечивая быструю настройку интерфейсов. Код создается с помощью Python, в том числе с использованием готовых компонентов и API для упрощенного подключения модели.

🔐 Лицензия: Apache-2.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Как найти края на изображениях с помощью #Python и skimage, используя всего несколько строк кода!

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Математические формулы с помощью Python

@data_math
👩‍💻 Сборка Python проекта с uv и Docker!

🔍 Прочитав эту статью, вы узнаете:

🌟 Как сократить количество инструментов локальной разработки.

🌟 Как оптимально собрать образ Docker.

🌟 Как проверить код проекта хуками pre-commit и запустить тесты в GitLab CI

🔗 Ссылка: *клик*

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Polar — Универсальная платформа финансирования и монетизации для разработчиков.

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

🔐 Лицензия: Apache-2.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Языки программирования в 50 строк кода Python.

Репозиторий на Github c микрореализацией фундаментальных языков программирования, по мотивам серии статей "Tiny Great Languages"

Все написано на Python, код намеренно краток, чтобы не превышать ~50 строк кода для каждого языка.

Используется только стандартная библиотека Python, да и то в очень скромных пределах (sys, иногда re, редко itertool и т.д.).

▶️ Реализованы языки:

asm.py - ассемблер. Компилирует "Python-ассемблер" в байткод и выполняет его;

basic.py - бейсик. Подмножество TinyBASIC, но с настоящим редактором строк BASIC!

lisp.py - Lisp 1.5. Классика, автор - Джон Маккарти, достаточен, чтобы интерпретировать самого себя (мета-циклический интерпретатор);

apl.py - интерпретатор k/simple, написанный Артуром Уитни, представляет собой диалект языка программирования K (array processing language), который является вариантом APL.

mouse.py - язык конкатенативного программирования MOUSE, опубликованный в журнале BYTE в 1979 году.

pl0.py - переводчик с языка PL/0, автор Никлаус Вирт.

tcl.py - крошечный интерпретатор командного языка (TCL).


📌Лицензирование: MIT License.


🖥Github

#Python #TinyLanguage

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 python-magic — это обертка для Python над библиотекой libmagic, которая используется для определения типов файлов на основе их содержимого! Он позволяет извлекать информацию о типе файла, MIME-типе и другой метаинформации, анализируя заголовки файлов, а не их расширения.

🌟 Пример применения: проверка типа загруженного файла в веб-приложениях для обработки данных. Установка доступна через PyPI, и проект поддерживает различные операционные системы.

🔐 Лицензия: MIT

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🥷 psudohash — инструмент для генерации большого количества вариаций паролей на основе ключевых слов!

🌟 psudohash помогает автоматизировать создание сложных, измененных паролей, используя характерные паттерны, такие как замена символов (например, a на @), чередование заглавных букв и добавление стандартных символов или чисел. Это делает его полезным для пентестеров, которые создают списки паролей для тестирования устойчивости систем к атакам грубой силы и взлому хешей.

🔐 Лицензия: MIT

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🔍 pyWhat — инструмент для автоматической идентификации различных типов данных в тексте и файлах! Поддерживает IP-адреса, email, криптографические ключи, URL, номера карт и др.

⭐️ Программа позволяет фильтровать и сортировать результаты, экспортировать данные в JSON и применять специфические фильтры для задач, например, для анализа трафика или поиска утечек данных. Подходит для анализа pcap-файлов, поиска данных в коде, автоматизации задач безопасности и поиска багов в программах.

🔐 Лицензия: MIT

🖥 GitHub

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 20+ практических проектов Python для начинающих!

🌟 Разработайте огромное количество проектов — от простого калькулятора до разного рода игр и приложений вроде прогноза погоды!

🔗 Ссылка: *клик*

#курс #python

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 xlwings — библиотека Python для автоматизации работы с Microsoft Excel!

🌟 С помощью этой библиотеки можно управлять Excel из Python-скриптов, создавать макросы, импортировать и экспортировать данные, а также создавать пользовательские функции (UDF) для интеграции Python и Excel. Она полезна для автоматизации задач и создания динамических таблиц, работающих с большими объёмами данных.

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

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 ToolGit

Toolkit - это набор скриптов, которые расширяют функционал Git различными подкомандами, чтобы облегчить жизнь при разработке.

Установка:
git config set --append --global include.path path/to/toolgit/aliases.ini

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Серия видео по введению в программирование на Python от одного из лучших вузов мира MIT!

🔗 Ссылка: *клик*

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 В PyPI внедрил новую систему проверки подлинности пакетов

Разработчики репозитория Python-пакетов PyPI (Python Package Index) сообщили о введении нового механизма цифровой аттестации для проверки подлинности загружаемых пакетов.

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

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

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

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

Одним из преимуществ аттестации является отсутствие зависимости от постоянных 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.

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Конвертируйте PDF в docx с помощью Python

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 ERPNext — это полнофункциональная ERP-система на Python с открытым исходным кодом, подходящая для бизнеса любого размера.

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

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

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🤲 OpenHands: Code Less, Make More

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

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

Инструкция по быстрому запуску
Документация

Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM