LINUX.ORG.RU

Python


387

20

Всего сообщений: 39

Светлый Emacs

Пилю сервис на Django и FastApi для собственных нужд и для тех кому такое нужно. Предпочитаю светлые темы (и на лоре у меня тема waltz).

На скрине Xmonad, в нём Emacs с treemacs, nerd-icons, ну и всякое по мелочи, чего на скрине не видно. Шрифт — IBM Plex Mono.

>>> Просмотр (3840x2160, 934 Kb)

 , , , ,

pi11
()

Мой Neovim

Решил показать Neovim на моем компьютере под управлением OS Manjaro Linux KDE.

Перешёл полностью с (Sublime Text и PyCharm) на NeoVim для кодинга на python.

Плагины, привносящие функциональность:

  • coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;
  • NERDTree - файловый менеджер;
  • tagbar - отображений тегов исходников;
  • toogleterm - встроенный терминал. Сам конфиг:
:set number
:set guifont=JetBrains\ Mono:h10
:set autoindent
:set tabstop=4
:set shiftwidth=4
:set smarttab
:set softtabstop=4
:set mouse=a



call plug#begin()

    Plug 'https://github.com/vim-airline/vim-airline'
    Plug 'https://github.com/preservim/tagbar' 
    Plug 'preservim/nerdtree'
    Plug 'https://github.com/rafi/awesome-vim-colorschemes'
    Plug 'https://github.com/ryanoasis/vim-devicons'
    Plug 'https://github.com/neoclide/coc.nvim'
    Plug 'akinsho/toggleterm.nvim'
    Plug 'crispgm/nvim-tabline'
    
    set encoding=UTF-8
nmap <F8> :TagbarToggle<CR>
:set completeopt-=preview 
source ~/.local/share/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim
call plug#end()
:set guitablabel=%N\ %f

g:tablineclosebutton

autocmd TermEnter term://*toggleterm#*
      \ tnoremap <silent><c-t> <Cmd>exe v:count1 . 

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-P> :tabnew<CR>
nnoremap <C-q> :tabclose<CR>
nnoremap <silent><c-t> <Cmd>exe v:count1 . "ToggleTerm"<CR>
inoremap <silent><c-t> <Esc><Cmd>exe v:count1 . 

nnoremap <C-g> :NERDTree<CR>
nnoremap <C-f> :NERDTreeToggle<CR>

Ссылки:

>>> Просмотр (1920x1080, 160 Kb)

 , , , ,

enep
()

Рабочее место PyS60-разработчика

Фото не мое, но это - моя мечта.

UPD: Вот еще фото от @X-Pilot.

( читать дальше... )

>>> Просмотр (1256x655, 161 Kb)

 , ,

atsym
()

Программируем с Minecraft

Купил для детей книгу «Ричардсон Крэйг, Программируем с Minecraft. Создай свой мир с помощью Python». 30 с лишним страниц первой главы рассказывают какие кнопочки нажать, чтобы поставить инструменты под Windows, MacOS и RaspberryPi из готового комплекта. А как это обновить, собрать самому или поставить под Linux: ни слова. А всё что надо:

Из коробки не завелись русские (utf-8) сообщения. Как оказалось, в mcpi зашито преобразование всего текста в cp437. Меняем на utf-8 и отдаём ноут детям.

Общее впечатление от книги и mcpi: минимальное api, совершенством не назовёшь. Но самое то после Scratch. Дико напомнило:

SCREEN 12
LINE (10, 10)-(100,200), 15, B
С этой книгой надолго зависнуть не получиться. Надо будет придумать больше заданий, и искать что станет следующим шагом.

З.Ы.: На ноуте дефолтная Ubuntu. Тупо жалко времени настраивать шрифты, иконки и цвета.

>>> Просмотр (1366x768, 507 Kb)

 ,

AlexVR
()

Весеннее обострение

Итак, только-только взялся за написание курсового проекта и, ВНЕЗАПНО, узнал про такую годноту как pythontex, который позволяет использовать процессинг вычислений внутри документа. Результат можно увидеть на скриншоте. Заметил интересную особенность: чем больше интересных и полезных вещей я узнаю, тем острее чувство сожаления о том, что я не узнал про них раньше.

>>> Просмотр (1920x1080, 376 Kb)

 , ,

pikwik
()

Еще на тему визуализации аудио

По мотивам этого топика, сильно зачесалось оформить себе нескучную музыку на стол. Беглый обзор показал, что самый художественный свист в этом плане выдает проект C.A.V.A., но консоль это немного не то. Поэтому была написана обертка на питоне, которая читает вывод cava и рисует в собственном gtk окне. Бонусом оно умеет часть настроек cava через гуй, играть mp3 через gstreamer, брать картинки из тегов и определять (с переменным успехом) их цвет. Можно посмотреть демо всего этого и поковырять исходники. Там еще некоторые косяки, но что-то я поднаелся, пусть будет так.

Окружение: все тот же старый awesome 3.5.9.

>>> Просмотр (1920x1080, 702 Kb)

 ,

Worron
()

Первое приложение на PyQt

PyQt

Написал на праздниках, фактически, первое приложение на PyQt - spectranalysis, выложил исходники на GitHub. Сразу отмечу, что это pet project, цель которого в ознакомлении с инструментами.

Прошу покритиковать код.

Предыстория: несколько лет пишу софт для предприятия на C# и WinForms + PostgreSQL, так же экспериментальный софт на Django. Пользователей - примерно 15-20 человек, но коллег-программистов нет, так что воюю в поле один, и код мой никого не интересует. Это сильно огорчает.

Параллельно программирование требуется для моделирования в аспирантуре. На кафедре преимущественно matlab + word, но я как ренегат, практически все выполняю на python (в связке с numpy, scipy, matplotlib, Sage Math) + latex.

Хотелось бы в будущем, при наличии свободного времени, присоединиться к разработке какого-либо открытого проекта, попробовать себя в командной разработке. Пока времени мало, уделил пару дней этому тестовому проекту.

О программе: на вход (Ctrl+O) должен поступать wav-файл с отсчетами квадратурных компонент какого-нибудь радиосигнала. Пример можно скачать из открытого источника (например, wav-файл для сигнала такого-то или wav-файл для другого сигнала). Получив файл, программа строит график спектральной плотности мощности, и спектрограмму.

По ходу разработки, меня расстроило отсутствие в PyQt искаропки виджета для редактирования свойств объекта (в .net это называется PropertyGrid). Вот тут рекомендуют для этих целей использовать pyqtgraph, да, но мне казалось, что такой популярный инструмент должен быть в стандартной поставке.

P.S. Для запуска main.py в системе требуется: python3, pyqt5, numpy, scipy и matplotlib.

Окружение

Arch, KDE, Cairo Dock, KDE Connect. Последний очень удобен:

  • Быстро залить на телефон музыку/слить фотки - приятно, что, Connect, во-первых не лагает как MTP, во-вторых не требует подключения шнуром.
  • Отображает уведомления из мессенджеров и sms - очень удобно.
  • Ставит воспроизведение фильма на паузу при входящем звонке, по завершению звонка продолжает воспроизведение - чрезвычайно удобно!

Еще скриншоты: krusader, amarok, и традиционный скриншот. Эти же скриншоты на другом хостинге.

>>> Просмотр (2560x1440, 2114 Kb)

 , ,

omegatype
()

Немного визуализации на desktop

Давно хотел себе визуализацию спектра играющей музыки на десктопе, нашел сишную либу, которая коннектится к пульсе и высчитывает FFT. Ну и написать рендерер было совсем изи, однако плавность анимации по сравнению с той же CAVA намного хуже. (если что, я не против пулл-реквестов)

Ну и только сегодня запилил пакет для аура spectrumyzer, а для всех остальных есть build

видео демка

сорс

>>> Просмотр (1920x1080, 1923 Kb)

 

HaCk3D
()

i3wm

  • Sublime Text 3
    • Тема: Piatto Light
    • Цвета: Dayle Rees Color Schemes / Azure
  • Шрифты: Inconsolata / Roboto \w Infinality
  • GTK-тема и иконки: Paper

>>> Просмотр (1366x768, 119 Kb)

 , ,

vertinsky
()

Рабочий Cinnamon

В одно время от нечего делать да и просто из интереса запилил себе редактор ID3 тегов. По сути это фронтенд к mutagen, написанный на PyQt. На мой взгляд получилось не плохо. По крайней мере пользоваться можно.

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

Ещё скриншоты:
- Desktop
- LOR

PS1 раскрашивает powerline-shell.

Обоину можно забрать здесь.

>>> Просмотр (1920x1080, 410 Kb)

 , , ,

Kilte
()

i3 «норкоман вернулся»

Еще скрин с жимпом и стимом.
Нашел в интернетах алгоритм, немного переделал. Теперь он меняет цвета консолечки, самого i3 и gtk-темы в зависимости от обоев.

Сам скрипт и пример конфигурационного файла к нему.
http://pastebin.com/rVmMy6y2
http://pastebin.com/WSwhdnp6

Панель - i3blocks. Слева направо: название трека, громкость, свободная память, раскладка, время, трей(или как там это правильно называть).

>>> Просмотр (3600x1080, 230 Kb)

 ,

fake_heat
()

Впервые кеды попробовал. Удобно

Впервые кеды попробовал. И питончик учу.
OS: Debian 8.0 jessie
DE: KDE 4.14.2

>>> Просмотр (1368x768, 519 Kb)

 , ,

daniilArch
()

Изучаю питон и пишу для себя программу

Пишу программу и параллельно изучаю python для работы с сайтом в вконтакте в основной отправки сообщений и постинг фотографий к себе а альбом в vk.сом

скриншот в нормальном размере


IDLE - для экспериментов
SPE - для конечного продукта
google chrome - открыта страничка по API
QMMP - слушая рок-группу «Агата Кристи»

OS: elementary OS 0.2.1 luna
Kernel: i686 Linux 3.13.0-37-generic
Packages: 2876
Shell: bash 4.2.25
Resolution: 1280x1024
DE: Gnome 3.2.1
WM: Mutter(Gala)
WM Theme: elementary
GTK Theme: elementary [GTK2], elementary [GTK3]
Icon Theme: elementary
Font: Droid Sans 9
CPU: Intel Pentium 4 CPU 3.00GHz @ 3.157GHz
GPU: GeForce 210
RAM: 1928MB / 3029MB  

>>> Просмотр (500x400, 55 Kb)

 ,

enep
()

Велосипед: системный монитор с веб-интерфейсом

Запиливаю сабж. Что-то вроде учебного проекта для меня самого, чтобы немного продвинуться в разработке на python и применить, наконец, это ваше ООП. Все, что я писал раньше использовало только функции, ни одного самописного класса.

В бэкенде - python + flask, в фронтенде - uikit, jQuery и morris.js.

При маленьком экране переключается в mobile mode - меняется надпись и значок. все выстраивается в одну колонку. Ни одной картинки нет, все - иконочные шрифты либо канвас, зумить можно бесконечно и без потери качества, и на разных DPI должно выглядеть одинаково прилично.

Какой-то практической ценности проект не несет, многого недостает в нем, да и вообще таких штук наверняка навалом. Зато у меня есть класс LineChart, от которого наследуются MemChart и CoresChart и прочая объектно-ориентированная ерунда.

До окончания PyCharm Evaluation осталось 3 дня.

>>> Просмотр (1920x976, 308 Kb)

 ,

horonitel
()

LOR pod translitom

Решил просто ради веселья написать небольшой прокси сервер, переводящий все русские буквы в транслит (есть у меня парочка древних карманных девайсов, уже умеющих в Интернет, но ещё не умеющих юникод и русский язык, для них вот стараюсь, зачем — да сам не знаю).

Было лень даже посмотреть, есть ли аналоги, поверхностное гугление таких не выявило.

На скриншоте — первый более-менее рабочий результат, умеет транслитерировать из utf-8 и cp-1251, надо ещё осилить https, найти алгоритм более удачного подбора латинских символов, но уже сейчас это так упорото и вырвиглазно выглядит, что я не удержался и выложил :D

P.S. Написано за вечер на питончике.

P.P.S Система — lubuntu 13.04, дефолт.

>>> Просмотр (1366x768, 228 Kb)

 , , , ,

Alpinist
()

Andorid == linux, или прикладное хлебобулочное троллейбусостроение

Дамы и господа, на скриншоте вы видите запущенный на 4 нексусе Android 4.4, на котором запущен Linux Deploy, в котором развёрнут Debian Sid, в доме, который построил Иен.

В оный дебиан запилены zsh, tmux, vim, python3/numpy/matplotlib/ipython, matchbox-wm (чисто чтобы окошки на весь экран раскукоживал) и ещё пара мелочей, жизненно необходимых на мобильнике каждому здравомыслящему человеку.

Общение со всем этим производится трансректально, а именно: ConnetctBot'ом цепляемся на локалхост черезз SSH, а картинку гоним на XServer XSDL (Спасибо PolarFox за рекламу).

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

Скриншот с вимом

>>> Просмотр (1280x1536, 418 Kb)

 , , ,

Axon
()

Python, Qt, PySide, matplotlib и множество Мандельброта

Праздного расширения кругозора для, решил посмотреть в сторону связки Python + Qt. В качестве упражнения выбрал множество Мандельброта, из matplotlib позаимствовал готовые цветовые схемы.

В остальном, Arch и почти дефолтная KDE.

PNG в полном размере.

>>> Просмотр (1796x1010, 1293 Kb)

 , , , ,

omegatype
()

Новый дизайн книжки по Питону

На обложке 4-го издания книги Бизли по Питону была изображена полуголая женщина (см. источник).
Я решил разнообразить досуг этой женщины, и пририсовал несколько предметов к её облику.
Если Бизли не будет возражать, можете использовать эту картинку на условиях лицензии CC-BY-SA 3.0 Unported.

Discuss

P.S. В целях повышения нравственности пролетариата, так сказать. :)

Может быть, куплю ещё какую-нибудь книгу O'Reilly, там прикольно рисовать акварелью, только не всякая краска хорошо ложится на мелованную бумагу.

>>> Просмотр (564x800, 173 Kb)

 , ,

pacify
()

Словарь для консоли

Написал для своих нужд, но может кому пригодится)
Словарь носит чудное название maggot-dict (не спрашивайте почему)
Умеет:

  • Bash completion
  • Цветастый вывод
  • Написан на питоне без каких либо зависимостей (совместим с python 3)
  • Поддерживает словари в формате Dict (.dict|.idx) Lingvo (.dsl)

Для счастливых обладателй арчлинукс ставится также просто как

yaourt maggot-dict-git
Живет Здесь!

>>> Просмотр (1600x1200, 334 Kb)

 ,

pasl
()

mifa — анализатор формата данных

При анализе данных, вычитываемых системой сбора, на предмет сбоев бывает необходимо просматривать данные глазами слово-за-словом. Ломая неоднократно глаза за этим занятием я решил слепить что-нибудь для его облегчения. Идея для такого инструмента не пришла сама, идея была «нагло спёрта» ;) у анализаторов протоколов (например: http://www.usbee.com/suite.html, http://www.usbee.com/dxpp.html, это не реклама!!!), встраиваемых сейчас даже в некоторые модели цифровых осциллографов. Поделие было названо mifa — MISS format analyzer (МИСС это стандарт на крейтовую электронику, изобретённый лет 20 назад в нашем институте) и стало органичной частью dem (decoding error monitor), приложением для мониторирования работы системы сбора и сбора статистики ошибок декодирования данных (уже презентованное ЛОРовской публике в недалёком прошлом анализ работы системы сбора данных)

mifa написана на питоне, декодинг производится в библиотеке написанной на С. Событие рендерится в виде древовидного списка (QTreeWidget) слов буфера, из которого событие декодируется. Т.е. 4-х байтные слова буфера представлены последовательно (buffer word — слово в hex, offset — смещение слова в буфере) с раскодированной в них информацией и обнаруженными ошибками. При чтении файла с данными можно задать критерий останова например по маске ошибки для каждого модуля (обнаруживается более 50 типов ошибок), слева внизу показано окошко для указания типов ошибок в маске. Справа внизу показано выбранное (мышкой по слову в дереве тыц!) раскодированное слово с номерами и значениями битов, раскодированная в полях слова информация и названия полей. Справа вверху виден кусок таблицы с ранжированными корзинами и ошибками в них (я описывал таблицу в прошлом скриншоте). Остальное, надеюсь, понятно по названиям.

Рендеринг построен на шаблоне проектирования builder. Рендереры, знающие только формат данных, реализованы в виде библиотеки питоновских модулей, за представление (отрисовку с помощью QTreeWidget) отвечает builder, что позволяет менять представление без переделки рендереров. Рендереры создаются во время рендеринга с помощью шаблона factory method (virtual constructor), используя свойство питоновских классов first class object. Весь анализатор занимает около 1500 питоновских строк включая библиотеку из 22 рендереров.

Код предоставлю всем жаждущим по запросу.

>>> Просмотр (1920x1200, 364 Kb)

 , ,

filin
()