Skip to main content

Meilisearch integration with FastAPI

Project description

Meilisearch FastAPI

CI Status pre-commit.ci status Coverage PyPI version PyPI - Python Version

Meilisearch FastAPI provides FastAPI routes for interacting with Meilisearch.

⚠️This project has been archived and is no longer supported. If you are using Meilisearch with FastAPI you can use meilisearch-python-sdk it integrate Meilisearch.

Installation

Using a virtual environmnet is recommended for installing this package. Once the virtual environment is created and activated install the package with:

pip install meilisearch-fastapi

Useage

Routes are split in groups so that different dependencies can be injected, and therefore different levels of access, can be given to different groups of routes.

Example with no authentication required for routes

from fastapi import APIRouter, FastAPI
from meilisearch_fastapi.routes import (
    document_routes,
    index_routes,
    meilisearch_routes,
    search_routes,
    settings_routes,
)

app = FastAPI()
api_router = APIRouter()
api_router.include_router(document_routes.router, prefix="/documents")
api_router.include_router(index_routes.router, prefix="/indexes")
api_router.include_router(meilisearch_routes.router, prefix="/meilisearch")
api_router.include_router(search_routes.router, prefix="/search")
api_router.include_router(settings_routes.router, prefix="/settings")

app.include_router(api_router)

Example with routes requiring authentication

from fastapi import APIRouter, FastAPI
from meilisearch_fastapi.routes import (
    document_routes,
    index_routes,
    meilisearch_routes,
    search_routes,
    settings_routes,
)

from my_app import my_authentication

app = FastAPI()
api_router = APIRouter()
api_router.include_router(document_routes.router, prefix="/documents", dependeincies=[Depends(my_authentication)])
api_router.include_router(index_routes.router, prefix="/indexes", dependeincies=[Depends(my_authentication)])
api_router.include_router(meilisearch_routes.router, prefix="/meilisearch", dependeincies=[Depends(my_authentication)])
api_router.include_router(search_routes.router, prefix="/search", dependeincies=[Depends(my_authentication)])
api_router.include_router(settings_routes.router, prefix="/settings", dependeincies=[Depends(my_authentication)])

app.include_router(api_router)

The url for Meilisearch, weather an https address should be used, and API key are read from environment variables. Putting these into a .env file will keep you from having to set these variables each time the terminal is restarted.

MEILI_HTTP_ADDR=localhost:7700  # This is the url for your instance of Meilisearch
MEILI_HTTPS_URL=true  # Setting this specifies the address should be https://. If false or not included the address will be http://
MEILI_MASTER_KEY=masterKey  # This is the API key for your Meilisearch instance

Now the Meilisearch routes will be available in your FastAPI app. Documentation for the routes can be viewed in the OpenAPI documentation of the FastAPI app. To view this start your FastAPI app and naviate to the docs http://localhost:8000/docs replacing the url with the correct url for your app.

Contributing

Contributions to this project are welcome. If you are interested in contributing please see our contributing guide

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

meilisearch_fastapi-0.21.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

meilisearch_fastapi-0.21.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file meilisearch_fastapi-0.21.1.tar.gz.

File metadata

  • Download URL: meilisearch_fastapi-0.21.1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.13 Linux/6.11.0-1018-azure

File hashes

Hashes for meilisearch_fastapi-0.21.1.tar.gz
Algorithm Hash digest
SHA256 015f916f33958295b65067dbc69a2d1aa8b19f67aa1494d1f314f3ba19f343b0
MD5 8fdc2039fc1d83234b7ff80252c994b3
BLAKE2b-256 c5b1c618cd2089214efbd87329f2b2fa30340fa23a0dfba5bedbdb2e58d7d6ce

See more details on using hashes here.

File details

Details for the file meilisearch_fastapi-0.21.1-py3-none-any.whl.

File metadata

  • Download URL: meilisearch_fastapi-0.21.1-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.13 Linux/6.11.0-1018-azure

File hashes

Hashes for meilisearch_fastapi-0.21.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6efed70473ddefea4a4fcdf033556b607ac356fde7ec774fb2b89c6a29c97ee0
MD5 6e6ed423d393bfc6923be21e8d0d9988
BLAKE2b-256 aa43a46497636565f85624044d70e8e1aed3879fb9ff77490982c668f0759165

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