A framework based on tornado for easier development, scaling up and maintenance

Overview

turbo

中文文档

pypi Build Status codecov readthedocs

Turbo is a framework for fast building web site and RESTFul api, based on tornado.

  • Easily scale up and maintain
  • Rapid development for RESTFul api and web site
  • Django or flask application structure
  • Easily customizable
  • Simple ORM for MongoDB
  • Logger
  • Session(storage support for redis, disk and so on)
  • Support MongoDB, MySQL, PostgreSQL and so on
  • Support MongoDB asynchronous driver Motor base on turbo-motor
  • Support Python3

Getting started

pip install turbo
turbo-admin startproject <project_name>
cd <project_name>/app-server
touch __test__
python main.py

Documentation

Documentation and links to additional resources are available at http://app-turbo.readthedocs.org/

Tutorial

Comments
  • redefined app_config on fake template

    redefined app_config on fake template

    redefined app_config

    https://github.com/wecatch/app-turbo/blob/master/turbo/fake/project_template/app-server/apps/base.py#L5

    https://github.com/wecatch/app-turbo/blob/master/turbo/fake/project_template/app-server/apps/base.py#L75

    opened by tao12345666333 0
  • jinja2 support

    jinja2 support

    Support jinja2 template and tornado template relative path. You can use relative path like this {% include "../../base.html" %} in turbo jinja2 template

    enhancement 
    opened by zhyq0826 0
  • 数据库连接层可以提供多层,直接在 model 层进行路由

    数据库连接层可以提供多层,直接在 model 层进行路由

    使用场景

    case 1

    由于mongodb 集群的限制,除非使用 shard 模式,否则无法做到直接在数据库层进行两个节点写的操作,可以在 model 层提供两个写操作的连接,来达到数据夸集群同步。解决问题的是:如果一个集群无法连通或宕机,可以立即切换到备用集群。

    case 2

    数据切片。对大宗数据进行拆分可以,直接提供根据数据 hash 进行连接选择,来进行夸集群切片,即形成一个简单的 sharding 方案。

    opened by zhyq0826 0
  • 0.5.0 roadmap

    0.5.0 roadmap

    • MongoDB transaction support
    • remove deprecateed MongoDB method
    • Python3 byte and string support
    • request data support pure JSON
    • asynchronous queue support
    • crontab job support
    enhancement 
    opened by zhyq0826 0
  • Getting more done in GitHub with ZenHub

    Getting more done in GitHub with ZenHub

    Hola! @jerryshew has created a ZenHub account for the wecatch organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.


    How do I use ZenHub?

    To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

    What can ZenHub do?

    ZenHub adds a series of enhancements directly inside the GitHub UI:

    • Real-time, customizable task boards for GitHub issues;
    • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
    • Personal to-do lists and task prioritization;
    • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

    Add ZenHub to GitHub

    Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @jerryshew.

    ZenHub Board

    opened by flyfloor 1
Releases(v0.4.8)
A tool to snapshot sqlite databases you don't own

The core here is my first attempt at a solution of this, combining ideas from browser_history.py and karlicoss/HPI/sqlite.py to create a library/CLI tool to (as safely as possible) copy databases whi

Sean Breckenridge 10 Dec 22, 2022
python-bigquery Apache-2python-bigquery (🥈34 · ⭐ 3.5K · 📈) - Google BigQuery API client library. Apache-2

Python Client for Google BigQuery Querying massive datasets can be time consuming and expensive without the right hardware and infrastructure. Google

Google APIs 550 Jan 01, 2023
aiopg is a library for accessing a PostgreSQL database from the asyncio

aiopg aiopg is a library for accessing a PostgreSQL database from the asyncio (PEP-3156/tulip) framework. It wraps asynchronous features of the Psycop

aio-libs 1.3k Jan 03, 2023
Makes it easier to write raw SQL in Python.

CoolSQL Makes it easier to write raw SQL in Python. Usage Quick Start from coolsql import Field name = Field("name") age = Field("age") condition =

Aber 7 Aug 21, 2022
Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.

dataset: databases for lazy people In short, dataset makes reading and writing data in databases as simple as reading and writing JSON files. Read the

Friedrich Lindenberg 4.2k Jan 02, 2023
PyPika is a python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query. PyPika excels at all sorts of SQL queries but is especially useful for data analysis.

PyPika - Python Query Builder Abstract What is PyPika? PyPika is a Python API for building SQL queries. The motivation behind PyPika is to provide a s

KAYAK 1.9k Jan 04, 2023
A collection of awesome sqlite tools, scripts, books, etc

Awesome Series @ Planet Open Data World (Countries, Cities, Codes, ...) • Football (Clubs, Players, Stadiums, ...) • SQLite (Tools, Books, Schemas, ..

Planet Open Data 205 Dec 16, 2022
A Pythonic, object-oriented interface for working with MongoDB.

PyMODM MongoDB has paused the development of PyMODM. If there are any users who want to take over and maintain this project, or if you just have quest

mongodb 345 Dec 25, 2022
Google Sheets Python API v4

pygsheets - Google Spreadsheets Python API v4 A simple, intuitive library for google sheets which gets your work done. Features: Open, create, delete

Nithin Murali 1.4k Dec 31, 2022
MySQLdb is a Python DB API-2.0 compliant library to interact with MySQL 3.23-5.1 (unofficial mirror)

==================== MySQLdb Installation ==================== .. contents:: .. Prerequisites ------------- + Python 2.3.4 or higher * http://ww

Sébastien Arnaud 17 Oct 10, 2021
SAP HANA Connector in pure Python

SAP HANA Database Client for Python Important Notice This public repository is read-only and no longer maintained. The active maintained alternative i

SAP Archive 299 Nov 20, 2022
Use SQL query in a jupyter notebook!

SQL-query Use SQL query in a jupyter notebook! The table I used can be found on UN Data. Or you can just click the link and download the file undata_s

Chuqin 2 Oct 05, 2022
Import entity definition document into SQLie3. Manage the entity. Also, create a "Create Table SQL file".

EntityDocumentMaker Version 1.00 After importing the entity definition (Excel file), store the data in sqlite3. エンティティ定義(Excelファイル)をインポートした後、データをsqlit

G-jon FujiYama 1 Jan 09, 2022
An asyncio compatible Redis driver, written purely in Python. This is really just a pet-project for me.

asyncredis An asyncio compatible Redis driver. Just a pet-project. Information asyncredis is, like I've said above, just a pet-project for me. I reall

Vish M 1 Dec 25, 2021
The Database Toolkit for Python

SQLAlchemy The Python SQL Toolkit and Object Relational Mapper Introduction SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that giv

SQLAlchemy 6.5k Jan 01, 2023
Amazon S3 Transfer Manager for Python

s3transfer - An Amazon S3 Transfer Manager for Python S3transfer is a Python library for managing Amazon S3 transfers. Note This project is not curren

the boto project 158 Jan 07, 2023
A database migrations tool for SQLAlchemy.

Alembic is a database migrations tool written by the author of SQLAlchemy. A migrations tool offers the following functionality: Can emit ALTER statem

SQLAlchemy 1.7k Jan 01, 2023
Dlsite-doujin-renamer - Dlsite doujin renamer tool with python

dlsite-doujin-renamer Features 支持深度查找带有 RJ 号的文件夹 支持手动选择文件夹或拖拽文件夹到软件窗口 支持在 config

111 Jan 02, 2023
aiosql - Simple SQL in Python

aiosql - Simple SQL in Python SQL is code. Write it, version control it, comment it, and run it using files. Writing your SQL code in Python programs

Will Vaughn 1.1k Jan 08, 2023
Python DBAPI simplified

Facata A Python library that provides a simplified alternative to DBAPI 2. It provides a facade in front of DBAPI 2 drivers. Table of Contents Install

Tony Locke 44 Nov 17, 2021