Compare commits
1 Commits
main
...
9c55240534
| Author | SHA1 | Date | |
|---|---|---|---|
| 9c55240534 |
@@ -1,5 +1,5 @@
|
||||
# Build Stage
|
||||
FROM hugomods/hugo:0.155.3 AS build
|
||||
FROM hugomods/hugo:0.154.2 AS build
|
||||
|
||||
ARG BLOWFISH_VERSION
|
||||
|
||||
@@ -7,7 +7,7 @@ WORKDIR /opt/blog
|
||||
COPY . /opt/blog/
|
||||
|
||||
RUN git submodule update --init --recursive && \
|
||||
git -C themes/blowfish/ checkout v2.98.0
|
||||
git -C themes/blowfish/ checkout v2.93.0
|
||||
RUN hugo
|
||||
|
||||
# Publish Stage
|
||||
|
||||
@@ -11,7 +11,7 @@ title = "d3vyce Blog"
|
||||
logo = "img/author_transparent.webp"
|
||||
# secondaryLogo = "img/secondary-logo.png"
|
||||
description = "Hi 👋, Welcome to my Blog!"
|
||||
copyright = "d3vyce 2021-2026 © All rights reserved."
|
||||
copyright = "d3vyce 2021-2025 © All rights reserved."
|
||||
|
||||
[params.author]
|
||||
name = "d3vyce"
|
||||
|
||||
BIN
content/posts/my-current-homelab/featured.png
LFS
Normal file
BIN
content/posts/my-current-homelab/featured.png
LFS
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,82 +0,0 @@
|
||||
---
|
||||
title: "Fastapi-Toolsets"
|
||||
date: 2026-01-25
|
||||
slug: "fastapi-toolsets"
|
||||
showAuthor: false
|
||||
showWordCount: false
|
||||
showReadingTime: false
|
||||
showRelatedContent: false
|
||||
showPagination: false
|
||||
tags: ["python", "fastapi", "package", "toolsets"]
|
||||
---
|
||||
|
||||

|
||||
{{< github repo="d3vyce/fastapi-toolsets" >}}
|
||||
|
||||
> Production-ready utilities for FastAPI applications
|
||||
|
||||
A modular collection of production-ready utilities for FastAPI. Install only what you need — from async CRUD and database helpers to CLI tooling, Prometheus metrics, and pytest fixtures. Each module is independently installable via optional extras, keeping your dependency footprint minimal.
|
||||
|
||||
[](https://github.com/d3vyce/fastapi-toolsets/actions/workflows/ci.yml)
|
||||
[](https://codecov.io/gh/d3vyce/fastapi-toolsets)
|
||||
[](https://github.com/astral-sh/ty)
|
||||
[](https://github.com/astral-sh/uv)
|
||||
[](https://github.com/astral-sh/ruff)
|
||||
[](https://www.python.org/downloads/)
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
|
||||
---
|
||||
|
||||
**Documentation**: [https://fastapi-toolsets.d3vyce.fr](https://fastapi-toolsets.d3vyce.fr)
|
||||
|
||||
**Source Code**: [https://github.com/d3vyce/fastapi-toolsets](https://github.com/d3vyce/fastapi-toolsets)
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
The base package includes the core modules (CRUD, database, schemas, exceptions, fixtures, dependencies, logging):
|
||||
|
||||
```bash
|
||||
uv add fastapi-toolsets
|
||||
```
|
||||
|
||||
Install only the extras you need:
|
||||
|
||||
```bash
|
||||
uv add "fastapi-toolsets[cli]" # CLI (typer)
|
||||
uv add "fastapi-toolsets[metrics]" # Prometheus metrics (prometheus_client)
|
||||
uv add "fastapi-toolsets[pytest]" # Pytest helpers (httpx, pytest-xdist)
|
||||
```
|
||||
|
||||
Or install everything:
|
||||
|
||||
```bash
|
||||
uv add "fastapi-toolsets[all]"
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
### Core
|
||||
|
||||
- **CRUD**: Generic async CRUD operations with `CrudFactory`, built-in full-text/faceted search and Offset/Cursor pagination.
|
||||
- **Database**: Session management, transaction helpers, table locking, and polling-based row change detection
|
||||
- **Dependencies**: FastAPI dependency factories (`PathDependency`, `BodyDependency`) for automatic DB lookups from path or body parameters
|
||||
- **Fixtures**: Fixture system with dependency management, context support, and pytest integration
|
||||
- **Standardized API Responses**: Consistent response format with `Response`, `PaginatedResponse`, and `PydanticBase`
|
||||
- **Exception Handling**: Structured error responses with automatic OpenAPI documentation
|
||||
- **Logging**: Logging configuration with uvicorn integration via `configure_logging` and `get_logger`
|
||||
|
||||
### Optional
|
||||
|
||||
- **CLI**: Django-like command-line interface with fixture management and custom commands support
|
||||
- **Metrics**: Prometheus metrics endpoint with provider/collector registry
|
||||
- **Pytest Helpers**: Async test client, database session management, `pytest-xdist` support, and table cleanup utilities
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see [LICENSE](LICENSE) for details.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit issues and pull requests.
|
||||
Submodule themes/blowfish updated: 9f2045746e...7ce8be1d2f
Reference in New Issue
Block a user