ViloLog: Simple blogging engine, built atop Vilo and PogoDB.
ViloLog is a bit like Jekyll, but backed by a database, not the file system.
Install via pip:
pip install vilolog
ViloLog builds a pure WSGI application. To run that application, you'll need Waitress, Gunicorn or another WSGI server. We recommend using Waitress, with Hupper for development:
pip install waitress hupper
Pass a Postgres connection string to
vilolog.buildApp(.) to create your blog.
import vilolog; app = vilolog.buildApp("postgres://...dsn.."); wsgi = app.wsgi;
app is a Vilo app-container, and
wsgi is the corresponding pure-WSGI callable. To run
wsgi via Waitress atop Hupper:
hupper -m waitress blog:wsgi
Or without Hupper:
python -m waitress blog:wsgi
Hupper is useful for development and testing, but needn't be used in production.
Once running, visit
localhost:8080/_setup in your preferred browser to complete setup.
After completing setup, you should be able to login to your blog. By default, you can log in by visiting
/_login; but this can be configured via
loginSlug parameter, documented below.
vilolog.buildApp(.) accepts a number of parameters, only the first of which is required:
pgUrl(required, str): Postgres connection string.
blogId(optional, str): Useful if you have multiple blogs.
blogTitle(optional, str): Self explanatory.
blogDescription(optional, str): Self explanatory.
footerLine(optional, str): Footer attribution line.
cookieSecret(recommended, str): Secret for signing (authentication) cookie.
antiCsrfSecret(recommended, str): Secret for signing anti-CSRF token.
blogThemeDir(optional, str): Path to custom theme directory. (More on this later.)
_adminThemeDir(Non-recommended, str): Path to custom theme directory for the backend-admin UX.
devMode(optional, bool, default:
False): Enable during development to prevent caching etc.
redirectMap(optional, dict): Mapping from source path to target path.
loginSlug(recommended, str, default:
"_login"): The URL-slug for the login-page for admins. Must begin with
"_login"and may only contain word characters, matching
disableRemoteLogin(recommended, bool, default:
False): If truthy, admins must login via localhost only.
remoteNetlocList: (optional, list of str): List of valid remote netlocs that the blog expects to run at. (Doesn't affect localhost.)
remoteHttpsOnly(recommended, bool, default:
False): If truthy, HTTPS will be enforced, except on loclhost.
Note: While only
pgUrl is required, we recommend explicitly passing each parameter that's labelled as 'recommended' above, even for picking default values.
ViloLog is currently in a nascent stage. As work progresses, we'll be adding docs, screenshots, theming, etc.
Copyright (c) 2020 Polydojo, Inc.
The software is released "AS IS" under the GNU GPLv3+, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Kindly see LICENSE.txt for more details.
No Trademark Rights:
The above software licensing terms do not grant any right in the trademarks, service marks, brand names or logos of Polydojo, Inc.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size vilolog-0.0.7.tar.gz (29.0 kB)||File type Source||Python version None||Upload date||Hashes View|
|Filename, size vilolog-0.0.7-py2.py3-none-any.whl (38.7 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
Hashes for vilolog-0.0.7-py2.py3-none-any.whl