Как стать автором
Обновить
425.68

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга

Пример того, почему стоит обратить внимание на Julia. Если, конечно, занятные люди делающие (полу)безумные вещи - это для Вас в плюс.

Работает, но для продакшена не рекомендуется. С друой стороны, то, с тем, что делается just for fun, бывало всякое.

Теги:
+6
Комментарии0


Вот почему так?

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

Но попробуем.
Мы с коллегой написали тестовый бот в телеге (на Python, бесплатный и без рекламы).
Это новостной бот (тех новости) с возможностью персонализированной настройки по темам. Новости берутся на английском и пересказываются на русский, дается ссылка на первоисточник, ставятся теги, новости классифицируются: https://t.me/summix_test1_bot

Просьба.
Если у вас есть время и желание, будем очень признательны за ваш отзыв по боту здесь или в нашем чате разработчиков: https://t.me/techmixdev

Как мы пришли к идеи бота?
Сначала сделали канал https://t.me/techmixru и даже написали об этом статью на Хабре. Но на канале слишком много новостей, там нет тегов. Хотя есть один плюс - все новости имеют еще аудио трансляцию. Удобно для машины.

Но мы поняли, "большая несортированная свалка" не нужна. И сделали тестовый канал с сортированной/тегированной "свалкой". Канал пока закрытый, но если кому-то интересно, то вот ссылка приглашение: https://t.me/+r4RQ7mDo7PtkZDZi

Для тестирования применения бота я использую некоторые новости от него в своем блоге: https://t.me/lanchev_pro_ai

Это все хорошо. Но очень хочется откликов коллег с конструктивной критикой и предложениями по нашему тестовому техно новостному боту с персонализацией.
Заранее большое спасибо!

Теги:
+3
Комментарии9

Последний день регистрации на хакатон по интерфейсам «мозг-компьютер»

Хотите круто воплотить технологии будущего в реальность? Научить компьютер взаимодействовать с мозгом напрямую? Зажигать силой мысли лампочки и управлять компьютерными играми? Регистрируйтесь на BCI Hack Moscow.

Мы — компания Neiry. Наше  BCI-устройство Headband Pro и ПО Capsule считывают и записывают мозговую активность, и другие физиологические сигналы пользователя. А Capsule API позволяет использовать эти данные в других приложениях. На Хабре мы уже рассказывали про крутые кейсы, в которых задействованы наши разработки, про особенности Capsule и API

На хакатоне мы дадим участникам возможность создать прототипы продуктов на базе нейроинтерфейсов для Neiry Headband Pro и открытого API Neiry. Приглашаем разработчиков всех грейдов, студентов, нейроэнтузиастов. Язык нашего API — С, пригодятся знания в Python, SQL, аналитические навыки, опыт обращения с BCI. Если вам интересно поработать с нейроинтерфейсом, присоединяйтесь — оборудование выдадим бесплатно! Участвуйте самостоятельно или командой до 4 человек.

Регистрируйтесь сегодня: опишите в заявке свою крутую идею для нейроинтерфейсов. 20 сентября бесплатно выдадим участникам Neiry Headband Pro, для этого кто-то из команды должен быть в Москве. И всё, больше никаких блоков. Регистрируйтесь на BCI Hack Moscow и помогите сделать будущее — настоящим.

Теги:
+6
Комментарии0

Roadmap, который я себе чертила, когда изучала Python для аналитики данных.

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

5 бесплатных сервисов для практики SQL и Python тут.

Теги:
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

Всем привет!

У нас есть два стула…Python и Go. Хоть немного зная один из этих языков, девопс может делать в Kubernetes разную магию.

Завтра встретимся с Виталием Лихачевым, SRE в Bооking.сom,ex-Avito Senior Software Engineer, на вебинаре, чтобы разобрать:

• Как использовать k8s как API, даже не зная его устройства? 
• Как создать при этом симбиоз между кодом и целым кластером?
• Как в k8s объединять бизнес-логику и инфраструктуру с помощью миллионов строк кода?

Всё это — на примерах Python и Go.

А ещё можно:

• Контролировать соответствие манифестов архитектуры стандартам — и при этом не ходить по репозиториям и не править манифесты руками 
• Подключать различные sidecar контейнеры для сбора логов и метрик —  и не мешать этим разработчикам
• Делать это всё на лету.

И мы постараемся показать, как. А уж на какой из стульев садиться — выбор за вами)

Дата и время — 21 августа, 19:00 мск 
Занять место на вебинаре — по ссылке.

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии1

Как применять бинарный поиск для решения задач с LeetCode

Привет, давно не виделись! Мы не просто так отсутствовали какое-то время с «Алгоритмической качалкой», а все пытались записать ролик, на который договорились с аудиторией. То Казань превращались в Венецию, то больное горло давало о себе знать.

Но наконец-то мы справились и смогли записаться в парке Черное озеро с мороженым на перевес.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

В сети вышло видео FastHTML за 100 секунд.

FastHTML — это новый веб-фреймворк Python, который позволяет легко создавать интерактивные веб-приложения без необходимости изучать фреймворк JavaScript, такой как React или Angular. Проект использует HTMX под капотом для включения динамических обновлений контента без полной перезагрузки страницы.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Простой способ конвертации файлов JSON в CSV через Python

Для конвертации файлов JSON в CSV через Python существует удобный способ с использованием библиотеки pandas.

Если у вас еще не установлена библиотека pandas, установите ее с помощью pip:

pip install pandas

Далее напишем функцию, которая будет принимать на вход путь к JSON файлу и имя выходного CSV файла. Эта функция выполнит преобразование с помощью pandas.

import pandas as pd


def json_to_csv(input_file, output_file):
    try:
        # Прочитайте JSON файл в DataFrame
        df = pd.read_json(input_file)
        
        # Сохраните DataFrame в CSV файл с кодировкой UTF-8
        df.to_csv(output_file, index=False, encoding='utf-8')
        print(f"JSON файл успешно преобразован в CSV и сохранен как {output_file}")
    except Exception as e:
        print(f"Произошла ошибка при преобразовании: {e}")

        
# Пример использования функции
json_to_csv('input.json', 'output.csv')

Теперь, вызвав функцию json_to_csv с нужными параметрами, вы сможете легко преобразовать JSON файл в CSV файл.

Если вам была полезна эта информация, подписывайтесь, ставьте лайки и оставляйте комментарии!

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

Представлен открытый проект Hyperscript. Это гибкий скрипт для обработки сложных конфигураций и запросов. Проект поддерживает различные методы HTTP, включая GET, POST, PUT и DELETE, и предоставляет обширные возможности для проверки ответов на соответствие указанным условиям.

Hyperscript поддерживает нескольких методов HTTP, включая опции простой настройки и тестирование запросов GET, POST, PUT и DELETE.

В Hyperscript есть редим гибкой проверки и проверки ответов на основе кодов состояния, типов содержимого и определённого содержимого.

Проект поддерживает настраиваемые условия, включая проверку наличия определённых значений в теле ответа или нахождения числовых полей в указанных диапазонах. Также в Hyperscript есть подробная отчётность и получение подробных сообщений об успешном и неудачном выполнении с дополнительным подробным выводом.

Проект написан на языке Python и опубликован под лицензией MIT.

Теги:
Всего голосов 5: ↑2 и ↓3+1
Комментарии0

Готов пример приложения для https://pypi.org/project/targeting-platform/ (библиотека с общим интерфейсом к разным DSP (те которые "A demand-side platform")).

Это в продолжение https://habr.com/ru/posts/829114/

Пример тут: https://gitlab.com/dsp6802915/targeting_platform_example_simple - в реадми описано все что есть сказать - не буду здесь повторяться.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

🤖 The future of CAD (BIM) data processing in Construction is already here!

Instead of working with complex closed or parametric data (the quality of which we have to check in special BIM tools), in the future we work with open structured data, which is an ideal source for RAG, LLM, ChatGPT. To work with LLM models and ChatGPT you need properly prepared data.

Dataframe data obtained from various CAD (BIM) formats is the ideal fuel for modern tools. Pandas is ideal for LLMs due to its robust data processing, efficient indexing, and flexible formatting. It cleans, tokenizes, and normalizes data, supports advanced data retrieval, and structures data in LLM-compatible formats.

Examples of requests for using structured CAD (BIM) data in ChatGPT:

🤖Group the data in Dataframe by "Type Name" while summarizing 
the "Volume" parameter - you can show the result in any kind of graphs and documents
🤖 “Check the values in the volume parameter for all items in "Category"
 - "OST_Walls" and output the list of IDs with null values” - native IDs 
can be displayed later in Revit
🤖 “Check if "Category" "OST_Doors" has parameters that are responsible
for width and length and output element types that do not have such parameters”

⚡️ Instead of using a whole zoo of BIM tools, we now validate and process data directly in ChatGPT.

After getting the results in ChatGPT, we copy the resulting Python code into Pipeline in any Python IDE

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Готова реализация для The Trade Desk (TDD) — как и обещал. Актуальная версия.

Пока это «классическая» реализация (с новым подходом что‑то у TTD не задалось). Когда и если они сделают рабочим новый подход (задание локации и времени в парах через BidLists) я обновлю код.

Теперь библиотека умеет вычитывать, устанавливать, очищать и валидировать таргетинг для трех платформ (DV360, Meta, TTD) с единым интерфейсом. При установке опций будут создаваться дубликаты в системах DV360 и Meta — это необходимо когда вы задаете много географических точек (лимиты платформ на объем информации). Внутри методов реализовано кэширование для операций чтения (get_...) и установка блокировок для операций изменения (set_..., clear_... и т. д.). Кэширование актуально для Meta — чтобы не словить Rate Limit на частых операциях получение информации. Блокировки более актуальны для DV360 и TTD — там операции по созданию дубликатов и установке таргетинг опций относительно длительные (но блокировка только внутри библиотеки работает — внешние системы все еще могут изменить тот же элемент системы — для этого у вас есть интерфейс валидации, который поможет проверить что в системе сохранено то, что вы хотели установить).

Базовый набор операций — как вызывать и что возвращает можно посмотреть в интегрейшен тестах — ссылка.

Пользуйтесь, задавайте вопросы.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Добавлена полная реализация для Google DV360 и Meta Marketing API - https://pypi.org/project/targeting-platform/. Теперь вы можете вычитывать targeting (geospatial part), управлять статусами плейсментов и устанавливать targeting options.

Это развитие https://habr.com/ru/posts/824528/ - следующий на добавление The Trade Desk (там есть задержка - пока они переходят на другую реализацию и в проекте мы пока ее тестируем).

Пока библиотека полностью синхронная (будет изменено в будущем) и без оптимизации трансформаций данных - это если кто напишет комментарий с замечанием/пожелание. Работа с самими DSP максимально оптимально делается (по рекомендациям самих платформ).

Продолжение - https://habr.com/ru/posts/829114/

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

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

Начинающий Python-разработчик выполнил свою первую самостоятельную задачу: написал программу для удаления всех чисел меньше пяти из списка. Однако результат работы его программы не соответствует ожиданиям.

Исходный список:

numbers = [1, 2, 5, 11, 3, 111, 7, 27]

Результат работы кода:

[2, 5, 11, 111, 7, 27]

Ожидаемый результат:

[5, 11, 111, 7, 27]

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

Исходный код программы:

numbers = [1, 2, 5, 11, 3, 111, 7, 27]

for i in numbers:
    if i < 5:
        numbers.remove(i)
        
print(numbers)

Ну и на всякий случай: у кандидатов на собеседовании нет доступа к GPT-чатам и поисковикам, решите без подсказок?

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии22

Хвостатое недоразумение покоряет GitHub!

Всё верно, я отметил «лишним не будет» =)
Всё верно, я отметил «лишним не будет» =)

Большинство голосов оказалось за, а поэтому, спешу сообщить о выпуске полной некастрированной репы хвостатой на GitHub!

Для тех, кто в танке, ну или под наркозом, ну или просто пофек: речь идёт о стример-тян из этой статьи

P. S.
Код всё ещё никак не правил, это по-прежнему лютая свалка функций и принтов для отладки, но уж явно в более удобном виде, чем в статье :)

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

(устроим армию нейро-стримерш/ов, чтобы они наводнили ютуб и отправили обычных стримеров на завод😈 шутка, на деле просто выпускаю репу, чтобы таким же гикам, как я, было проще повторить этот опыт; ну и посмотреть на ваши эксперименты)

Теги:
Всего голосов 2: ↑1 и ↓1+1
Комментарии0

Автоматическая игра в BLUM

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

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

Для работы программы потребуется токен авторизации.

Пулл реквесты приветствуются. Интересные обсуждения автоматизации подобных проектов в телеграм-канале.

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии4

Разработчики сообщества Fedora вынесли на обсуждение вопрос по поводу удаления Python 2.7 из 41 версии дистрибутива проекта. Фактически из коробки в Fedora 41+ не будет Python 2, кроме PyPy.

Это предложение будет реализовано только в том случае, если оно будет одобрено руководящим комитетом по разработке Fedora.

Пакет Python 2.7 с интерпретатором Python версии 2.7 оставался в дистрибутиве Fedora после окончания выпуска исходной версии (01.01.2020) только для того, чтобы пользователи Fedora могли протестировать своё программное обеспечение на основе версии Python, поставляемой в RHEL 7, CentOS 7 и RHEL 8 и для поддержки остальных пакетов, которые не удалось портировать.

Проект Fedora 41 выйдет в октябре 2024 года, почти через 5 лет после окончания выпуска Python 2.

23 апреля 2024 года разработчики проекта Fedora выпустили стабильную сборку проекта Fedora Linux 40. Релиз Fedora Linux 39 состоялся 7 ноября 2023 года, спустя 20 лет и 1 день после запуска проекта по выпуску популярного дистрибутива Linux.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Как решить задачу 3Sum на Python: видеоинструкция для начинающих

Давно мы не публиковали «Алгоритмическую качалку» на Хабре — исправляемся. В новом ролике главная по прокачке алгоритмических мышц Альбина показывает, как решить задачу Three Sum на языке Python.

Будем рады вашим решениям в комментариях, а также лайкам и комментариям на YouTube.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Автоклейм токенов в Hamster Kombat и HOT Wallet

Возможно я уже кому-то надоел своими попытками автоматизации всякого web3 скама (а может и нет), но в этот раз я написал небольшую, и очень легковесную программу, которая занимается автоматическим клеймом токенов в Hamster Kombat и HOT Wallet. И, как начинающий программист, я не могу не поделиться своим 'шедевром'.

Функционал прост, раз в несколько часов она шлет POST-запросы на API указанных проектов и таким образом собирает монеты, плюс раз в час протапывает хомяка. Всё работает на обычных реквестах, так что для работы программы хватит ресурсов калькулятора. Возможно, кому-то будет интересно, как это работает, да и функционал можно значительно расширить под все возможные ресурсы API.

Репозиторий - Hamster Kombat autoclaimer

Пулл реквесты приветствуются.

Теги:
Всего голосов 4: ↑2 и ↓2+2
Комментарии1

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

Привет. Для того чтоб воспользоваться данным способом у вас должен быть:

  1. VPS сервер

  2. Написанный Python проект

  3. Установленный на сервере Docker

  4. Аккаунт на GitHub

Небольшие настройки.

Для начала в корне проекта необходимо создать Dockerfile. Вот мой пример:

FROM python

WORKDIR /usr/src/app

# Копируем и устанавливаем зависимости Python
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

# Копируем все файлы из текущей директории в рабочую директорию контейнера
COPY . .

# Команда запуска контейнера
CMD ["/bin/bash", "-c", "python aiogram_run.py"]
  • Помещаем все данные проекта на свой репозиторий GIT.

  • Заходим на VPS сервер.

  • Создаем там папку

  • Выполняем PULL проекта с GitHub

  • Создаем свой именной образ:

docker build -t my_image_name .
  • Запускаем контейнер:

docker run -it -d --env-file .env --restart=unless-stopped --name container_name my_image_name

В данном примере я запускал телеграмм бота. Он использовал файл .env. Тут вы видите, как привязать env-file к рабочему контейнеру.

Для того чтоб посмотреть на консоль бота достаточно выполнить команду:

docker attach container_name

Для выхода из интерактивного режима воспользуйтесь комбинацией клавиш CTRL+P, CTRL+Q.

Если было полезно – подписывайтесь и ставьте лайки.

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Вклад авторов

Работа

Python разработчик
196 вакансий
Data Scientist
92 вакансии