Уже долгое время разработчики во всем мире выбирают Python для большинства своих проектов. Python — второй по популярности язык на GitHub, крупнейшем веб-сервисе для хостинга IT-проектов и их совместной разработки.
Простота использования этого языка программирования, его эффективность в системах, как работающих, так и не работающих в режиме реального времени и широкий набор жизненно важных пакетов — вот лишь некоторые причины, по которым разработчики любят Python.
«Удовольствие от написания кода на Python заключается в том, что в итоге получаются короткие, лаконичные, читаемые классы, выражающие множество действий в небольшом количестве ясного кода, а не объёмный тривиальный код, читать который — скука смертная».
— Гвидо ван Россум, автор языка программирования Python
Такие языки программирования, как Python, позволяют воплощать проекты мечты в реальность и демонстрировать свой талант всему миру. Здесь я расскажу о некоторых лучших проектах GitHub, написанных на Python, не только чтобы вас вдохновить, но и дать представление о том, что можно сделать с помощью изобретательности и Python.
1. Manim
Оценён: 26,2 тыс.
Клонирован: 3,4 тыс.
Разработан: Grant Sanderson
Ссылка на GitHub: https://github.com/3b1b/manim
Manim расшифровывается как математическая программа анимации (англ. Mathematical Animation Engine). Идея этого проекта состоит в том, чтобы люди могли легко интегрировать в учебные материалы по математике весёлую и интуитивно понятную анимацию с графиками и диаграммами. Тем самым разрушается стереотип, что изучение математики обязательно должно быть скучным.
Грант Сандерсон ведет канал на YouTube, который называется 3Brown1Blue. Там он использует библиотеку Manim для создания и управления этими анимациями, чтобы обучать высшей математике свою аудиторию. Manim даёт возможность создавать анимированные видеоролики с точным контролем над анимацией, используемой для диаграмм и иллюстраций. Если эта идея кажется вам сомнительной, то переходите на канал Гранта и посмотрите, как это работает.
В этом Youtube-видео подробно рассказывается о возможностях программы (видео на английском языке).
2. DeepFaceLab
Оценён: 20,4 тыс.
Клонирован: 4,8 тыс.
Разработан: iperov
Ссылка на GitHub: https://github.com/iperov/DeepFaceLab
DeepFaceLab — один из самых интересных проектов GitHub на Python в этом списке. Это инструмент, который создаёт изображение и видео с применением технологии deepfake. Он позволяет делать забавные вещи, например, изменять или омолаживать лицо, менять лица местами и т. д. Чтобы достичь большей убедительности, можно даже изменить речь, но для этого нужны знания по работе в видеоредакторе.
Разработчик утверждает, что более 95% deepfake-видео в Интернете были созданы с помощью этого инструмента. На странице проекта на GitHub есть руководство и несколько наборов лиц для начала работы.
Здесь можно посмотреть инструкцию по созданию deepfake-видео с помощью DeepFaceLab (видео на английском языке).
3. Airflow
Оценён: 18,6 тыс.
Клонирован: 7,3 тыс.
Разработан: Apache Software Foundation
Ссылка на GitHub: https://github.com/apache/airflow
Airflow — это инструмент управления рабочим процессом с открытым исходным кодом на Python от организации Apache Software Foundation. Airflow позволяет выполнять ряд действий в рабочих процессах, например, создавать, планировать и отслеживать их. Рабочие процессы, если они определены как код, становятся намного проще в управлении, тестировании и совместной работе.
У него есть такие функции, как масштабируемость, динамическая генерация конвейера и расширяемость. У Airflow простой пользовательский интерфейс. Его устойчивые функции интеграции с другими инструментами и службами помогают получить от него максимальную пользу, экономя время. Airflow активно используется некоторыми крупными компаниями в отрасли, такими как Adobe, Lyft, Slack, Expedia и другими.
4. GPT-2
Оценен: 13,4 тыс
Клонирован: 3,4 тыс
Ссылка на GirHub: https://github.com/openai/gpt-2
GPT-2 — это огромная трансформационная языковая модель, которая обучается на столь же массивном наборе данных, а точнее на тексте с более чем 8 миллиардов веб-страниц. Её функция — предсказывать следующее слово/слова, когда есть часть слов или все предыдущие слова из контекста.
Проще говоря, вы вводите в GPT-2 часть текста, и языковая модель генерирует качественное длинное продолжение.
В репозитории GitHub есть код и модели для статьи проекта OpenAI «Языковые модели — неконтролируемые многозадачные ученики», а на странице — описание и несколько особенностей GPT-2.
5. XSStrike
Оценён: 8,5 тыс.
Клонирован: 1,2 тыс.
Разработан: Somdev Sangwan
Ссылка на GitHub:https://github.com/s0md3v/XSStrike
Межсайтовый скриптинг или XSS может стать причиной очень больших и неприятных проблем на сайте. Внедрив вредоносный код со стороны клиента, злоумышленник наносит ущерб сайту и неконтролируемым данным. XSStrike — это набор для обнаружения XSS, который сам по себе уникален.
Разработчик утверждает, что вместо простого тестирования случайных полезных нагрузок его инструмент анализирует сайты и генерирует специально спроектированные полезные нагрузки, которые работают. Вот несколько особенностей этого инструмента:
- анализ контекста;
- мощный фаззинг-движок;
- поддержка многопоточного анализа;
- поддержка при брутфорсе полезной нагрузки из файла;
- индивидуальный анализатор HTML и JavaScript;
- сканирование устаревших библиотек JavaScript.
В этом видео можно посмотреть подробный обзор на программу (видео на английском языке).
6. Загрузка изображений из Google
Оценён: 7,1 тыс.
Клонирован: 1,7 тыс.
Разработан: Hardik Vasa
Ссылка на GitHub: https://github.com/hardikvasa/google-images-download
Этот инструмент позволяет одновременно загружать на компьютер сотни изображений из Google. Вы устанавливаете библиотеку, выбираете команду, вводите нужные ключевые слова в качестве аргументов, и инструмент начинает творить чудеса. Он ищет изображения по ключевым словам в базе Google Images и загружает их.
Вы также можете использовать библиотеку из другого файла Python, и она всё равно будет работать в обычном режиме. Проект интересный и будет полезен, если вам вдруг понадобится загрузить все изображения из Google за один раз.
7. Photon
Оценён: 7 тыс.
Клонирован: 965
Разработан: Somdev Sangwan
Ссылка на GitHub: https://github.com/s0md3v/Photon
Photon — это мощный и простой в использовании веб-сканер, созданный с помощью Python. Лёгкий и быстрый сканер работает с технологиями разведки на основе открытых источников, что позволяет собирать и анализировать информацию, полученную из открытых источников.
Вот несколько источников, из которых Photon может сканировать информацию:
- URL-адреса, в том числе с параметрами;
- аккаунты в социальных сетях;
- адреса электронной почты;
- файлы, такие как PDF, PNG, XML документы;
- поддомены;
- файлы JavaScript.
Photon сохраняет всю извлеченную информацию упорядоченно, и её даже можно экспортировать в виде JSON-файла. Инструмент также предлагает различные параметры настройки, такие как регулирование времени ожидания, исключение определённых URL-адресов и многое другое. Советую обратить на него внимание.
8. NeuralTalk
Оценён: 5 тыс.
Клонирован: 1,2 тыс
Разработан: Andrej Karpathy
Ссылка на GitHub: https://github.com/karpathy/neuraltalk2
NeuralTalk — это проект создания подписей к изображениям на Python и NumPy, в котором используются мультимодальные рекуррентные нейронные сети. Благодаря развитию технологии и более эффективной поддержке, разработчик выпустил NeuralTalk2, улучшенную и более быструю версию NeuralTalk.
NeuralTalk2 использует пакетную реализацию при этом продолжает использовать рекуррентные нейронные сети. Новая версия основана на Torch, может работать на графическом процессоре, поддерживая тонкую настройку свёрточной нейронной сети. Хотя разработчик прекратил поддержку оригинальной версии NeuralTalk, она по-прежнему доступна на GitHub.
9. Xonsh
Оценён: 3,9 тыс.
Клонирован: 434
Ссылка на GitHub: https://github.com/xonsh/xonsh
Xonsh можно рассматривать как кроссплатформенный язык оболочки, работающий на Python. Xonsh намного улучшает работу с Python, даже с самыми простыми задачами, благодаря глубокой интеграции.
С Xonsh вместо того, чтобы набирать “$ echo 2+2”, можно использовать просто $ 2 + 2 и при этом получить правильный результат.
Начать работу с оболочкой Xonsh тоже очень просто: установите её с помощью команды, подходящей для вашей среды. Xonsh доступен для многих диспетчеров пакетов, включая pip, Conda, Apt, Brew и других.
Что касается функций Xonsh, он легко поддерживает скрипты, имеет большую стандартную библиотеку с типизированными переменными и многое другое.
10. Rebound
Оценён: 3,3 тыс.
Клонирован: 299
Разработан: Jonathan Shobrook
Ссылка на GitHub: https://github.com/shobrook/rebound
Ошибки компилятора часто бывают очень неприятными и сбивают с толку. Единственное решение — перейти на сайт Stack Overflow в поисках ответа или прочитать документацию. С помощью своего известного инструмента Rebound Джонатан Шобрук упростил процесс взаимодействия с такими досадными ошибками компилятора.
Принцип работы Rebound следующий: вы запускаете свой файл с помощью инструмента, и он проверяет наличие ошибок компилятора в файле и загружает вам любые связанные ответы с сайта Stack Overflow, которые находит.
Возможность Rebound загружать результаты как в терминале, так и в браузере может помочь не только новичкам, но и опытным программистам, позволяя не тратить время на бесконечный поиск ответов. На данный момент Rebound поддерживает только Python, Node.js, Ruby, Golang и Java.
Заключение
Творчеству нет предела. Такие проекты на GitHub хорошо демонстрируют, как могут проявиться творческие способности и таланты. Но это только верхушка айсберга. Python продолжает развиваться, и его можно использовать для разнообразных задач, если у вас есть знания и чёткое представление о том, чего вы хотите достичь. Пусть эта статья станет источником вдохновения для реализации ваших проектов.
Примечание: эта статья содержит личное мнение автора, и вы имеете полное право не согласиться с ним.
Читайте также:
- GitHub Codespaces: быстрая разработка на ходу с Flutter
- Синхронизация Git-репозиториев в режиме реального времени
- Как сжимать коммиты в Git с помощью git squash
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Claire D. Costa: Top 10 Trending Python Projects On GitHub