Skip to main content

Uma calculadora básica com FastAPI

Project description

API Calculadora

Esta é uma API simples de calculadora construída usando FastAPI. A API fornece endpoints para realizar operações aritméticas básicas, como adição, subtração, multiplicação e divisão.

Funcionalidades

  • Realizar operações aritméticas básicas:
    • Adição
    • Subtração
    • Multiplicação
    • Divisão
    • Fatorial
    • Exponencial
    • Raiz Quadrada
  • Validação de entrada usando modelos do Pydantic.
  • Lida com divisão por zero de forma adequada, com mensagens de erro apropriadas.

Requisitos

  • Python 3.9 ou superior
  • Dependências listadas no arquivo requirements.txt:
    • fastapi==0.95.2
    • pydantic==1.10.7
    • uvicorn==0.22.0

Instalação

  1. Clone o repositório:

    git clone https://github.com/manuLemos/calculadoraAPI-lib.git
    cd calculadoraAPI-lib
    
  2. Crie um ambiente virtual e ative-o:

    python -m venv venv
    source venv/bin/activate  # No Windows: venv\Scripts\activate
    
  3. Instale as dependências:

    pip install -r requirements.txt
    

Executando a Aplicação

  1. Inicie o servidor FastAPI usando o Uvicorn:

    uvicorn app.main:app --reload
    
  2. Abra o navegador e navegue para:

    http://127.0.0.1:8000/docs
    

    Isso abrirá a documentação interativa da API (Swagger UI).

Endpoints da API

1. Adição

  • Endpoint: /add
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 8
    }
    

2. Subtração

  • Endpoint: /subtract
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 2
    }
    

3. Multiplicação

  • Endpoint: /multiply
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 15
    }
    

4. Divisão

  • Endpoint: /divide
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 6,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 2
    }
    
  • Tratamento de Erros:
    • Se b for 0, a API retornará:
      {
        "detail": "Division by zero is not allowed"
      }
      

5. Raiz Quadrada

  • Endpoint: /sqrt
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 9
    }
    
  • Resposta:
    {
      "result": 3
    }
    
  • Tratamento de Erros:
    • Se a for menor que 0, a API retornará:
      {
        "detail": "A raiz quadrada de um número negativo não é real."
      }
      

6. Exponencial

  • Endpoint: /exponent
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 2,
      "b": 4
    }
    
  • Resposta:
    {
      "result": 16
    }
    

7. Fatorial

  • Endpoint: /factorial
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5
    }
    
  • Resposta:
    {
      "result": 120
    }
    

Agradecimentos

  • Construído com FastAPI
  • Inspirado na simplicidade do Python para construir APIs.

Você pode instalar a biblioteca via pip:

pip install calculadora-manuesy-api

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calculadora_manuesy_api-0.1.2.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

calculadora_manuesy_api-0.1.2-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file calculadora_manuesy_api-0.1.2.tar.gz.

File metadata

  • Download URL: calculadora_manuesy_api-0.1.2.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for calculadora_manuesy_api-0.1.2.tar.gz
Algorithm Hash digest
SHA256 60275bbd7b34950cf193b118cc2b6c5b1b1e90249d47ed68138752f7d76e9eca
MD5 0c36aa6f58c0fe3f0f382cca924426b5
BLAKE2b-256 fa84c957688c53ecdaeecdbfc4134f86f6b50d09ff433e0ee90fa195ebe186b8

See more details on using hashes here.

File details

Details for the file calculadora_manuesy_api-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for calculadora_manuesy_api-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 552c9e5e3012aca89475a38ce7dbc8cbfe80b4f3fbb0b3039b6fdf25740d4730
MD5 c156b507cb54ff3398af432f09c4f4fe
BLAKE2b-256 97ab0f9395977a9b7e3cd83cc0e32d71f69f7de80d98ab91980e6006be02adbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page