Metadata-Version: 2.1
Name: shiftboiler
Version: 0.4.2
Summary: Boilerplate setup for webapps, apis and cli applications with flask
Home-page: https://github.com/projectshift/shift-boiler
Author: Dmitry Belyakov
Author-email: dmitrybelyakov@gmail.com
License: MIT License
Download-URL: https://github.com/projectshift/shift-boiler/archive/v0.4.2.tar.gz
Keywords: python3,flask,click,orm,sqlalchemy,webapp,api,oauth,babel
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Framework :: IPython
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Requires-Dist: click (==6.6)
Requires-Dist: shiftschema (==0.1.0)

# shift-boiler

![boiler](https://s3-eu-west-1.amazonaws.com/public-stuff-cdn/boiler.png)

Boiler is a best-practices setup of [flask framework](http://flask.pocoo.org/) integrated with a number of libraries to quickly bootstrap app development. You can do console applications, web apps or apis with boiler. It is also a good example of how to set up flask framework for large projects.

Here are some main features all of which are pluggable and optional:

  * [Click](http://click.pocoo.org/) integration for CLI apps
  * Web app scaffolding
  * API app scaffolding and [Restfulness](https://flask-restful.readthedocs.io/)
  * ORM with [SQLAlchemy](http://www.sqlalchemy.org/)
  * Database migrations with [Alembic](https://bitbucket.org/zzzeek/alembic)
  * Entity/model validation framework with [shift-schema](https://github.com/projectshift/shift-schema)
  * Localization and translations with [Babel](https://pythonhosted.org/Flask-Babel/)
  * Web forms with [WTForms](https://wtforms.readthedocs.io/en/latest/)
  * User registration and [authentication](https://flask-login.readthedocs.io/en/latest/) including [OAuth](https://pythonhosted.org/Flask-OAuth/) support for facebook, google, twitter and vk
  * RBAC and access control with [Principal](http://pythonhosted.org/Flask-Principal/)
  * Routing with lazy-views and on-demand view import
  * Set of useful Jinja additions and filters including support for versioned static assets.
  * All of the features are pluggable and optional. Use whatever you need.


## Ridiculously quick start

Create virtual environment:

```
mkdir boiler-testdrive && cd boiler-testdrive
virtualenv -p python3 env
source env/bin/activate
```

Install and run boiler:

```
pip install shiftboiler
boiler init .
boiler dependencies flask
./cli run
```

That was quickstart for robots. We also have a [quickstart for humans](docs/quickstart.md), with some further exaplanations.

## Versioning

We loosely follow [semver](https://semver.org/) except we did not have a major
release yet to indicate the fact that the is still not entirely production ready.
We however did successfully used it in production on multiple occasions for
webapps and apis. Just remember to freeze your boiler version in requirements
file and expect minor versions to introduce breaking changes.


## Documentation

  * [Quickstart for humans](docs/quickstart.md)
  * Full configuration example
  * [Boiler features](docs/features.md)
  * Testing: helpers and environment
  * Working with collections
  * Working with forms: entity validation and recaptcha
  * [MacOS: signing python interpreter](docs/sign_python.md)
















