# SenWeaver **Repository Path**: senweaver/SenWeaver ## Basic Information - **Project Name**: SenWeaver - **Description**: 基于FastAPI+SQLModel+Pydantic等技术栈构建,自动生成CRUD及接口文档,提供强大的功能权限、包括行级和字段级的数据权限管理 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 0 - **Created**: 2025-02-24 - **Last Updated**: 2025-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: FastAPI, sqlmodel, sqlalchemy, CRUD, pydantic ## README

SenWeaver Enterprise Framework

SenWeaver - 企业级快速开发框架

GitHub Repo stars Gitee Repo stars MIT License Online Demo

--- ## 🚀 核心特性 **SenWeaver** 是基于现代Python技术栈构建的企业级开发框架,采用 **FastAPI** + **SQLModel** + **Pydantic V2** 架构,具备以下核心优势: - **智能ORM扩展** 动态条件检测、复合排序支持、双模式分页(偏移量/游标)优化数据操作效率 - **细粒度权限控制** 支持行级数据权限、字段级访问控制、RBAC权限模型的多维度安全体系 - **模块化架构设计** 支持应用/插件/组件的动态加载机制,实现业务功能解耦与复用 - **自动化开发工具链** 提供从模型定义到API接口、前端组件的全流程代码生成能力 --- ## 📚 文档资源 - [官方文档](https://www.senweaver.com/) - 完整开发指南与API参考 - [在线演示](https://demo.senweaver.com/) _测试账号: admin / senweaver123_ --- ## 🛠️ 功能矩阵 ### 系统管理 - **组织架构**:多层级部门管理(公司-部门-小组) - **用户管理**:支持创建、编辑和删除用户,同时可以为每个用户分配不同的角色 - **菜单管理**:灵活定义系统的导航菜单,包括一级菜单、二级菜单及其子项。 - **角色管理**:为不同角色配置可访问的菜单和页面,实现基于角色的访问控制。 - **权限管理**:功能权限+数据权限(行权限和字段权限) - **日志审计**:完整操作日志追踪与登录行为分析 ### 开发支持 - **代码生成器**:模型驱动开发(MDD),自动生成CRUD接口 - **API文档**:自动生成OpenAPI 3.0规范文档 - **模块系统**:支持热插拔式插件开发 ### 业务功能 - **文件管理**:安全文件存储与权限验证系统 - **消息中心**:多通道通知系统 - **命令管理**:命令行控制工具 - ... --- ## ⚡ 极速CRUD实现 通过声明式配置快速构建完整业务模块: ```python from senweaver.core import ( SenWeaverFilter, RelationConfig, FieldConfig, senweaver_router ) from fastapi import APIRouter from ..model.example import Example # 定义数据过滤器配置 filter_config = SenWeaverFilter( filters={"title__contains": None, "level": None}, table_fields=['id', 'title', 'notice_type', 'created_time'], ordering_fields=['-created_time'], relationships=[ RelationConfig( rel=Example.notice_user, attrs=['id', 'username'], input_type="api-search-user", label="通知用户" ) ], extra_fields=[ FieldConfig( key="user_count", annotation=int, label="用户统计", callbacks={"select": ExampleLogic.get_user_count} ) ] ) # 自动生成CRUD路由 router = senweaver_router( model=Example, path="/examples", filter_config=filter_config, callbacks={"save": ExampleLogic.custom_save} ) ``` ## 鸣谢 - [fastcrud](https://github.com/igorbenav/fastcrud). - [full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template). - [fastapi-cache](https://github.com/long2ice/fastapi-cache). - [fastapi-async-sqlalchemy](https://github.com/h0rn3t/fastapi-async-sqlalchemy). - [xadmin-server](https://github.com/nineaiyu/xadmin-server). - [fastapi](https://github.com/fastapi/fastapi). - [sqlmodel](https://github.com/fastapi/sqlmodel). - [pydantic](https://github.com/pydantic/pydantic). ## 联系我们 关注我们的微信公众号或加入我们的交流群:

SenWeaver微信群(添加微信备注"进群")

微信号: senweaver

SenWeaver微信公众号