Designing a Human-Friendly CLI for API-Driven Infrastructure - Oliver Rew

Поделиться
HTML-код
  • Опубликовано: 13 сен 2024
  • Designing a Human-Friendly CLI for API-Driven Infrastructure - Oliver Rew - PyCon Italia 2024
    Elevator Pitch:
    In this talk, I will share our experience designing a CLI that dynamically updates itself based purely on API documentation, and describe some of the specific challenges and solutions to this problem.
    Description:
    As Bloomberg’s infrastructure grows and evolves, the tools we use to manage it are becoming increasingly important. To streamline infrastructure management, our team set out to design a REST API and constituent CLI (Command Line Interface) that would comprise a single interface for both programmatic and human interaction with our infrastructure. Traditionally, building a CLI that is tightly coupled to an API requires maintaining a separate codebase, which is tedious and error-prone. Instead, we designed a CLI that dynamically generates commands based on the OpenAPI JSON documentation. However, since APIs are designed for computer interaction, we designed our API to include the information needed to implement a human-friendly CLI. Leveraging Python, FastAPI, and numerous other open source projects, we built a stable, extensible tool that greatly improves how we interact with our infrastructure.
    Learn more: 2024.pycon.it/...
    #Documentation #APIs #FastAPI #Starlette

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