29 Python-проектов, оказавших огромное влияние на разработку

Пишете код на Python? Собрали для вас подборку полезных Python-проектов, которые спасали разработчиков на протяжении 2018 года.


Обожаете программирование на Python? Еще бы: это один из наиболее функциональных, простых и популярных языков программирования. К примеру, сегодня его применяют даже в веб-разработке, а для машинного обучения и анализа данных он стал языком по умолчанию.

Совокупность вышеперечисленных факторов, плюс гибкость и производительность помогают разработчикам по всему миру создавать первоклассные продукты. В этой статье мы собрали список Python-проектов, которые оказали огромное влияние на разработку.

1. Keras

Keras − полноценный API нейронных систем, написанный на языке Python. Он предназначен для работы с TensorFlow, Theano или CNTK. Особое внимание уделили инструментам для быстрого проведения экспериментов.

Keras в первую очередь создан для создания прототипов: этому способствует его модульность, удобство использования и расширяемость.

Он поддерживает как рекуррентные, так и свёрточные нейросети, а также их комбинации RNN+CNN.

2. PyTorch

Инструмент, собравший больше 25 тысяч звёзд на GitHub, представляет собой динамические и тензорные нейронные системы в Python с ускорением графического процессора.

При желании можно использовать пакеты Python, например, SciPy, NumPy и Cython, чтобы расширить возможности PyTorch.

Пакет проектов PyTorch используется либо в качестве замены NumPy для использования функций графических процессоров, либо как платформа для глубокого анализа, обеспечивающая максимальную скорость и гибкость.

3. Scikit-learn

Это многофункциональный, но при этом простой инструмент для анализа данных (data mining). Он был представлен Дэвидом Курнапо на конференции Google Summer of Code в 2007 году и впоследствии доработан программистами-энтузиастами.

Бесплатный проект имеет открытый исходный код и разрешает использование в коммерческих целях.

Разработанный с применением matplotlib и NumPy, он содержит в себе множество эффективных инструментов для статистического моделирования, а также машинного обучения, включая классификацию, кластеризацию, регрессию и снижение размерности. Он также поможет вам в извлечении элементов из текста и изображений.

4. Som-tsp

Репозиторий содержит реализацию самоорганизующейся карты, которую можно использовать для поиска решений проблемы коммивояжера.

5. Theano

Проект с открытым исходным кодом был разработан в Университете Монреаля для эффективной работы с массивами (многомерными в том числе). Для максимально быстрой работы на графических и центральных процессорах, он применяет пользовательские структуры и преобразовывает их в динамичный код, использующий NumPy, собственный C++ код, библиотеки проекта вроде BLAS.

6. SimpleCoin

Этот проект может быть интересен тем, кто увлекается блокчейн-технологиями и криптовалютами. Одной из основных возможностей репозитория с тысячей звезд на GitHub является разработка клона Bitcoin.

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

7. Gensim

Бесплатная Python-библиотека, основными функциями которой являются анализ простых текстовых файлов на предмет семантической структуры и восстановление семантически связанных файлов.

Эта программа основана на двух пакетах Python: Scipy и NumPy. Целевая аудитория ПО – специалисты по поиску информации (IR) и обработке естественного языка (NLP). Он включает динамическое многоядерное исполнение алгоритмов, таких как:

  • Латентное размещение Дирихле (LDA)
  • Латентный семантический анализ (LSA / LSI / SVD)
  • Иерархический процесс Дирихле (HDP)
  • Метод случайных проекций (RP)
  • Глубокое обучение word2vec

8. Sentry

Sentry – инструмент для администрирования. Он содержит функции управления и устранения сбоев в режиме реального времени. Поддерживает язык программирования Python, Ruby, Java, JS, iOS, Django, .NET, etc.

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

9. Pylearn2

Pylearn2 − это Python библиотека для машинного обучения, созданная с опорой на возможности Theano, о котором мы говорили выше. Вы можете писать модули Pylearn2, − алгоритмы, новые модели, − используя математические выражения, а Theano упростит и оптимизирует эти выражения для GPU или CPU.

10. Cookiecutter

Это утилита командной строки, которая создает проекты из cookiecutters, например, проекты пакетов Python, проекты плагинов jQuery. Официально совместим с платформами Mac, Windows и Linux, поддерживает Python 3.4, 3.5, 3.6, 2.7 и PyPy.

11. Python-fire

Это библиотека от выходцев из команды Google Brain с более чем 13 тысячами звёзд на GitHub. Предназначена для автоматического создания интерфейсов командной строки из любого объекта Python.

Это ценный инструмент для генерации и отладки кода Python. Просто напишите функцию, модуль или класс, который нужно найти в строке, и вызовите Fire. Это расширение подготовит ваш CLI к работе.

12. Detectron

Фреймворк от команды Facebook AI Research лучше остальных выполняет задачу обнаружения объектов, включая маску R-CNN. Создан на языке Python с применением Caffe2.

13. Multidiff

Если у вас были проблемы с объектами и структурами данных, тот этот инструмент для вас. Его цель − сделать понятные для машины данные более понятными для людей, которые их анализируют.

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

К примеру, может использоваться для обратного инжиниринга и анализа двоичных данных.

14. Rebound

Перед вами инструмент командной строки, который за доли секунды после обнаружения ошибки выдаёт способы решения на Stack Overflow. Чрезвычайно удобная Python библиотека для разработчиков программного обеспечения, которая поддерживается на платформах MacOS, Windows и Linux.

15. Chainer

Основанная на Python система с открытым исходным кодом для моделей глубокого обучения. Она представляет собой интуитивно понятные, адаптируемые и элитные методы для выполнения полного спектра процессов глубокого обучения, в том числе вариационные автоэнкодеры (VAE) и рекуррентные нейронные сети.

16. Statsmodels

Это модуль Python, который позволит оценивать статистические модели, исследовать данные и выполнять статистические тесты. Содержит широкий перечень описательных инструментов, функций построения графиков, статистических тестов и результатов для различных типов данных.

17. WhatWaf

Это один из известных Python-проектов, который помогает обходить ограничения защитных систем веб-приложений.

18. Flask

Flask − микрофреймворк для разработки веб-приложений. Доступный набор функций и возможности для масштабирования делают его привлекательным для Python-проектов.

19. Nilearn


Это модуль Python для быстрого обучения на базе данных нейровизуализации. Он использует набор инструментов Python scikit-learn для многовариантного анализа приложений, например, классификации, прогнозного моделирования, анализа связности или декодирования.

20. Pipenv

Pipenv − это популярная рабочая среда для разработчиков на Python. Она поможет вам без труда оптимизировать рабочие процессы.

Инструмент предназначен для того, чтобы предлагать разработчикам и пользователям приложений простую стратегию настройки рабочей среды. Содержит такие важные вещи, как composer, bundler, npm, yarn, load и другие.

21. TensorFlow Models

Open-source репозиторий, в котором собраны лучшие практики реализации технологий TensorFlow, который в свою очередь позволит вам быстро обучать модели, мгновенно выполнять итерации и запускать больше тестов.

22. Mask R-CNN

Предназначен для сегментации и обнаружения объектов с помощью Keras, Python 3 и TensorFlow. Взаимодействуя с сетями ResNet101 и FPN, модель способна сегментировать и маскировать объекты на изображениях.

23. Snallygaster

Must-have для поиска скрытых файлов на веб-серверах, которые могут представлять угрозу безопасности. Обычно используется для обнаружения конфиденциальной информации или утечки данных. Целевая аудитория − специалисты по безопасности, разработчики и системные администраторы. Среди типов файлов, которые может обнаружить сервис, − резервные копии, состояние Apache, файлы конфигурации, Git, закрытые SSH-ключи, веб-оболочки, SVN.

24. spaCy (v2.0)

Инструмент для обработки естественного языка (NLP) с помощью Cython и Python. Основными преимуществами являются простота использования и загрузка собственных компонентов и моделей.

25. Pyray

Один из немногих инструментов для 3D-рендеринга на Python. Пригодится вам для визуализации сложных трехмерных объектов и сцен, анимации и многого другого в рамках Python-проектов. В теории, его можно использовать при создании видео, видеоигр, симуляторов.

26. Magenta

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

27. MicroPython

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

28. Dash

Разработанный на основе Plotly.js, Flask и React, Dash связывает современные компоненты пользовательского интерфейса, такие как ползунки, выпадающие списки и диаграммы, с кодом на Python (не требует никакого JavaScript!). Кроме того, код приложения Dash является восприимчивым и декларативным. Это упрощает создание сложных приложений, включающих многочисленные интерактивные компоненты.

29. Kivy

Кроссплатформенная система с открытым исходным кодом Python для продвижения приложений, в которых используются мультисенсорные пользовательские интерфейсы. Цель этого проекта на Python − быстрое и простое проектирование взаимодействия и создание прототипов без ущерба для кода, возможность для развертывания и повторного использования.

Понравилась подборка крутых Python-проектов? Возможно, вас заинтересует следующее:

Источник: Набор влиятельных Python-проектов на ProBytes

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

admin
11 декабря 2018

ООП на Python: концепции, принципы и примеры реализации

Программирование на Python допускает различные методологии, но в его основе...
admin
14 июля 2017

Пишем свою нейросеть: пошаговое руководство

Отличный гайд про нейросеть от теории к практике. Вы узнаете из каких элеме...