Skip to main content

A client for the fastapi environment

Project description

FastAPIClient

An easy to use, integrated client for FastApi,

  1. Uses the same decorators as FastApi
  2. Dose not require one to "recreate" clients and works out of the box.
  3. Allows defining the client "host" via the with command.
  4. Works with async as well.

BETA

This repo is in beta mode, some bugs may still exist and test coverage is not complete. PR's welcome.

TL;DR

To use the client you must call define the api,

from typing import Annotated
from fastapi import FastAPI, Cookie, Body
from fastapi_client import FastAPIClient

api = FastAPI()

# This is required in order to allow the fast api
# client to wrap around any function calls.
# NOTE: It DOSE NOT AFFECT the operation of the API, and it dose not slow it down
# in any way.
FastAPIClient.enable(api)

@api.get("/echo")
def echo(a: int, b: int):
    rslt = a + b
    print(rslt)
    return rslt

We then can (async methods, just add async),

from test_module import echo
from fastapi_client import FastAPIClient

# Call the function locally
echo(1,2)

# Call the function on the server running in localhost
with FastAPIClient("localhost:8080"):
    print(echo(1, 2))

Install

pip install fastapi_client

Contribution

Feel free to ping me in issues or directly on LinkedIn to contribute.

Future implementation

We plan to support multiple python version per environment.

Looking for help on this subject.

License

Copyright © Zav Shotan and other contributors. It is free software, released under the MIT licence, and may be redistributed under the terms specified in LICENSE.

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

fastapi_client-0.0.1.tar.gz (8.0 kB view hashes)

Uploaded Source

Built Distribution

fastapi_client-0.0.1-py3-none-any.whl (8.4 kB view hashes)

Uploaded Python 3

Supported by

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