Skip to main content

A simple FastAPI filter for SQLAlchemy

Project description

FastAPI filter

Compatibility

Required:

  • Python: >=3.8, <3.12
  • Fastapi: >=0.78, <0.93
  • Pydantic: >=1.10.0, <2.0.0

Optional

  • SQLAlchemy: >=1.4.36, <2.1.0

Installation


# Lite version
pip install fastapi-sqlalchemy-filter-lite

Documentation


This package was inspired by arthurio

The package is a lite version for SQLAlchemy only with a few modifications to it.

Please visit this site to view the full documentation: https://fastapi-filter.netlify.app/

Modifications / Additions


You can import the Filter class and create a filter on the fly:

from fastapi_sqlalchemy_filter import Filter

user_dict = {'name': 'Jon Snow', 'clan': 'Targaryen'}
user_filter = Filter(**user_dict)

Package returns None if an ordering field is not present on the class definition.

Note: No user action is needed on this part

This function was modified from:

...
    @property
    def ordering_values(self):
        """Check that the ordering field is present on the class definition."""
        try:
            return getattr(self, self.Constants.ordering_field_name)
        except AttributeError:
            raise AttributeError(
                f"Ordering field {self.Constants.ordering_field_name} is not defined. "
                "Make sure to add it to your filter class."
            )
...

To

...
    @property
    def ordering_values(self):
        """Check that the ordering field is present on the class definition."""
        if hasattr(self, self.Constants.ordering_field_name):
            return getattr(self, self.Constants.ordering_field_name)
        return None
...

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_sqlalchemy_filter-0.1.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file fastapi_sqlalchemy_filter-0.1.0.tar.gz.

File metadata

File hashes

Hashes for fastapi_sqlalchemy_filter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 65eae1e1deaab8b9ab7034556695aa89bdb3bdc58455b18f52863ec2bca42a46
MD5 06621530758fbc8441590a1d4e7223c5
BLAKE2b-256 49d1a88a97ddd1be561478505cf6a6251729a7f9786b248bc368135f17a086e1

See more details on using hashes here.

File details

Details for the file fastapi_sqlalchemy_filter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_sqlalchemy_filter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c236d11b016d12eca29e3ffe63b376a296e4b61066a5f7acefa07eb1e8d4c134
MD5 0dc7fd8818c2f00225733257f64222b0
BLAKE2b-256 253cdad1569d5fd8e5ae3d3162aebd45fa47575dfd4cb1c5d06c689347194e7a

See more details on using hashes here.

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