# 🧩 FastAPI Blocks Registry
A modular scaffolding system for FastAPI backends, inspired by **shadcn-vue**.
Add production-ready modules (like `auth`, `users`, `billing`) to your FastAPI project with a single CLI command.
## 🎯 Project Goal
FastAPI Blocks Registry allows you to quickly add complete, production-ready modules to your FastAPI projects. Each module includes models, schemas, routers, services, and all necessary configurations - just copy and customize.
Unlike traditional packages, modules are copied directly into your project, giving you full control to modify and adapt them to your needs.
## ✨ Features
- 📦 **Copy, not install** - Modules are copied into your project for full customization
- 🔧 **Auto-configuration** - Automatically updates `main.py`, `requirements.txt`, and `.env`
- 🎨 **Production-ready** - Each module follows best practices and includes proper error handling
- 🔒 **Type-safe** - Full type hints and Pydantic validation
- 📚 **Well-documented** - Clear code structure with docstrings
- 🚀 **Quick start** - Get authentication, user management, and more in seconds
## 🚀 Quick Start
### Installation
```bash
# Install from source (for development)
pip install -e .
# Or install from PyPI (when published)
pip install fastapi-blocks-registry
```
### Usage
```bash
# Initialize a new FastAPI project
fastapi-registry init
# List available modules
fastapi-registry list
# Show module details
fastapi-registry info auth
# Add a module to your project
fastapi-registry add auth
# Remove a module
fastapi-registry remove auth
```
### What Gets Installed
When you initialize a project, the CLI creates:
- ✅ Complete FastAPI project structure with `app/` directory
- ✅ Backend documentation in `app/README.md` (architecture, patterns, best practices)
- ✅ Configuration files (`.env`, `requirements.txt`, `pyproject.toml`)
- ✅ Core utilities (`config.py`, `database.py`, middleware)
When you add a module, the CLI automatically:
- ✅ Copies module files to `app/modules/<module>/`
- ✅ Updates `main.py` to register the router
- ✅ Adds dependencies to `requirements.txt`
- ✅ Adds environment variables to `.env`
## 📦 Available Modules
### Auth Module
Complete JWT-based authentication system with:
- User registration with password strength validation
- Login with JWT access and refresh tokens
- Password reset flow
- Password change for authenticated users
- Token blacklisting support
**Endpoints:**
- `POST /api/v1/auth/register` - Register new user
- `POST /api/v1/auth/login` - Login user
- `POST /api/v1/auth/refresh` - Refresh access token
- `POST /api/v1/auth/forgot-password` - Request password reset
- `POST /api/v1/auth/reset-password` - Reset password with token
- `POST /api/v1/auth/change-password` - Change password (authenticated)
- `GET /api/v1/auth/me` - Get current user info
**Technologies:**
- PyJWT for token management
- Passlib + bcrypt for password hashing
- Pydantic for validation
- In-memory user store (easily replaceable with database)
## 🏗️ Project Structure
```
fastapi-blocks-registry/
├── fastapi_registry/
│ ├── __init__.py
│ ├── cli.py # CLI implementation
│ ├── registry.json # Module registry
│ ├── core/
│ │ ├── file_utils.py # File operations
│ │ ├── installer.py # Module installer
│ │ └── registry_manager.py # Registry management
│ ├── modules/
│ │ └── auth/ # Auth module
│ │ ├── __init__.py
│ │ ├── models.py # User model & store
│ │ ├── schemas.py # Pydantic schemas
│ │ ├── router.py # FastAPI routes
│ │ ├── service.py # Business logic
│ │ ├── dependencies.py # FastAPI dependencies
│ │ ├── auth_utils.py # JWT & password utils
│ │ └── exceptions.py # Custom exceptions
│ └── templates/ # Project templates
│ └── fastapi_project/
│ └── app/
│ └── README.md # Backend documentation (copied to projects)
├── tests/
├── docs/
├── CLAUDE.md # Development guidelines
├── README.md
└── pyproject.toml
```
## 🧠 Module Structure
Each module follows a consistent structure:
- **`models.py`** - Data models (Pydantic or SQLAlchemy)
- **`schemas.py`** - Request/response schemas with validation
- **`router.py`** - FastAPI route definitions
- **`service.py`** - Business logic layer
- **`dependencies.py`** - FastAPI dependency injection
- **`exceptions.py`** - Module-specific exceptions
- **`__init__.py`** - Module initialization
## 💻 Example Usage
### Starting from Scratch
#### 1. Initialize a new project
```bash
# Create project directory
mkdir my-fastapi-app
cd my-fastapi-app
# Initialize project structure
fastapi-registry init --name "My FastAPI App"
```
#### 2. Set up virtual environment
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
#### 3. Install dependencies
```bash
pip install -r requirements.txt
```
#### 4. Add modules
```bash
# Add authentication module
fastapi-registry add auth
```
#### 5. Configure and run
```bash
# Edit .env with your settings
# Then start the server
uvicorn main:app --reload
```
### Adding to Existing Project
#### 1. Add the auth module to your project
```bash
cd your-fastapi-project
fastapi-registry add auth
```
#### 2. Install dependencies
```bash
pip install -r requirements.txt
```
#### 3. Configure environment variables
Edit your `.env` file:
```bash
SECRET_KEY=your-secret-key-min-32-characters
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRES_MINUTES=30
REFRESH_TOKEN_EXPIRES_DAYS=7
```
#### 4. Start your server
```bash
uvicorn main:app --reload
```
#### 5. Test the endpoints
```bash
# Register a new user
curl -X POST "http://localhost:8000/api/v1/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "Test123!@#",
"name": "Test User"
}'
# Login
curl -X POST "http://localhost:8000/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "Test123!@#"
}'
```
## 🔧 CLI Commands
### `fastapi-registry init`
Initialize a new FastAPI project with proper structure:
- Creates `main.py` with FastAPI app setup
- Sets up `app/` directory structure with backend-specific documentation
- Creates `app/core/` with config and database utilities
- Creates `app/modules/` for your modules
- Generates `requirements.txt` with essential dependencies
- Creates `.env` with default configuration
- Adds `.gitignore`, `README.md`, and development config files
- Includes `app/README.md` with backend architecture documentation
- Includes code quality tools config (`.flake8`, `.pylintrc`, `pyproject.toml`)
**Options:**
- `--project-path, -p` - Path to create project (default: current directory)
- `--name, -n` - Project name (default: directory name)
- `--description, -d` - Project description
- `--force, -f` - Initialize even if directory is not empty
**Example:**
```bash
# Initialize in current directory
fastapi-registry init
# Create a new project directory
mkdir my-api && cd my-api
fastapi-registry init --name "My API" --description "My awesome API"
# Initialize in specific path
fastapi-registry init --project-path /path/to/project
```
### `fastapi-registry list`
Display all available modules from the registry
**Options:**
- `--search, -s` - Search modules by name or description
### `fastapi-registry info <module>`
Show detailed information about a specific module
### `fastapi-registry add <module>`
Add a module to your project:
- Copies module files to `app/modules/<module>/`
- Updates `main.py` with router registration
- Adds dependencies to `requirements.txt`
- Adds environment variables to `.env`
**Options:**
- `--project-path, -p` - Path to FastAPI project (default: current directory)
- `--yes, -y` - Skip confirmation prompts
### `fastapi-registry remove <module>`
Remove a module from your project (manual cleanup required for dependencies)
**Options:**
- `--project-path, -p` - Path to FastAPI project (default: current directory)
- `--yes, -y` - Skip confirmation prompts
### `fastapi-registry version`
Show version information
## 🛠️ Development
### Setup
```bash
# Clone the repository
git clone https://github.com/yourusername/fastapi-blocks-registry
cd fastapi-blocks-registry
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in editable mode
pip install -e .
```
### Local Development & Testing
To run the CLI locally without publishing to PyPI:
```bash
# Activate virtual environment
source .venv/bin/activate
# Install in editable mode
pip install -e .
# Test the CLI
fastapi-registry --help
fastapi-registry list
# Create a test project
cd /tmp
fastapi-registry init my-test-app --name "TestApp"
cd my-test-app
fastapi-registry add auth --yes
```
For detailed testing guide and additional methods (build & install from wheel, TestPyPI testing, automated tests), see [docs/LOCAL_TESTING.md](docs/LOCAL_TESTING.md).
### Running Tests
```bash
pytest
```
### Code Quality
```bash
# Format code
black .
# Lint code
ruff check .
# Type checking
mypy fastapi_registry
```
## 🔮 Roadmap
- [x] CLI implementation with Typer
- [x] Project initialization command
- [x] Auth module with JWT
- [x] Auto-configuration system
- [ ] Users module with RBAC
- [ ] Database integration (SQLAlchemy)
- [ ] Alembic migrations support
- [ ] Email module
- [ ] Billing/subscription module
- [ ] Projects/workspaces module
- [ ] Remote registry support (GitHub)
- [ ] PyPI publication
- [ ] Module templates generator
- [ ] Test generation for modules
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## 📄 License
MIT
## 🙏 Inspiration
This project is inspired by:
- [shadcn-vue](https://github.com/shadcn-ui/ui) - Copy, don't install philosophy
- [FastAPI](https://fastapi.tiangolo.com/) - Modern Python web framework
- [Typer](https://typer.tiangolo.com/) - CLI framework by the creator of FastAPI
Raw data
{
"_id": null,
"home_page": null,
"name": "fastapi-blocks-registry",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "fastapi, scaffolding, cli, backend, boilerplate, templates, code-generator",
"author": null,
"author_email": "Jan Madeyski <jan.madeyski@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/32/3e/de2a77cd820cff6cce054614c0e81b9bc3a35495b62f87b5601681445f2f/fastapi_blocks_registry-0.2.16.tar.gz",
"platform": null,
"description": "# \ud83e\udde9 FastAPI Blocks Registry\n\nA modular scaffolding system for FastAPI backends, inspired by **shadcn-vue**.\nAdd production-ready modules (like `auth`, `users`, `billing`) to your FastAPI project with a single CLI command.\n\n## \ud83c\udfaf Project Goal\n\nFastAPI Blocks Registry allows you to quickly add complete, production-ready modules to your FastAPI projects. Each module includes models, schemas, routers, services, and all necessary configurations - just copy and customize.\n\nUnlike traditional packages, modules are copied directly into your project, giving you full control to modify and adapt them to your needs.\n\n## \u2728 Features\n\n- \ud83d\udce6 **Copy, not install** - Modules are copied into your project for full customization\n- \ud83d\udd27 **Auto-configuration** - Automatically updates `main.py`, `requirements.txt`, and `.env`\n- \ud83c\udfa8 **Production-ready** - Each module follows best practices and includes proper error handling\n- \ud83d\udd12 **Type-safe** - Full type hints and Pydantic validation\n- \ud83d\udcda **Well-documented** - Clear code structure with docstrings\n- \ud83d\ude80 **Quick start** - Get authentication, user management, and more in seconds\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\n# Install from source (for development)\npip install -e .\n\n# Or install from PyPI (when published)\npip install fastapi-blocks-registry\n```\n\n### Usage\n\n```bash\n# Initialize a new FastAPI project\nfastapi-registry init\n\n# List available modules\nfastapi-registry list\n\n# Show module details\nfastapi-registry info auth\n\n# Add a module to your project\nfastapi-registry add auth\n\n# Remove a module\nfastapi-registry remove auth\n```\n\n### What Gets Installed\n\nWhen you initialize a project, the CLI creates:\n- \u2705 Complete FastAPI project structure with `app/` directory\n- \u2705 Backend documentation in `app/README.md` (architecture, patterns, best practices)\n- \u2705 Configuration files (`.env`, `requirements.txt`, `pyproject.toml`)\n- \u2705 Core utilities (`config.py`, `database.py`, middleware)\n\nWhen you add a module, the CLI automatically:\n- \u2705 Copies module files to `app/modules/<module>/`\n- \u2705 Updates `main.py` to register the router\n- \u2705 Adds dependencies to `requirements.txt`\n- \u2705 Adds environment variables to `.env`\n\n## \ud83d\udce6 Available Modules\n\n### Auth Module\n\nComplete JWT-based authentication system with:\n- User registration with password strength validation\n- Login with JWT access and refresh tokens\n- Password reset flow\n- Password change for authenticated users\n- Token blacklisting support\n\n**Endpoints:**\n- `POST /api/v1/auth/register` - Register new user\n- `POST /api/v1/auth/login` - Login user\n- `POST /api/v1/auth/refresh` - Refresh access token\n- `POST /api/v1/auth/forgot-password` - Request password reset\n- `POST /api/v1/auth/reset-password` - Reset password with token\n- `POST /api/v1/auth/change-password` - Change password (authenticated)\n- `GET /api/v1/auth/me` - Get current user info\n\n**Technologies:**\n- PyJWT for token management\n- Passlib + bcrypt for password hashing\n- Pydantic for validation\n- In-memory user store (easily replaceable with database)\n\n## \ud83c\udfd7\ufe0f Project Structure\n\n```\nfastapi-blocks-registry/\n\u251c\u2500\u2500 fastapi_registry/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 cli.py # CLI implementation\n\u2502 \u251c\u2500\u2500 registry.json # Module registry\n\u2502 \u251c\u2500\u2500 core/\n\u2502 \u2502 \u251c\u2500\u2500 file_utils.py # File operations\n\u2502 \u2502 \u251c\u2500\u2500 installer.py # Module installer\n\u2502 \u2502 \u2514\u2500\u2500 registry_manager.py # Registry management\n\u2502 \u251c\u2500\u2500 modules/\n\u2502 \u2502 \u2514\u2500\u2500 auth/ # Auth module\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 models.py # User model & store\n\u2502 \u2502 \u251c\u2500\u2500 schemas.py # Pydantic schemas\n\u2502 \u2502 \u251c\u2500\u2500 router.py # FastAPI routes\n\u2502 \u2502 \u251c\u2500\u2500 service.py # Business logic\n\u2502 \u2502 \u251c\u2500\u2500 dependencies.py # FastAPI dependencies\n\u2502 \u2502 \u251c\u2500\u2500 auth_utils.py # JWT & password utils\n\u2502 \u2502 \u2514\u2500\u2500 exceptions.py # Custom exceptions\n\u2502 \u2514\u2500\u2500 templates/ # Project templates\n\u2502 \u2514\u2500\u2500 fastapi_project/\n\u2502 \u2514\u2500\u2500 app/\n\u2502 \u2514\u2500\u2500 README.md # Backend documentation (copied to projects)\n\u251c\u2500\u2500 tests/\n\u251c\u2500\u2500 docs/\n\u251c\u2500\u2500 CLAUDE.md # Development guidelines\n\u251c\u2500\u2500 README.md\n\u2514\u2500\u2500 pyproject.toml\n```\n\n## \ud83e\udde0 Module Structure\n\nEach module follows a consistent structure:\n\n- **`models.py`** - Data models (Pydantic or SQLAlchemy)\n- **`schemas.py`** - Request/response schemas with validation\n- **`router.py`** - FastAPI route definitions\n- **`service.py`** - Business logic layer\n- **`dependencies.py`** - FastAPI dependency injection\n- **`exceptions.py`** - Module-specific exceptions\n- **`__init__.py`** - Module initialization\n\n## \ud83d\udcbb Example Usage\n\n### Starting from Scratch\n\n#### 1. Initialize a new project\n\n```bash\n# Create project directory\nmkdir my-fastapi-app\ncd my-fastapi-app\n\n# Initialize project structure\nfastapi-registry init --name \"My FastAPI App\"\n```\n\n#### 2. Set up virtual environment\n\n```bash\npython -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\n```\n\n#### 3. Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n#### 4. Add modules\n\n```bash\n# Add authentication module\nfastapi-registry add auth\n```\n\n#### 5. Configure and run\n\n```bash\n# Edit .env with your settings\n# Then start the server\nuvicorn main:app --reload\n```\n\n### Adding to Existing Project\n\n#### 1. Add the auth module to your project\n\n```bash\ncd your-fastapi-project\nfastapi-registry add auth\n```\n\n#### 2. Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n#### 3. Configure environment variables\n\nEdit your `.env` file:\n```bash\nSECRET_KEY=your-secret-key-min-32-characters\nJWT_ALGORITHM=HS256\nACCESS_TOKEN_EXPIRES_MINUTES=30\nREFRESH_TOKEN_EXPIRES_DAYS=7\n```\n\n#### 4. Start your server\n\n```bash\nuvicorn main:app --reload\n```\n\n#### 5. Test the endpoints\n\n```bash\n# Register a new user\ncurl -X POST \"http://localhost:8000/api/v1/auth/register\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"email\": \"user@example.com\",\n \"password\": \"Test123!@#\",\n \"name\": \"Test User\"\n }'\n\n# Login\ncurl -X POST \"http://localhost:8000/api/v1/auth/login\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"email\": \"user@example.com\",\n \"password\": \"Test123!@#\"\n }'\n```\n\n## \ud83d\udd27 CLI Commands\n\n### `fastapi-registry init`\nInitialize a new FastAPI project with proper structure:\n- Creates `main.py` with FastAPI app setup\n- Sets up `app/` directory structure with backend-specific documentation\n- Creates `app/core/` with config and database utilities\n- Creates `app/modules/` for your modules\n- Generates `requirements.txt` with essential dependencies\n- Creates `.env` with default configuration\n- Adds `.gitignore`, `README.md`, and development config files\n- Includes `app/README.md` with backend architecture documentation\n- Includes code quality tools config (`.flake8`, `.pylintrc`, `pyproject.toml`)\n\n**Options:**\n- `--project-path, -p` - Path to create project (default: current directory)\n- `--name, -n` - Project name (default: directory name)\n- `--description, -d` - Project description\n- `--force, -f` - Initialize even if directory is not empty\n\n**Example:**\n```bash\n# Initialize in current directory\nfastapi-registry init\n\n# Create a new project directory\nmkdir my-api && cd my-api\nfastapi-registry init --name \"My API\" --description \"My awesome API\"\n\n# Initialize in specific path\nfastapi-registry init --project-path /path/to/project\n```\n\n### `fastapi-registry list`\nDisplay all available modules from the registry\n\n**Options:**\n- `--search, -s` - Search modules by name or description\n\n### `fastapi-registry info <module>`\nShow detailed information about a specific module\n\n### `fastapi-registry add <module>`\nAdd a module to your project:\n- Copies module files to `app/modules/<module>/`\n- Updates `main.py` with router registration\n- Adds dependencies to `requirements.txt`\n- Adds environment variables to `.env`\n\n**Options:**\n- `--project-path, -p` - Path to FastAPI project (default: current directory)\n- `--yes, -y` - Skip confirmation prompts\n\n### `fastapi-registry remove <module>`\nRemove a module from your project (manual cleanup required for dependencies)\n\n**Options:**\n- `--project-path, -p` - Path to FastAPI project (default: current directory)\n- `--yes, -y` - Skip confirmation prompts\n\n### `fastapi-registry version`\nShow version information\n\n## \ud83d\udee0\ufe0f Development\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/fastapi-blocks-registry\ncd fastapi-blocks-registry\n\n# Create virtual environment\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in editable mode\npip install -e .\n```\n\n### Local Development & Testing\n\nTo run the CLI locally without publishing to PyPI:\n\n```bash\n# Activate virtual environment\nsource .venv/bin/activate\n\n# Install in editable mode\npip install -e .\n\n# Test the CLI\nfastapi-registry --help\nfastapi-registry list\n\n# Create a test project\ncd /tmp\nfastapi-registry init my-test-app --name \"TestApp\"\ncd my-test-app\nfastapi-registry add auth --yes\n```\n\nFor detailed testing guide and additional methods (build & install from wheel, TestPyPI testing, automated tests), see [docs/LOCAL_TESTING.md](docs/LOCAL_TESTING.md).\n\n### Running Tests\n\n```bash\npytest\n```\n\n### Code Quality\n\n```bash\n# Format code\nblack .\n\n# Lint code\nruff check .\n\n# Type checking\nmypy fastapi_registry\n```\n\n## \ud83d\udd2e Roadmap\n\n- [x] CLI implementation with Typer\n- [x] Project initialization command\n- [x] Auth module with JWT\n- [x] Auto-configuration system\n- [ ] Users module with RBAC\n- [ ] Database integration (SQLAlchemy)\n- [ ] Alembic migrations support\n- [ ] Email module\n- [ ] Billing/subscription module\n- [ ] Projects/workspaces module\n- [ ] Remote registry support (GitHub)\n- [ ] PyPI publication\n- [ ] Module templates generator\n- [ ] Test generation for modules\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## \ud83d\udcc4 License\n\nMIT\n\n## \ud83d\ude4f Inspiration\n\nThis project is inspired by:\n- [shadcn-vue](https://github.com/shadcn-ui/ui) - Copy, don't install philosophy\n- [FastAPI](https://fastapi.tiangolo.com/) - Modern Python web framework\n- [Typer](https://typer.tiangolo.com/) - CLI framework by the creator of FastAPI\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A modular scaffolding system for FastAPI backends",
"version": "0.2.16",
"project_urls": {
"Documentation": "https://github.com/jm-sky/fastapi-blocks-registry#readme",
"Homepage": "https://github.com/jm-sky/fastapi-blocks-registry",
"Issues": "https://github.com/jm-sky/fastapi-blocks-registry/issues",
"Repository": "https://github.com/jm-sky/fastapi-blocks-registry"
},
"split_keywords": [
"fastapi",
" scaffolding",
" cli",
" backend",
" boilerplate",
" templates",
" code-generator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "019a7cb9ff655110bc386e3ed6084edae259e591fe86cfbfda8000ccf1b23983",
"md5": "5bf81204868beaa84cb9eb9ca6fb2507",
"sha256": "3d991b96b861ea98a36317e5b240049f56c6aabbcf40cd85b94228a63022ad81"
},
"downloads": -1,
"filename": "fastapi_blocks_registry-0.2.16-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5bf81204868beaa84cb9eb9ca6fb2507",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 343759,
"upload_time": "2025-11-07T15:36:35",
"upload_time_iso_8601": "2025-11-07T15:36:35.740258Z",
"url": "https://files.pythonhosted.org/packages/01/9a/7cb9ff655110bc386e3ed6084edae259e591fe86cfbfda8000ccf1b23983/fastapi_blocks_registry-0.2.16-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "323ede2a77cd820cff6cce054614c0e81b9bc3a35495b62f87b5601681445f2f",
"md5": "faef94714cf6b239e29adbfacd09b112",
"sha256": "879fcd8a33bf4268240c39d5d26b6bb8c803846e4fc992a56592f65132f5f7af"
},
"downloads": -1,
"filename": "fastapi_blocks_registry-0.2.16.tar.gz",
"has_sig": false,
"md5_digest": "faef94714cf6b239e29adbfacd09b112",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 3248060,
"upload_time": "2025-11-07T15:36:38",
"upload_time_iso_8601": "2025-11-07T15:36:38.353525Z",
"url": "https://files.pythonhosted.org/packages/32/3e/de2a77cd820cff6cce054614c0e81b9bc3a35495b62f87b5601681445f2f/fastapi_blocks_registry-0.2.16.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-07 15:36:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jm-sky",
"github_project": "fastapi-blocks-registry#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "typer",
"specs": [
[
"==",
"0.20.0"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"14.2.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.12.3"
]
]
},
{
"name": "pydantic-settings",
"specs": [
[
"==",
"2.11.0"
]
]
},
{
"name": "python-ulid",
"specs": [
[
"==",
"2.7.0"
]
]
},
{
"name": "pathlib-mate",
"specs": [
[
"==",
"1.3.2"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"8.4.2"
]
]
},
{
"name": "pytest-cov",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "black",
"specs": [
[
"==",
"24.10.0"
]
]
},
{
"name": "ruff",
"specs": [
[
"==",
"0.8.4"
]
]
},
{
"name": "mypy",
"specs": [
[
"==",
"1.14.0"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"1.2.2"
]
]
},
{
"name": "twine",
"specs": [
[
"==",
"6.0.1"
]
]
}
],
"lcname": "fastapi-blocks-registry"
}