Giter VIP home page Giter VIP logo

apistellar's Introduction

apistellar WEB框架

Badge

GitHub

GitHub followers GitHub repo size in bytes GitHub stars GitHub release Github commits (since latest release)

Github All Releases GitHub Release Date

PyPi

PyPI PyPI - Wheel PyPI - Python Version PyPI - Format PyPI - Implementation PyPI - Status

Desc

apistellar是基于apistar的web构建工具,同时增强了apistar的功能,使用apistellar可以轻松构建适合生产环境的web项目。

apistellar部分设计灵感参考ruby on rails

除了apistar本身的特性以外,apistellar增加如下几点高级用法:

  1. CSM架构,将控制层,业务层,模型层完全分离,耦合性降至最低。
  2. 模板式定制各类模型,轻松扩展模型定义的模板类。
  3. 适配sphinx注释语法,使用构建命令一键生成api文档和RPC-client。
  4. 集成flask版的session实现。
  5. 自带一些event hook,轻松集成异常、session处理。
  6. 集成配置模块,集中管理所有配置信息。
  7. 离线任务管理,同一web服务下的离线任务,轻松复用web模块定义的model, service等等可注入对象。模板一键创建。
  8. 集成IPython交互式命令行工具,自动注入model, service等对象。提供异步代码执行能力,轻松调试各模块。
  9. 提供上传文件流对象,对大文件上传完美支持。
  10. Apistar作者在uvicorn中提供了websocket支持,但是未集成到apistar中,apistellar对二者进行了集成,完美支持websocket。

apistellar项目web请求流程图 apistellar项目微服务及中间件调用解决方案示意图 apistellar项目控制层类图 apistellar项目构建工具设计类图 apistellar项目经典三层架构时序图

Install

# python 3.6+
pip install apistellar

Doc

目录

  1. Quick Start
  2. apistellar项目组成
  3. model的使用方法
  4. controller的使用方法
  5. service的使用方法
  6. Session管理
  7. 使用require实现简单session认证
  8. 增强的EventHook
  9. 错误码处理
  10. 配置信息管理
  11. 自定义项目构建任务
  12. solo任务(离线任务)
  13. 使用集成的IPython进行异步代码的调试
  14. 大文件上传下载
  15. 使用websocket进行通讯
  16. 使用apistellar测试插件pytest-apistellar进行单元测试
  17. model持久化方案
  18. API接口文档自动生成
  19. RESTFul RPC客户端驱动包一键生成
  20. 全局对象

参考资料

apistellar's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

apistellar's Issues

install 错误

python37
pip install apistellar
File "C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-g764zppc\toolkity\setup.py", line 14, in get_version
init_py = open(os.path.join(package, 'init.py')).read()

安装报错误

Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\admin\AppData\Local\Temp\pip-build-baiv9zkv\uvicorn\setup.py", line 41, in
long_description=get_long_description(),
File "C:\Users\admin\AppData\Local\Temp\pip-build-baiv9zkv\uvicorn\setup.py", line 23, in get_long_description
return open('README.md', 'r').read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 1772: illegal multibyte sequence

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in C:\Users\admin\AppData\Local\Temp\pip-build-baiv9zkv\uvicorn\

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.