Hobbit - A flask project generator.
Project description
Hobbit-core
A flask project generator. Based on Flask + SQLAlchemy + marshmallow + webargs.
https://hobbit-core.readthedocs.io/zh/latest/
Installation
Install and update using pip(Still using Python 2? It is time to upgrade.):
pip install -U "hobbit-core[hobbit]" # just install hobbit cmd
pip install -U "hobbit-core[hobbit,hobbit_core]" # recommended when use virtualenv
A Simple Example
Init project:
hobbit --echo new -n demo -d /tmp/demo -p 5000 -t rivendell
cd /tmp/demo
pipenv install -r requirements.txt --pre && pipenv install --dev pytest pytest-cov pytest-env ipython flake8 ipdb
pipenv shell
flask cli:
(demo) ➜ FLASK_APP=app.run:app flask
Usage: flask [OPTIONS] COMMAND [ARGS]...
A general utility script for Flask applications.
An application to load must be given with the '--app' option, 'FLASK_APP'
environment variable, or with a 'wsgi.py' or 'app.py' file in the current
directory.
Options:
-e, --env-file FILE Load environment variables from this file. python-
dotenv must be installed.
-A, --app IMPORT The Flask application or factory function to load, in
the form 'module:name'. Module can be a dotted import
or file path. Name is not required if it is 'app',
'application', 'create_app', or 'make_app', and can be
'name(args)' to pass arguments.
--debug / --no-debug Set debug mode.
--version Show the Flask version.
--help Show this message and exit.
Commands:
db Perform database migrations.
routes Show the routes for the app.
run Run a development server.
shell Runs a shell in the app context.
(demo) ➜ FLASK_APP=app.run:app flask routes
Endpoint Methods Rule
------------ ------- -----------------------
static GET /static/<path:filename>
tools.option GET /api/options
tools.ping GET /api/ping
Run server
(demo) ➜ flask -A app/run.py run
* Serving Flask app 'app/run.py'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
➜ ~ curl http://127.0.0.1:5000/api/ping
{"ping":"ok"}
➜ ~ curl http://127.0.0.1:5000/api/options
{}
Run test:
(demo) ➜ py.test
===================================================== test session starts ======================================================
platform darwin -- Python 3.7.0, pytest-5.0.1, py-1.8.0, pluggy-0.12.0 -- /Users/Legolas/.virtualenvs/demo-OzheZQoG/bin/python3.7
cachedir: .pytest_cache
rootdir: /private/tmp/demo, inifile: pytest.ini
plugins: env-0.6.2, cov-2.7.1
collected 2 items
tests/test_option.py::TestOption::test_options PASSED
tests/test_ping.py::TestAPIExample::test_ping_api PASSED
---------- coverage: platform darwin, python 3.7.0-final-0 -----------
Name Stmts Miss Cover Missing
----------------------------------------------------------
app/__init__.py 0 0 100%
app/configs/__init__.py 0 0 100%
app/configs/default.py 6 0 100%
app/configs/development.py 1 1 0% 1
app/configs/production.py 2 2 0% 1-3
app/configs/testing.py 8 0 100%
app/core/__init__.py 0 0 100%
app/exts.py 8 0 100%
app/models/__init__.py 2 0 100%
app/models/consts.py 1 0 100%
app/run.py 35 1 97% 49
app/schemas/__init__.py 2 0 100%
app/services/__init__.py 2 0 100%
app/services/option.py 6 0 100%
app/tasks/__init__.py 1 1 0% 1
app/utils/__init__.py 0 0 100%
app/views/__init__.py 2 0 100%
app/views/option.py 5 0 100%
app/views/ping.py 7 0 100%
tests/__init__.py 17 1 94% 29
tests/conftest.py 11 0 100%
tests/test_option.py 5 0 100%
tests/test_ping.py 5 0 100%
----------------------------------------------------------
TOTAL 126 6 95%
=================================================== 2 passed in 0.24 seconds ===================================================
Others
hobbit --help
dev
pip install "hobbit-core[hobbit,hobbit_core]=={version}" --pre --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hobbit_core-4.0.0.tar.gz
(33.0 kB
view details)
Built Distribution
File details
Details for the file hobbit_core-4.0.0.tar.gz
.
File metadata
- Download URL: hobbit_core-4.0.0.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a138d8c59f2a17fad8888beb483d68d741f19860c88dd0500289ca71d4756d69 |
|
MD5 | 88f867285d07db8f47f7a558339bfbc8 |
|
BLAKE2b-256 | bdfd080a9f16280c364476069df2b90180276c9e1f98e8d9b6d024b496740bce |
File details
Details for the file hobbit_core-4.0.0-py3-none-any.whl
.
File metadata
- Download URL: hobbit_core-4.0.0-py3-none-any.whl
- Upload date:
- Size: 60.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bde96bd1654e47ae925331493415563029ed39330d216ac6f314a9177ee360a |
|
MD5 | 9448b51abe9bd9608d1bb182eaf74a46 |
|
BLAKE2b-256 | 1f01a34fac60d3099c91e2a7704657734008896f50bc1376428792ebed657017 |