-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: ag-python/fastapi-radar
base: main
head repository: doganarif/fastapi-radar
compare: main
- 16 commits
- 60 files changed
- 3 contributors
Commits on Nov 5, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 4b94862 - Browse repository at this point
Copy the full SHA 4b94862View commit details -
feat: add JSON viewer, cURL export, time filters, and sensitive data…
… redaction - Add syntax-highlighted JSON viewer for request/response bodies and headers - Add cURL export functionality with one-click copy to clipboard - Add time-range filtering (Last Hour, 24h, 7d, All Time) - Add keyboard shortcuts (ESC to close drawer, / to focus search) - Add sensitive data redaction for passwords, tokens, API keys in bodies - Add example_nosql_app.py demonstrating usage without SQLAlchemy - Bump version to 0.2.2
Configuration menu - View commit details
-
Copy full SHA for 8cccb70 - Browse repository at this point
Copy the full SHA 8cccb70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3641724 - Browse repository at this point
Copy the full SHA 3641724View commit details -
Merge pull request doganarif#31 from doganarif/feat/ux-and-security-e…
…nhancements feat: Add UX improvements and security enhancements (JSON viewer, cURL export, time filters, redaction)
Configuration menu - View commit details
-
Copy full SHA for 4354caa - Browse repository at this point
Copy the full SHA 4354caaView commit details
Commits on Nov 7, 2025
-
feat: add request detail page and background task monitoring (v0.3.0)
- Add full-page request detail view with comprehensive tabs - Add background task monitoring with real-time status tracking - Add request replay with security safeguards - Fix router context for drawer navigation - Add clickable request IDs throughout - Improve type safety and error handling - Clean task names and add dynamic request_id support
Configuration menu - View commit details
-
Copy full SHA for 5463bf1 - Browse repository at this point
Copy the full SHA 5463bf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 94990a0 - Browse repository at this point
Copy the full SHA 94990a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 126f7ba - Browse repository at this point
Copy the full SHA 126f7baView commit details -
Merge pull request doganarif#33 from doganarif/feat/request-detail-an…
…d-bg-tasks feat: Add request detail page and background task monitoring (v0.3.0)
Configuration menu - View commit details
-
Copy full SHA for 33ed9b5 - Browse repository at this point
Copy the full SHA 33ed9b5View commit details
Commits on Nov 11, 2025
-
chore: bump version to 0.3.1 and fix package data configuration
- Update version to 0.3.1 in all version files - Add setuptools package data configuration to pyproject.toml - Fix dashboard static files not being included in package distribution - Update license format to {text = "MIT"} for better compatibilityConfiguration menu - View commit details
-
Copy full SHA for 079f8ea - Browse repository at this point
Copy the full SHA 079f8eaView commit details -
feat: add async engine support for storage_engine (doganarif#35)
* feat: add async engine support for storage_engine Add support for SQLAlchemy AsyncEngine in storage_engine parameter. Update create_tables() and drop_tables() to handle both sync and async engines. Use async_sessionmaker for async engines, sessionmaker for sync engines. Maintain backward compatibility with existing sync engine usage. Fixes doganarif#32 * fix: resolve mypy error for async engine session handling Use sync_engine from AsyncEngine for session operations to keep the existing synchronous session usage pattern throughout the codebase (middleware, capture, api, etc.) This approach: - Uses AsyncEngine for DDL operations (create_tables, drop_tables) - Uses sync_engine for session operations (middleware, capture, etc.) - Maintains type safety and passes mypy checks * fix: handle active event loop in create_tables/drop_tables Detect if an event loop is already running (e.g., FastAPI startup hooks) and run async DDL operations in a thread pool to avoid RuntimeError. This ensures create_tables() and drop_tables() work correctly: - When called directly (no event loop) - When called from async context (active event loop) - When called from FastAPI startup hooks Fixes the RuntimeError regression for legitimate async usage patterns. * Format * flake8 issues fix * chore: bump version to 0.3.2
Configuration menu - View commit details
-
Copy full SHA for 386e945 - Browse repository at this point
Copy the full SHA 386e945View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0655c53 - Browse repository at this point
Copy the full SHA 0655c53View commit details -
feat: add endpoint access permissions via auth_dependency parameter (d…
…oganarif#38) * feat: add endpoint access permissions via auth_dependency parameter Add optional auth_dependency parameter to Radar class that allows users to secure the dashboard and API endpoints with any FastAPI dependency function. Changes: - Add auth_dependency parameter to Radar.__init__() - Apply auth dependency to API router via dependencies parameter - Apply auth dependency to dashboard route via dependencies parameter - Add comprehensive documentation with examples (HTTP Basic, Bearer, Custom) - Add commented example in example_app.py showing HTTP Basic auth usage This provides maximum flexibility while maintaining backward compatibility. Users can implement any authentication mechanism (OAuth2, JWT, API keys, etc.) using standard FastAPI dependency patterns. Fixes doganarif#27 * black formatting * docs: add lean authentication examples Add three minimal examples demonstrating different auth approaches: - HTTP Basic authentication (example_auth_app.py) - Bearer token authentication (example_bearer_auth.py) - Custom API key authentication (example_custom_auth.py) Each example is self-contained and demonstrates how to use the auth_dependency parameter with different authentication methods. * chore: bump version to 0.3.4
Configuration menu - View commit details
-
Copy full SHA for 87aa590 - Browse repository at this point
Copy the full SHA 87aa590View commit details
Commits on Nov 12, 2025
-
feat: add comprehensive test suite and production-ready tooling (doga…
…narif#39) * feat: add comprehensive test suite and production-ready tooling Add 96 comprehensive tests covering all core modules with pytest markers (unit/integration/security). Add test coverage setup with 90% target. Create shared test fixtures. Add development tooling: Makefile, pre-commit hooks, enhanced CI/CD workflow. Add security scanning and quality gates. Fix all lint and type checking issues. * fix: update GitHub Actions to latest versions Update deprecated actions/upload-artifact from v3 to v4. Update other actions to latest versions: checkout v4, setup-python v5, cache v4, setup-node v4, codecov-action v4 * fix: adjust coverage threshold to 80% and fix client fixture Lower coverage requirement from 90% to 80% (current coverage is 84%). Fix client fixture to return TestClient directly instead of tuple. This resolves test failures in authentication and middleware tests. * fix: add check_same_thread=False to all integration test engines Fixes SQLite threading errors in integration tests by ensuring all storage engines are created with check_same_thread=False connection arg. * fix: add max_body_size parameter and nosec comments for bandit Add max_body_size parameter to Radar.__init__() to allow configuration. Add nosec comments to intentional try-except-pass blocks to suppress bandit warnings. This allows removing continue-on-error from CI. * fix: resolve remaining test failures and strengthen CI - Fix test_set_current_span to explicitly call set_current_span - Fix test_middleware_excludes_paths to properly setup Radar with excluded paths - Fix get_waterfall_data SQL to use SQLite-compatible julianday instead of EXTRACT - Remove continue-on-error from mypy and bandit checks for stricter quality enforcement - Keep safety check as continue-on-error due to potential API rate limits * fix: add missing imports in test_middleware.py Add missing FastAPI and Radar imports to fix flake8 F821 errors * formatting * fix: handle datetime as string in waterfall data query SQLite returns datetime columns as strings when using raw SQL text() queries. Added hasattr check to handle both datetime objects and strings, preventing AttributeError on .isoformat() call.
Configuration menu - View commit details
-
Copy full SHA for 0aa7404 - Browse repository at this point
Copy the full SHA 0aa7404View commit details
Commits on Nov 21, 2025
-
fix: Some pages do not support i18n. (doganarif#43)
* fix: Some pages do not support i18n. * fix: typo
Configuration menu - View commit details
-
Copy full SHA for ff32926 - Browse repository at this point
Copy the full SHA ff32926View commit details
Commits on Feb 25, 2026
-
Add PyPI badge and "Featured In" section to README
Include Python Weekly, PythonHub, and PythonHub Weekly Digest mentions.
Configuration menu - View commit details
-
Copy full SHA for a803b88 - Browse repository at this point
Copy the full SHA a803b88View commit details
Commits on Jun 23, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 3b17186 - Browse repository at this point
Copy the full SHA 3b17186View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...main