Metadata-Version: 1.1
Name: py_summer
Version: 0.0.2
Summary: 一个快速生成 Python Web 项目框架的工具
Home-page: https://github.com/chinapnr/py-summer
Author: David Yi
Author-email: wingfish@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
Description: |Build Status| |Coverage Status| |Documentation Status|
        
        py-summer
        ---------
        
        一个快速生成 Python Web 项目框架的工具，用户无需考虑后端框架（即支持多后端，目前支持 Flask ）。支持自定义生成项目层级结构、接口。内容包含演示代码、测试用例等。
        
        安装
        ----
        
        Install and update using pip:
        
        .. code::
        
            pip install -U py-summer
        
        示例
        ----
        
        1. 生成一个新项目
        
           ::
        
               summer create -n test_project -d ./
        
        2. 生成的项目层级结构
        
           ::
        
               │  .gitignore                            ignore 文件
               │  gunicorn.conf                         gunicorn 配置文件
               │  requirements.txt                      项目运行所需依赖包
               │  server.py                             项目入口文件
               ├─application                            application
               │  │  __init__.py
               │  │  router.py                          路由
               │  ├─controller                  
               │  │      hello_controller.py            controller
               │  ├─model                              
               │  │      hello_model.py                 model
               │  └─view                                
               │         hello_handler.py               handler
               ├─config
               │      config.py                         配置文件
               ├─docker                                 docker 文件夹
               │      docker-compose.yml
               │      start.sh
               ├─log                                    日志文件夹
               ├─test                                   测试用例
               │      conftest.py
               │      test_api.py
               │      test_db.py
               └─tools                                  辅助方法
                       error.py
        
        3. 运行项目
        
           .. code::
        
               python server.py
        
           默认监听所有地址， 端口为 8080。测试页可访问
           http://127.0.0.1:8080/api/test
        
        
        生成的项目模块说明
        ------------------
        通过上面的示例，我们生成了一个简单的 http web 服务，下面将对生成的目录中各模块做一下介绍，简单的文件已经在目录结构中有说明，这里将不在赘述。
        
        1. application
        
        这里是 web 应用程序的总目录，里面包含 model/view/controller， 即 web 服务的 MVC 部分，router.py 这里是设置整个项目路由的地方。
        
        2. config
        
        config 目录是整个工程的配置目录，里面通过类的形式来进行各种环境的配置，通过 application 下的 __init__.py 来导入配置信息。
        
        3. docker
        
        docker 中是 docker-compose 的配置文件，用来配置项目的部署环境，start.sh 是 docker 容器启动的入口文件。
        
        4. test
        
        test 这里是项目的单元测试模块，里面有一个 conftest.py 文件来配置测试信息，test_xxx.py 文件是具体的单元测试文件，这里使用 pytest.fixture 打通 server/client 进行测试，测试时无需额外启动 server 即可测试 server 接口。
        
        
        
        后续计划
        --------
        
        1. 集成 Flask 常用功能模块
        
           目前计划集成功能点如下：
            -  启动方式
            -  路由处理
            -  数据库处理
            -  异常处理
            -  常用插件
        
        
        2. 支持接口根据配置文件自动生成，进一步提高代码规范，开发效率。
        
        .. |Build Status| image:: https://travis-ci.org/chinapnr/py-summer.svg?branch=master
           :target: https://travis-ci.org/chinapnr/py-summer
        .. |Coverage Status| image:: https://coveralls.io/repos/github/chinapnr/py-summer/badge.svg?branch=master
           :target: https://coveralls.io/github/chinapnr/py-summer?branch=master
        .. |Documentation Status| image:: https://readthedocs.org/projects/py-summer/badge/?version=latest
           :target: https://py-summer.readthedocs.io/zh/latest/?badge=latest
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
