52 скрипта без pip install
Есть задачи, которые появляются раз в несколько месяцев. Найти дубликаты в папке. Посчитать размер директории. Посмотреть, открыт ли порт. Сгенерировать пароль. Перебрать CSV-файл.
Каждый раз — один и тот же выбор: гуглить команду, которую забыл, или ставить библиотеку ради одного запуска. Оба варианта раздражают.
Я начал складывать такие вещи в один репозиторий. Поставил себе ограничение: никаких внешних зависимостей. Только Python 3.10+ и стандартная библиотека. Один файл — один инструмент.
Получилась simple-scripts-collection — 52 скрипта в семи категориях.
Файловые операции, обработка данных, сетевые инструменты, безопасность, системные утилиты, инструменты для разработки, конвертация форматов. Каждый скрипт запускается через --help, работает самостоятельно, не требует ничего устанавливать.
python simple-duplicate-finder.py ~/Downloads --delete
python simple-port-scanner.py -t 192.168.1.1 -p 1-1024
python simple-password-generator.py -l 20
python simple-csv-stats.py data.csv -c price
Stdlib в Python недооценивают. pathlib, hashlib, csv, json, socket, http.server, sqlite3, zipfile — это покрывает огромную часть ежедневных задач без единого pip install. Скрипт можно скинуть коллеге, и он запустится сразу — не нужно объяснять, как создать виртуальное окружение.
Я не собирался публиковать это как проект. Просто в какой-то момент скриптов накопилось достаточно, чтобы оформить. Почистил, добавил --help, разложил по папкам.
Некоторые скрипты использую несколько раз в неделю. Некоторые — раз в год. Но когда нужны — они есть, и не нужно ничего вспоминать.
Одиночный файл без зависимостей — недооценённая архитектура.