All Projects → yoshiya0503 → Hermetica

yoshiya0503 / Hermetica

Licence: mit
📖Hermetica is scaffold tools, and wiki to implement better flask applications.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Hermetica

Py webauthn
A WebAuthn Python module.
Stars: ✭ 270 (+309.09%)
Mutual labels:  flask, pip
Domain Driven Hexagon
Guide on Domain-Driven Design, software architecture, design patterns, best practices etc.
Stars: ✭ 4,417 (+6592.42%)
Mutual labels:  best-practices, architectural-patterns
Pepy
pepy is a site to get statistics information about any Python package.
Stars: ✭ 369 (+459.09%)
Mutual labels:  flask, pip
mllint
`mllint` is a command-line utility to evaluate the technical quality of Python Machine Learning (ML) projects by means of static analysis of the project's repository.
Stars: ✭ 67 (+1.52%)
Mutual labels:  best-practices, pip
React Cool Starter
😎 🐣 A starter boilerplate for a universal web app with the best development experience and a focus on performance and best practices.
Stars: ✭ 1,083 (+1540.91%)
Mutual labels:  best-practices, scaffolding
Tensorflow 101
learn code with tensorflow
Stars: ✭ 1,116 (+1590.91%)
Mutual labels:  flask
Flask Restful Authentication
An example for RESTful authentication using nginx, uWSGI, Flask, MongoDB and JSON Web Token(JWT).
Stars: ✭ 63 (-4.55%)
Mutual labels:  flask
Python Devops
gathers Python stack for DevOps, these are usually my basic templates use for my implementations, so, feel free to use it and evolve it! Everything is Docker!
Stars: ✭ 61 (-7.58%)
Mutual labels:  flask
Flask Jwt Extended
An open source Flask extension that provides JWT support (with batteries included)!
Stars: ✭ 1,109 (+1580.3%)
Mutual labels:  flask
Graphql Server
This is the core package for using GraphQL in a custom server easily
Stars: ✭ 65 (-1.52%)
Mutual labels:  flask
Protractor Best Practices
Stars: ✭ 65 (-1.52%)
Mutual labels:  best-practices
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (+1593.94%)
Mutual labels:  flask
Headfon.es
a mini Spotify clone 🎧
Stars: ✭ 62 (-6.06%)
Mutual labels:  architectural-patterns
Waypoint
Opinionated solution template for building F# OSS libraries and tools.
Stars: ✭ 65 (-1.52%)
Mutual labels:  scaffolding
Todo List Using Flask And Mongodb
Simple implementation of ToDo List using Flask and MongoDB along with Dockerfile and Kubernetes yaml files #Flask #Example #Docker #Kubernetes #k8s
Stars: ✭ 61 (-7.58%)
Mutual labels:  flask
Helloflask
《Flask Web 开发实战》Meta 仓库
Stars: ✭ 1,135 (+1619.7%)
Mutual labels:  flask
Popbot
Color splash effects using Deep Learning
Stars: ✭ 61 (-7.58%)
Mutual labels:  flask
Taobao duoshou
使用Scrapy采集淘宝数据,Flask展示
Stars: ✭ 63 (-4.55%)
Mutual labels:  flask
Flask Konch
An improved shell command for the Flask CLI
Stars: ✭ 65 (-1.52%)
Mutual labels:  flask
Lagom
📦 Autowiring dependency injection container for python 3
Stars: ✭ 61 (-7.58%)
Mutual labels:  flask

Hermetica

PyPI PyPI - Python Version CircleCI PRs Welcome MIT License


THIS IS NOT WEB FRAMEWORK TO REPLACE FLASK.

Hermetica is scaffold tools, and wiki to implement better flask applications.

When we try to build web applications by using flask web framework, there are to many patterns and practices. This diversity make it difficult to implement apps that have simple architecture. In other words, because of too many manners, options, and patters, to implement more bigger applications is not so easy. (but, to implement small app by using flask is extreamly easy)

Therefor, we try to implement the scaffold tools head for better architecture applications as mach as possible based on our many experiences.

  • better and common directory structure
  • scaffold to create tipycal API, model.
  • select powerful packages(like SQLAlchemy Nose)

Installation

We dare to support only python 3.x, because python 2.x will eventually deprecated almost all systems, and we have to get used to python 3.x quickly.

pip install hermetica

Usage

Overview the usage

hermetica has some subcommands, to create scaffold api, decorator, model.

  • api (url and routing method base or class base or flask-restful)
  • model (database models, sqlalchemy or mongoengine)
  • decorator (you can insert some code before enter the api, like a 'authentication')
→ hermetica --help
Usage: hermetica [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  api        create api
  decorator  create decorator
  init       initialize your flask app
  model      create model

initialize your flask project.

→ hermetica init --help
Usage: hermetica init [OPTIONS]

  initialize your flask app

Options:
  --api [restful|decorator|class]
                                  Flask-Restful or Flask decorator or
                                  methodview
  --db [sqlalchemy|mongoengine]   SQLAlchemy or Mongoengine or None
  --decorator                     create decorator or None
  --redis                         using Redis or None
  --docker                        using container
  --help                          Show this message and exit.

After create project scaffold, you will check Pipfile contents, if there are shortages in list of packages, you can add other packages into Pipfile, and lock your package. (We recommend you to use pipenv https://github.com/pypa/pipenv)

Hermetica support docker. you can see Dockerfile and docker-compose.yml at your root of project. We recommend you to use docker-compose, it will helpful to separate from other projects.

pipenv lock

# if you set docker option, you can up the app container
docker-compose build
docker-compose up

add api to your flask project.

→ hermetica api --help
Usage: hermetica api [OPTIONS] NAME

  create api

Options:
  --api [restful|decorator|class]
                                  Flask-Restful or Flask decorator or
                                  methodview
  --version TEXT                  API version
  --help                          Show this message and exit.

add model to your flask project.

→ hermetica model --help
Usage: hermetica model [OPTIONS] NAME

  create model

Options:
  --db [sqlalchemy|mongoengine]  SQLAlchemy or Mongoengine or None
  --help                         Show this message and exit.

add decorator to your flask project.

→ hermetica decorator --help
Usage: hermetica decorator [OPTIONS] NAME

  create decorator

Options:
  --help  Show this message and exit.

Development

This repos is too young, so we provide few useful features yet. we will grad if you send PRs...

See Before Wiki (Flask Best Practices)

Why we apply broken change? Because, before repo source code is slightly trivial, and we believe this change will not cause any negative impact to others.

To create scaffold tools for flask will cause good affect the world rather than remain trivial code. But there are no warries. Flask-best-Practices contents (wiki docs) remain here (but only for japanese).

https://github.com/yoshiya0503/Hermetica/wiki

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].