Skip to main content

A lite version of fastapi-filter for SQLAlchemy only

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.2.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for fastapi_sqlalchemy_filter-0.2.3.tar.gz
Algorithm Hash digest
SHA256 e31edb68a5d1fd5b5303e3ed4789ad0b7e6b7259adc55223505b02dadf2f3d37
MD5 6f146b5a6f6b3a0dcba7874519d4193d
BLAKE2b-256 b21bb73e985d662700c035cb839da1a3d6cbbe5576db542f4d493d1c36597d74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastapi_sqlalchemy_filter-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8c22af7181a98e4c79b295af3b2cefcd1db509fb1c53a415df5b64144de5c403
MD5 6861acb9801dc6c2f93b2d87071f34db
BLAKE2b-256 48674d286832c2ef8b27fb0be37144ea04e5e3a65fb279c68057f67680625117

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