Metadata-Version: 2.4
Name: fred_framework
Version: 1.0.4
Summary: A Flask-based web framework with built-in utilities and extensions
Home-page: https://github.com/yourusername/fred-framework
Author: Your Name
Author-email: Your Name <your.email@example.com>
License: MIT
Project-URL: Homepage, https://github.com/yourusername/fred-framework
Project-URL: Repository, https://github.com/yourusername/fred-framework
Project-URL: Documentation, https://github.com/yourusername/fred-framework#readme
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: flask>=3.1.2
Requires-Dist: flask_cors>=6.0.1
Requires-Dist: flask_jwt_extended>=4.7.1
Requires-Dist: Pillow>=11.3.0
Requires-Dist: flask_smorest>=0.46.2
Requires-Dist: flask_swagger_ui>=5.21.0
Requires-Dist: cryptography>=44.0.3
Requires-Dist: requests>=2.32.5
Requires-Dist: flask_apscheduler>=1.13.1
Requires-Dist: flask_babelplus>=2.2.0
Requires-Dist: flask_sqlacodegen>=2.0.0
Requires-Dist: flask_sqlalchemy>=3.1.1
Requires-Dist: pymysql>=1.1.2
Requires-Dist: pytz>=2025.2
Requires-Dist: flask_mail>=0.10.0
Requires-Dist: redis>=7.0.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Fred Framework

Fred是一个基于Flask的Web框架，内置了常用的工具和扩展，帮助开发者快速构建Web应用程序。

## 功能特性

- 基于Flask的轻量级Web框架
- 内置JWT认证支持
- 数据库ORM支持（SQLAlchemy）
- Redis集成
- 邮件发送功能
- 定时任务调度
- 国际化支持
- Swagger API文档
- 图片验证码生成
- 阿里云短信服务集成
- 微信登录集成
- 数据加密功能
- 日志系统

## 安装

```bash
pip install fred_framework
```

## 快速开始

### 1. 初始化项目

安装后，在项目目录中运行初始化命令来创建必要的目录和文件：

```bash
# 在当前目录初始化项目
fred-init

# 或在指定目录初始化项目
fred-init --path /path/to/your/project
```

初始化命令会自动创建以下目录和文件：
- `model/` - 数据模型目录
- `config/` - 配置文件目录（包含 `Config.py`）
- `translations/` - 国际化翻译文件目录
- `scheduler/` - 定时任务目录
- `run.py` - 应用启动文件

### 2. 使用框架

```python
from fred_framework import create_app

app = create_app()

if __name__ == "__main__":
    app.run(debug=True)
```

或者直接使用生成的 `run.py` 文件：

```bash
python run.py
```

## 配置

在使用Fred框架前，请根据需要修改`config/Config.py`中的配置项。

## 依赖

Fred框架依赖以下第三方库：

- Flask >= 3.1.2
- flask_cors >= 6.0.1
- flask_jwt_extended >= 4.7.1
- Pillow >= 11.3.0
- flask_smorest >= 0.46.2
- flask_swagger_ui >= 5.21.0
- cryptography >= 44.0.3
- requests >= 2.32.5
- flask_apscheduler >= 1.13.1
- flask_babelplus >= 2.2.0
- flask_sqlacodegen >= 2.0.0
- flask_sqlalchemy >= 3.1.1
- pymysql >= 1.1.2
- pytz >= 2025.2
- flask_mail >= 0.10.0
- redis >= 7.0.0

## 打包和发布

### 打包项目

使用以下命令来打包项目：

```bash
# 使用 setuptools 打包
python setup.py sdist bdist_wheel

# 或者使用 build 工具 (推荐)
pip install build
python -m build
```

打包后的文件将位于 `dist/` 目录下。

### 发布到 PyPI

1. 首先安装 `twine` 工具：
   ```bash
   pip install twine
   ```

2. 上传到 PyPI：
   ```bash
   # 上传到正式 PyPI (需要 PyPI 账户)
   twine upload dist/*
   
   # 或上传到测试 PyPI 进行测试
   twine upload --repository testpypi dist/*
   ```

### 本地开发安装

对于本地开发，可以使用以下命令以可编辑模式安装：

```bash
pip install -e .
```

这将创建一个指向源代码的链接，使代码更改无需重新安装即可生效。

## 打包和发布

### 打包项目

使用以下命令来打包项目：

```bash
# 使用 setuptools 打包
python setup.py sdist bdist_wheel

# 或者使用 build 工具 (推荐)
pip install build
python -m build
```

打包后的文件将位于 `dist/` 目录下。

### 发布到 PyPI

1. 首先安装 `twine` 工具：
   ```bash
   pip install twine
   ```

2. 上传到 PyPI：
   ```bash
   # 上传到正式 PyPI (需要 PyPI 账户)
   twine upload dist/*
   
   # 或上传到测试 PyPI 进行测试
   twine upload --repository testpypi dist/*
   ```

### 本地开发安装

对于本地开发，可以使用以下命令以可编辑模式安装：

```bash
pip install -e .
```

这将创建一个指向源代码的链接，使代码更改无需重新安装即可生效。

## 许可证

MIT License
