Pull to refresh

PyRegs: анализатор регулярных выражений Python 3

Reading time 2 min
Views 7.5K

Когда не стало Kodos


Беда пришла неожиданно. Из Debian Wheezy изъяли старый, добрый PyQt3. А с ним на покой отправился и Kodos — мой любимый дебаггер регулярных выражений Питона. Много лет он помогал тестировать красивые и жуткие конструкци и тот факт, что apt-get install kodos больше не работает, вызвал желание немедленно исправить это досадное недоразумение.

Pyregs


Под капотом

PyRegs писался с нуля и компоненты выбирались с целью «чтобы работало долго и без лишних танцев с бубном». Python 2.7 под определение долго уже не подходит по той простой причине, что в какой-то момент времени его уберут из дистрибутивов GNU/Linux и стандартных пакетов других OS, полностью заменив на Python 3.х. PyQT, PySide, PyWx, PyGObject и т.д. — отличные решения, но танцев с бубном скорее не избежать: в одной ОС что-то есть и работает, в другой — нет или не работает. Но зачем использовать сторонние решения, когда
Tkinter is Python's de-facto standard GUI (Graphical User Interface) package.

У tkinter немало подводных камней, начиная с того, что Python-код транслируется в команды tcl и заканчивая отсутствием некоторых стандартных виджетов вроде tooltip. Чем не вызов программисту?! :) Таким образом выбор технологий стал очевидным: Python 3 + tkinter.

Что получилось

Пользователям Kodos интерфейс покажется очень знакомым:



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



Из невидимых глазу особенностей — обработка текста происходит в отдельном потоке, благодаря чему GUI не подвисает и показывает кол-во обработанного текста в процентах (на практике — такое случается лишь с ооочень сложными выражениями и очень длинным текстом).

Камрады!

Прошу вашего внимания, советов, замечаний и идей. Попробовать PyRegs очень просто:
$ apt-get install python3-tk
$
$ virtualenv env -p python3
$ . env/bin/activate
$ pip install pyregs
$ pyregs

Или: github.com/BasicWolf/pyregs

Благодарю за внимание!
Tags:
Hubs:
+30
Comments 2
Comments Comments 2

Articles