import os
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent.parent
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-key-change-in-production')
import django_filters
from .models import Product
class ProductFilter(django_filters.FilterSet):
name = django_filters.CharFilter(lookup_expr='icontains')
import re
class APIVersionMiddleware:
"""Extract API version from request and add to request object."""
from typing import Literal, Tuple, Type
from pydantic import BaseModel, PostgresDsn, RedisDsn
from pydantic_settings import (
BaseSettings,
PydanticBaseSettingsSource,
import datetime
import jwt
from flask import current_app
class TokenError(Exception):
from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering
from sklearn.metrics import silhouette_score
from sklearn.preprocessing import StandardScaler
X_scaled = StandardScaler().fit_transform(X)
from typing import Any, Optional
from fastapi.responses import JSONResponse
from pydantic import BaseModel
from typing import List, Optional
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from .dataloader import DataLoader
from django.db import models
from django.core.exceptions import ValidationError
from django.utils import timezone
class Event(models.Model):
# Find products with specific spec value
products = Product.objects.filter(specs__weight__gte=100)
# Check if JSON key exists
products = Product.objects.filter(specs__has_key='color')
import time
import threading
from collections import deque, defaultdict
class SlidingWindowLimiter:
from marshmallow import (
Schema, fields, validates, validates_schema,
ValidationError, RAISE,
)
from marshmallow.validate import Length, Email, Equal