Рубрики
Без рубрики

5 библиотек Python мы любим

Nylas – это магазин Python, и пока мы используем много библиотек Python, вы ожидаете увидеть в E … Теги с инженером, API, Python.

Автор оригинала: Maria Moy.

Nylas – это магазин Python, и хотя мы используем много библиотек Python, вы ожидаете увидеть в кодовой базе API электронной почты, например, PateTime, imaplib и анализаторы XML, мы также используем тонну инструментов Python Python с открытым исходным кодом Стандартная библиотека. Эти решающие библиотеки спасли нас от переосмысления времени и времени и времени, и мы получили много пробега из них.

Код с открытым исходным кодом не только разрабатывается и оставлен на стоянии; Он регулярно поддерживается и продлен талантливыми и выделенными разработчиками Python. Двигатель NYLAS синхронизации , наша основная служба синхронизации данных по провайдерам Gmail, Microsoft и IMAP, начата как проект с открытым исходным кодом, который дает нам уникальную оценку для сопровождающих Python, которые отвечают на вопросы, слияние запросов на вылов и итерации на открытом – Инструменты мы используем каждый день.

Вот 5 наших любимых библиотек Python, и как мы их используем:

1. ptpython для быстрой и легкой внутренней инструментаровки

Когда вы работаете как многие услуги, поскольку мы делаем (сервис синхронизации, API, панель разработчики и сервис веб-капонов, чтобы назвать несколько!), С сотнями клиентов все используют вашу платформу уникальными способами и база данных Распределен по 200 осколков, итерацию на взаимосвязанные системы и проблемы отладки становится сложной проблемой.

ptpython Reft приносит автозаполнение, синтаксис подсветки и многослойное редактирование на оболочку Python, создавая надежную и настраиваемую среду Python. Мы используем его для улучшения консоли Python с предварительно загруженным текстом, функциями помощника и объектами для наших разработчиков и нашим инженерам успеха разработчиков для использования. Если в наших журналах появляется ошибка, мы сможем быстро загрузить объект Buggy в Python REPL, отладим корневую причину и экспериментировать с решениями непосредственно в оболочке Python.

И просто для удовольствия, мы сделали это красиво:

2. ExchangeLib для синхронизации данных из Microsoft

Мы работаем с большим количеством различных протоколов электронной почты, когда мы синхронизируем данные. Для Microsoft Счета, мы синхронизируем данные с Exchange ActiveSync (EAS) и Exchange Web Services (EWS), и мы используем Обменник в наших интеграциях EWS. Документация Microsoft трудно найти через поиск Google, а не интуитивно организованным, и ExchangeLib особенно хорош в отношении комментариев кода, чтобы включить ссылки обратно в соответствующую документацию, поэтому нам легко отслеживать описания более неясных атрибутов.

3. Tldextract для анализа URL

Если вы когда-нибудь пытались написать регулярное выражение, чтобы определить действительный URL, вы знаете, что это не так тривиально, как звучит. Нормальный .com.com.com , портить и .сеть Домены верхнего уровня достаточно легко, чтобы кодифицировать, но в эти дни .LIMO , .пицца и .утка все действительные суффиксы также. В нашем коде нам нужно анализировать URL-адреса для проверки адресов электронной почты и сервера, поэтому мы используем TLDEXTRACT Чтобы отделить протокол из домена, поддомен (ы) и суффикса в данном URL.

4. VCR для быстрого, Многоразовые тестовые приспособления

У Nylas мы работаем с множеством API, что означает, что мы делаем много HTTP-запросов. Упростить и ускорить тестирование, мы используем vcr Чтобы записать ответы от внутренних взаимодействий HTTP в нашем тестовом коде и сохраните их в плоский файл в нашей кодовой базе, называемый кассетом.

После того, как первоначальный ответ был записан, он «воспроизведен» более поздние тесты, поэтому нам не нужно делать прямые запросы на внешние API в нашем тестовом коде. Это делает наши тесты быстрое (больше нет действительных http-запросов), детерминированные (тест продолжит проходить, даже если вы вне форума) и точный (ответ будет содержать те же заголовки и тело, которые вы получаете от реального запроса).

5. ИСПОЛЬЗОВАНИЕ ДЛЯ ЗАКАЗОВАННЫХ КАХОВ

MailGun’s Срок действия Это отличный пример библиотеки, которая делает одно и делает это действительно хорошо. Их структура данных, основанные на коллекциях « » ЗаказДикт

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

Python находится в основе того, что мы делаем, и наша любовь к Python не ограничивается только нашей работой; Вы также можете найти нас настроить Python Боковые проекты давая переговоры в Pycon и посещение наших местных встреч. Удачи забавной библиотеки Python, которую вы хотите поделиться? Мы хотели бы услышать об этом!

Для получения дополнительной информации о том, как начать с NYLAS API, Нажмите здесь Отказ

Оригинал: “https://dev.to/nylas/5-python-libraries-we-love-1m3g”