Package: chill
Cascading, Highly Irrelevant, Lost LlamasOr, just chill.This is adatabase driven web application framework inFlaskand it can be used to create
static or dynamic web sites.This involves creating custom SQL queries to pull data from a database and usesJinja2HTML templates to populate pages
for a website.  Chill can create static files for the website or can run as
a Flask app and build pages on request.Chill is database driven when it comes to handling http requests.  Each http
request uses data from the database when determining what content to show on the
page as well as what HTML templates to use.  Content for a page can come from
other database queries and can recursively call other queries when populating
the page.InstallingChill can be installed via pip.python3-mpipinstallchill[cli]Or from within this cloned project; install with pip in editable mode.  It is
recommended to setup a virtual environment first.# Create a python virtual environment in the project directory and activate it.python3-mvenv.source./bin/activate# Install chill in editable modepython-mpipinstall-e.[cli,test]This will create a script calledchill.  Typechill --helpfor help on using
it.  It will need a config file and such.  I recommend creating an empty
directory and runningchill initwithin it.  That will create asite.cfgconfig file and the bare minimum to show a homepage.  Run thechill run --config site.cfgand visithttp://localhost:5000/with your browser.Quick startRun thechill initscript in an empty directory and it will create a minimal
starting point for using Chill. Thesite.cfgcreated will have comments on each
configuration value.  Thechill run --config site.cfgwill run the app in the
foreground at thehttp://localhost:5000/URL. Notice that the script also
creates a sqlite database file (default file name is 'db') in that directory.
This database file is what chill uses to display the pages in a site.Review the docs for more.Some helpful guides and such are in thedocs/folder.  Thetests.pyfile within the chill
package is also a good resource.Static site generatorThe commandchill freeze --config site.cfgwill go through all the URLs and
create a static version of each page.  It places all the necessary files in
a folder which can then be uploaded to a static web server.  This is a wrapper
around the Frozen-Flask python package.  Which is partly the inspiration behind
the name 'chill'.  Also, llamas are cool and have two 'l's like chill.DockerADockerfilehas been included which can be used when creating a container for
chill.  See theguide on using chill with docker.ContributingPlease contactJake Hickenlooperor create an issue.Any submitted changes to this project require the commits to be signed off with
thegit command option
'--signoff'.
This ensures that the committer has the rights to submit the changes under the
project's license and agrees to theDeveloper Certificate of
Origin.LicenseGNU Lesser General Public License v3.0MaintenanceWhere possible, an upkeep comment has been added to various parts of the source
code. These are known areas that will require updates over time to reduce
software rot. The upkeep comment follows this pattern to make it easier for
commands like grep to find these comments.Example UPKEEP comment has at least a 'due:' or 'label:' or 'interval:' value
surrounded by double quotes (").Example-> # UPKEEP due: "2022-12-14" label: "Llama Pie" interval: "+4 months"Show only past due UPKEEP comments.makeupkeep