# cookiecutter-seatools-python-starter **Repository Path**: seatools-py/cookiecutter-seatools-python-starter ## Basic Information - **Project Name**: cookiecutter-seatools-python-starter - **Description**: seatools python项目启动器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-05-26 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cookiecutter-seatools-python-starter `seatools` 启动模板 (轻量版, 仅包含最小内容, 完整版见[cookiecutter-seatools-python](https://github.com/seatools-py/cookiecutter-seatools-python)) ## 项目地址: 1. https://github.com/seatools-py/cookiecutter-seatools-python-starter 2. https://gitee.com/seatools-py/cookiecutter-seatools-python-starter ## Seatools 工具包地址 1. https://github.com/seatools-py/seatools 2. https://gitee.com/seatools-py/seatools ## 使用方法 1. 安装python3.9+ (省略) 2. 安装cookiecutter: `pip install cookiecutter` 3. 使用该模板生成项目: `cookiecutter git@gitee.com:seatools-py/cookiecutter-seatools-python-starter.git` 4. 通过查看生成项目的 `README.md`文件了解具体操作与使用方式 ## cookiecutter-seatools-python-starter 是什么? ### 一个基于 `cookiecutter` 的 `python` 基础项目模板, 项目基于 `uv` 与 [`seatools`](https://gitee.com/dragons96/seatools.git) IOC框架, 支持如下功能: 1. IOC支持(基于[`seatools`](https://gitee.com/dragons96/seatools.git), 与 `Java Spring`类似, 可用于解决复杂系统中的依赖混乱, 循环依赖等问题, 灵活易用, 提供 `starter`机制可自行拓展) 3. web服务(可任选 `fastapi`, `flask`, `django`), 也可多个 `web`同时使用 4. 数据库(支持 `sqlalchemy`+[`mysql`|`postgresql`|`clickhouse`|`hive`|`impala`|...], 提供 `sqlalchemy`便捷操作工具), 提供启动器:[`seatools-starter-sqlalchemy`](https://gitee.com/seatools-py/seatools-starter-sqlalchemy) 5. Redis(支持 `redis`), 提供启动器:[`seatools-starter-redis`](https://gitee.com/seatools-py/seatools-starter-redis) 6. 爬虫(支持 `scrapy`, [`undetected-chromedriver`(基于selenium的抹除指纹自动化框架)](https://github.com/ultrafunkamsterdam/undetected-chromedriver)) 7. 缓存(基于 `cachetools`), 提供启动器:[`seatools-starter-cache`](https://gitee.com/seatools-py/seatools-starter-cache) 8. 自动配置管理(配置文件内容通过在 `model`中定义属性将自动注入) 11. 测试(使用 `pytest`) 12. 提供相应代码生成器套件[`seatools-codegen`](https://gitee.com/seatools-py/cookiecutter-seatools-python-codegen), 具体支持功能如下: 1. 生成自定义任务类模板, 生成自定义任务类针对任务描述, 日志, 异常等常用操作提供的内置的处理 2. 生成自定义命令行入口, 生成命令行模板、执行脚本以及docker相关部署脚本 3. 生成 `web`(`fastapi`, `flask`, `django`)、`scrapy`模板代码, 支持多种框架集成 13. grpc拓展 ### 部署打包支持 1. 支持 `windows`, `linux`, `mac` 多平台的 `python`环境运行或使用 `pyinstaller`打包后运行 2. 支持 `docker`, `docker-compose`, `k8s` 部署 ## 各场景指南 - [`常规脚本项目指南`](./docs/常规脚本任务场景.md) - [`Django项目指南`](./docs/Django项目指南.md) - [`FastAPI项目指南`](./docs/FastAPI项目指南.md) - [`Flask项目指南`](./docs/Flask项目指南.md) - [`Scrapy项目指南`](./docs/Scrapy项目指南.md) - [`SqlAlchemy数据库使用指南`](./docs/SqlAlchemy数据库使用指南.md) - [`Redis使用指南`](./docs/Redis使用指南.md)