Автор оригинала: FreeCodeCapm Team.
Адамом Голдшмидтом
Эта свобода, которую Гидо рассказывает о том, является частью того, что делает Python так популярен. Эта популярность, среди прочего, это то, что привлекает все больше и больше разработчиков использовать язык – в конечном итоге приводит к некоторым действительно удивительным проектам с открытым исходным кодом.
Я обычно нахожусь в проекте охота на Github один раз в день. На протяжении всей этой статьи я постараюсь прикрыть 10 замечательных пакетов, с которыми вы можете или не быть знакомы. Я начну меньше модных и в конечном итоге … ну, колба.
Давайте начнем!
Loguru – лесозаготовки сделано легко
Это действительно удивительный пакет, который я регулярно использую в моих проектах. Он описывает себя как «библиотека, которая стремится принести приятное ведение журнала в Python». Этот пакет просто позволяет легко настроить ваши журналы из коробки.
Все, что вам нужно сделать после установки, это импортировать модуль:
from loguru import logger
И вы можете использовать его из коробки:
logger.debug("Hello, cool debugger")
Документация хорошая, и есть много вариантов настройки.
more-itertools.
Разнообразные интересные методы, которые иногда могут прийти очень полезными, такие как Peekable
:
>>> p = peekable(['a', 'b'])>>> p.peek()'a'>>> next(p)'a'
или Раздраженный
:
>>> list(chunked([1, 2, 3, 4, 5, 6], 3))[[1, 2, 3], [4, 5, 6]]
MonkeyType – Статический тип аннотации Генератор
monkeytype run myscript.py
Этот пакет автоматически генерирует аннотации типа для вас, либо в файле заглушки, либо в самом коде исходного кода, собирая типы выполнения. Правильно, Python не обеспечивает применения вас, чтобы использовать аннотации – но я считаю, что они очень важны для чтения кода (а иногда и для избежания ошибок), что также поэтому в этом списке есть еще 2 пакета, которые являются аннотациями типа обработки: Несомненно
Pyrect – статический тип проверки типа
Увлекательный новый пакет, исходящий из Microsoft. Обязательство было всего 17 дней назад! Этот пакет является конкурентным MAPY (также в этом списке). Если честно у меня еще не было возможности использовать его, но я определенно планирую. В настоящее время я использую MyPy в качестве проверки типа, но я дам эту попытку!
Запросы-async – поддержка синтаксиса Async/en enaq для запросов
Это новый пакет, который я обнаружил на днях на Github, и кажется довольно многообещающим. Мы все знаем Запросы Пакет, который позволяет легко обращаться с HTTP-запросами в нашем коде. Ну, этот пакет реализует async
и ждать
Слова для этих запросов:
import requests_async as requestsresponse = await requests.get('https://example.org')print(response.status_code)print(response.text)
Довольно круто верно?
Httpie – современная командная строка curl
Те из вас, кто использовал скручивание ранее, должен знать, что это не так весело. Необходимость запомнить имена параметров, убедившись, что ваши данные будут заключены в инкапсулированные … Ну, httpie стремится сделать это намного проще. Вот один из их примеров, представления данных форм:
http -f POST example.org hello=World
Pipenv – лучшая упаковка для Python
Когда я начну новый проект, я всегда создаю новый Виртуальский
и установить некоторые основные пакеты с Пип
Отказ Затем мне нужно сохранить эти имена пакетов в файле, будь то Setup.py
или требования .txt
Отказ Те из вас, кто работал с NPM
, знаю, что там намного проще. Все, что вам нужно сделать, это написать NPM -Save
и имя пакета сохраняется в вашем Package.json
Отказ Вот почему я впервые создал pypkggfreeze простая упаковка для «замораживания» версий вашего используемого в настоящее время Пип
Пакеты в Setup.py
Отказ
Во всяком случае, Pipenv – это интересное решение, которое направлено на объединение двух миров – они описывают его лучше всего на странице репо:
Он автоматически создает и управляет VirtualenV для ваших проектов, а также добавляет/удаляет пакеты из вашего Pipfile
Как вы устанавливаете/удалите пакеты. Это также генерирует постоянно важные Pipfile.lock
, который используется для получения детерминированных сборки.
Вы можете попробовать это здесь Отказ
Mypy – статический тип проверки типа
Как я уже говорил, это пакет, который я использую в настоящее время в качестве своего стандартного статического типа для проверки типа. Это помогает мне держать свой код читаемого и элегантным (я думаю).
чернить
Я пробовал много форматиров Python, и черный
Ясно, что мой любимый. Синтаксис выглядит аккуратно, и командная строка работает быстро и может либо проверять файлы, либо фактически их редактировать – очень полезно для CI/CD. Вы можете даже попробовать это здесь!
колб
Не уверен, есть ли мне что-нибудь написать здесь, что не было написано ранее. Вы, вероятно, знакомы с этим удивительным микроформам Micro Framework, и если вы не можете .. Вы определенно должны проверить это.
Перед тем, как ты уйдешь…
Спасибо за прочтение! Вы можете следовать моему Github учитывать более крутые репо Я склонен к звезде каждую классную вещь, которую я вижу:)
Если вам понравилось эту статью, пожалуйста, удерживайте кнопку CLAP? чтобы помочь другим найти это. Чем дольше вы держите его, тем больше хлопья, которые вы даете!
И не стесняйтесь делиться своими мыслями в комментариях ниже.