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

Flask Read API: Фонды проекта

Как работает этот пост этот пост является частью серии, которая расседает мой метод для создания … Теги с Python, Flask, WebDev, учебником.

Как работает этот пост

  1. Этот пост является частью серии, которая рассекает мой метод для создания API отдыха с помощью Python и Flask.
  2. Каждый пост написан под предположение, что читатель прочитал и понял все предыдущие сообщения в серии.
  3. Я буду пытаться объяснить каждый выбор, сделанный по пути. Если вы чувствуете, что оставили что-то, пожалуйста, укажите его в комментарии ниже.
  4. Каждый раздел объясняет, почему и как использовать конкретную технику или технологию. Не стесняйтесь пропустить разделы, с которыми вам уже комфортно.
  5. Исходный код, сгенерированный для этой серии, можно найти на GitHub.

dbanty/python-отдых

Образец проекта, показывающий базовый API для отдыха колба

Привет! Я создал этот репо, чтобы отслеживать блог пост серии о колбе, но я никогда не закончил и никогда не будет. Я фактически перестал использовать колбу в пользу fastapi и рекомендую сделать то же самое для действительно замечательного опыта в создании API на отдых Python.

В этом посту

К концу этого поста вы увидите основы того, как я создал проект Python и прочитал некоторые из моих оправданий для базовых технологий и методов. Я имел в виду для этого поста, чтобы привлечь вас к базовым запущенным приложением с колбы с тестами, но я в отпуске и не хватаю временем, так что будет в следующем посте. Вот что я буду покрывать:

  1. ОТДЫХ
  2. Питон
  3. пинв
  4. Пичарма
  5. Структура проекта
  6. Поэзия
  7. Колбы

ОТДЫХ

Существует несколько техник для создания веб-API. Я не буду пытаться охватить все плюсы и минусы различных методов, вы можете написать целые книги, сравнивающие и контрастирующие. Я использую отдых при создании API для двух основных причин:

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

Питон

Есть тонна причин использовать Python (или не использовать Python). Их можно найти по всему Интернету гораздо более подробно, чем я пойду сюда. Чтобы оставаться верным моему обещанию об объяснении каждого решения дизайна, вот быстрый список нескольких вещей, которые мне нравятся:

  • Быть интерпретированным, это чрезвычайно гибко, перекрестная платформа, и очень легко отлаживать
  • Есть зрелый веб-каркас ECOSYSTEM
  • Есть множество пакетов для почти все
  • Он популярен с учеными данных, которые могут пригодиться тем, кто хочет потреблять вашу API.
  • Я очень комфортно с этим, потому что я использую его для работы

пинв

Самые серьезные разработчики Python должны будут управлять несколькими версиями Python на их машине для разработки одновременно. Если вы используете поэзию (которая я делаю), вам нужно иметь какой-то инструмент для этого. Я использую MacOS, и лучший способ сделать это, в этой операционной системе используют инструмент под названием PENV. Начало работы действительно легко:

  1. Установить домощь: /usr/bin/ruby -e "$ (curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
  2. Установить Пьенв: Brew Установить Пьенв
  3. Включить прокладки: echo -e 'if command -v pyenv 1>/dev/null 2> & 1; Тогда \ n eval "$ (init init -)" \ nfi '>> ~/.bash_profile
  4. Перезапустите свою оболочку
  5. Установите нужную версию Python PENV Установить 3.7.3

Пичарма

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

Структура проекта

Это тема, которую я не думаю, что разговаривает достаточно, проектная структура! Большинство учебных пособий Python просто вы поставили кучу кода в папку и запустить ее. Это отлично подходит для того, чтобы получить кого-то, как можно быстрее, но не устойчиво. Я структурую все мои проекты Python, независимо от их цели, в чем я называю «структуру пакета». Это выглядит немного-то вроде этого:

python-rest
|-- README.md
|-- pyproject.toml
|-- python_rest
|   `-- __init__.py
`-- tests
    `-- conftest.py

Здесь «имя пакета» – «Python-Read». Вся логика приложения (Real Code, который работает) идет в модуле «Python_Rest». Метаданные проекта идут в корне пакета. Испытания идут в каталоге тестов. Обратите внимание, что имена пакетов, как правило, используются дефис-разграниченные и имена модулей являются Snake_Case. Не все следует этой конвенции Но достаточно распространено, чтобы я взял его. Вот некоторые из преимуществ использования структуры пакета для всех ваших проектов:

  • Это отделяет бизнес логику от всего остального
  • Это позволяет легко создавать свой проект в какой-то комплектный формат для публикации/развертывания (E.G. колеса).
  • Поскольку все находится в правильном пакете, вы всегда можете использовать относительный импорт и правильное расстояние от имени (все время всплывает все время, если вы не согласуетесь).

Поэзия

Все мои оправдания для использования поэзии уже объединены в серии о управлении пакетом Python, проверьте его, если вы еще этого не сделали.

Продуктовый питон с поэзией

Дилан Энтони · 18 мая ’19 · 3 мин прочитан

Начать работу с поэзией:

  1. Установите его: Curl -ssl https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | питон
  2. Перезапустите свою оболочку
  3. Перейти к вашему каталогу проекта
  4. Создайте себя pyproject.toml : поэзия init.

    1. Вам будут задавать вопросы, просто заполните их
  5. Настройка PENV Чтобы использовать правильную версию Python: Пьенв Местный 3.7.3
  6. Настройте поэтацию, чтобы поставить вашу виртуальную среду в каталог проекта: Poetry Config aturements.virtualenvs.in-проект true
  7. Создайте свою виртуальную среду: Установка поэзии
  8. Скажите пичарму, чтобы использовать эту виртуальную среду
    1. Открытые предпочтения
    2. Перейти к проекту> Переводчик проекта
    3. Нажмите на маленькое снаряжение в правом верхнем углу, затем добавьте
    4. Выберите виртуальную среду> Существующая среда
    5. Это часто автоматически выберите папку .venv. Если это не так, вы должны просмотреть/.venv/bin/python

Сделанный! Вы созданы с виртуальной средой и готовы начать добавлять зависимости.

Колбы

Флэк является одним из самых популярных веб-каркасов Python (я думаю, что это # 2 прямо за Джанго прямо сейчас). Его дизайн философии состоит в том, чтобы иметь относительно небольшое ядро с огромной библиотекой расширений, чтобы добавить любые функциональные возможности, которые вы хотите. Это не самое проще всего начать, но это очень мощно.

  1. Добавить колбу в свой проект: Поэзия Добавить колбу

Вы отметите, что поэзия устанавливает его в вашу виртуальную среду, добавляет его к вашему pyproject.toml Файл в качестве зависимости и отмечает конкретные версии и хэши библиотек, которые вы используете в Поэзия. Блок файл.

Извините, что этот пост не получает вам что-нибудь, что вы можете запустить. Как я уже говорил в начале, у меня не хватало времени. Я постараюсь получить следующий пост быстрее, чтобы вы могли видеть, как работает колба!

Оригинал: “https://dev.to/dbanty/python-rest-api-project-foundations-f61”