Как стать автором
Обновить

Комментарии 17

Хм. Хочу уйти от ввода/вывода в своих программах в виде csv. Веб-сервисы и API выглядят более правильным решением. С какой стороны начать есть слона?)

Если это про питон, и сохранять в фаилы — посмотреть на pickle.
А вообще, csv — неплохой выбор, если фаилы нужно анализировать во внешнем софте или читать человеком (ака human-readable format)
Еще можно смотреть на базы данных. Часто, если немного подумать над форматом данных, он хорошо укладывается в реляцеонную базу данных или просто таблицу. Тогда смотреть на SQLAlchemy. Для начала можно использовать SQLite как бекэнд — большая база данных будет не нужна. Потом, если все идет хорошо — поставить postgres или mysql

Попробую, спасибо. А чем лучше веб API реализовать? Из самого простого для начала.

Я сам пользуюсь Flask.
Из плюсов, у него встроенный веб сервер для разработки, можно делать не только API, но и отдавать htlm сгенерированный из шаблонов jninja, и куча всего с этим связанного. Или просто return JSON(...). В продакшене нормально работает за nginx/uwsgi. Ну и освоение с нуля у него весьма простое.


Впрочем тут большой простор для выбора. Самый первый проэкт с веб апи я делал вообще на Bottle. Еще поискать по хабру, тут буквально на днях проскакивала статья на каком фреймвоке делать api на python.

Крайне признателен. Спасибо.
Недавно глянул на jinja и что-то опечалился самодельным синтаксисом и взял mako.

Посмотрел сейчас на mako по вашей ссылке и особо больших отличий от того что я использовал в Flask/jninja не увидел. Более того, они пишут что заимствовали идеи из много чего включая Jninja2.

Не, ну конечно все шаблонизаторы примерно одинаковые, только в mako вместо нового языка тот же питон с небольшими отличиями нужными для шаблонизатора
pickle — несколько не безопасная библиотека
лучше сразу SQLite или Postgres
ну и надо понимать задачи, если это CRUD, то тогда подойдёт REST, а значит нужно брать фреймфорки которые хорошо умеют OpenAPI, поддержка бывает разной, например connexion, пляшет вокруг самой спецификации — написал yaml файл, закодил функцию выполняющее действие и готово, а fastapi пляшет от кода в котором описаны типы данных и функции, а из него фреймворк генерит спецификацию и остальные плюшки вроде доков.

А если это вызов удалённых процедур (RPC), то надо смотреть в сторону JSON-RPC или gRPC, тогда уже не обязательно и веб фреймворк использовать, может и обычный демон быть, который принимает соединения или читает очередь с запросами, тут уже есть поле для дискусии, я не все варианты пробовал.
Стримлит позволяет сделать интерфейс вообще почти без усилий, если не стоит задача сделать конечный продукт то для служебных инструментов — лучшее соотношение результата и затраченных усилий.
Matplotlib и Bokeh хорошие варианты для визуализации данных.

Есть еще один продукт Dash: https://dash.plot.ly


И здесь про него уже писали https://habr.com/ru/post/431754/ но статья уже устарела местами.

Seaborn еще

Seaborn — это надстройка над Matplotlib. Кому возможностей Matplotlib маловато.

Формально — да. Но результат все же принципиально отличается.
Подскажите какие-нибудь проекты на Python для прокачки. Сделал небольшой сервис электронной библиотеки на Flask: авторизация пользователей, поиск книги, добавление книги авторизованным пользователям, небольшой личный кабинет у пользователей. Использовал базу данных SQLite, Flask, немного html и bootstrap. Хотелось бы сделать еще какой-нибудь проект, но не знаю что…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации