{"library":"secweb","title":"Secweb: Security Middlewares for FastAPI and Starlette","description":"Secweb is a pack of security middlewares for FastAPI and Starlette servers, providing features like Content Security Policy (CSP), HTTP Strict Transport Security (HSTS), and many more. It aims to offer easily configurable security headers with minimal overhead, implementing recommendations from MDN and OWASP. The library is currently at version 1.30.10 and is actively maintained.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install secweb"],"cli":null},"imports":["from Secweb import SecWeb","from Secweb import ContentSecurityPolicy"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import uvicorn\nfrom fastapi import FastAPI\nfrom Secweb import SecWeb\n\napp = FastAPI()\n\n# Initialize SecWeb to apply all default security headers.\n# Custom options can be passed via the 'Option' dictionary parameter.\nSecWeb(app=app)\n\n@app.get(\"/\")\nasync def read_root():\n    return {\"message\": \"Hello, secured World!\"}\n\n# To run this example:\n# 1. Save as a Python file (e.g., main.py)\n# 2. Run from your terminal: uvicorn main:app --reload\n# Check browser developer tools for applied security headers.","lang":"python","description":"This quickstart demonstrates how to integrate `Secweb` with a FastAPI application. By initializing `SecWeb` with your FastAPI app, all default security headers are automatically applied, enhancing the application's security posture. To test, run the app and inspect the HTTP response headers.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"1.30.10","pypi_latest":"1.30.10","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.6,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"18.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"19M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"20.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"21M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"12.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"13M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"17.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"secweb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.8,"import_time_s":null,"mem_mb":null,"disk_size":"18M"}]}}