chill


Namechill JSON
Version 0.10.0 PyPI version JSON
download
home_page
SummaryDatabase driven web application framework in Flask
upload_time2023-12-15 05:11:53
maintainer
docs_urlNone
author
requires_python<4,>=3.10
licenseLGPLv3+
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Cascading, Highly Irrelevant, Lost Llamas

*Or, just chill.*  This is a **database driven web application framework in
[Flask](https://palletsprojects.com/p/flask/)** and it can be used to create
static or dynamic web sites.

This involves creating custom SQL queries to pull data from a database and uses
[Jinja2](https://palletsprojects.com/p/jinja/) HTML 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.

## Installing

Chill can be installed via pip.
```bash
python3 -m pip install chill[cli]
```

Or from within this cloned project; install with pip in editable mode.  It is
recommended to setup a virtual environment first.

```bash
# Create a python virtual environment in the project directory and activate it.
python3 -m venv .
source ./bin/activate

# Install chill in editable mode
python -m pip install -e .[cli,test]
```

This will create a script called `chill`.  Type `chill --help` for help on using
it.  It will need a config file and such.  I recommend creating an empty
directory and running `chill init` within it.  That will create a `site.cfg`
config file and the bare minimum to show a homepage.  Run the 
`chill run --config site.cfg` 
and visit http://localhost:5000/ with your browser.

## Quick start

Run the `chill init` script in an empty directory and it will create a minimal
starting point for using Chill. The `site.cfg` created will have comments on each
configuration value.  The `chill run --config site.cfg` will run the app in the
foreground at the http://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 the
[docs/](docs/) folder.  The [tests.py](src/chill/tests.py) file within the chill
package is also a good resource.

## Static site generator

The command `chill freeze --config site.cfg` will 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.

## Docker

A `Dockerfile` has been included which can be used when creating a container for
chill.  See the 
[guide on using chill with docker](docs/docker-container-usage.md).


## Contributing

Please contact [Jake Hickenlooper](mailto:jake@massive.xyz) or create an issue.

Any submitted changes to this project require the commits to be signed off with
the [git command option
'--signoff'](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff).
This ensures that the committer has the rights to submit the changes under the
project's license and agrees to the [Developer Certificate of
Origin](https://developercertificate.org).

## License

[GNU Lesser General Public License v3.0](https://choosealicense.com/licenses/lgpl-3.0/)

## Maintenance

Where 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.
```bash
make upkeep
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "chill",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "<4,>=3.10",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "Jake Hickenlooper <jake@massive.xyz>",
    "download_url": "https://files.pythonhosted.org/packages/d3/64/bc191bcbad983db0c3f45d9d99cd5f94eed0a10fe54e52d2c42668378221/chill-0.10.0.tar.gz",
    "platform": null,
    "description": "# Cascading, Highly Irrelevant, Lost Llamas\n\n*Or, just chill.*  This is a **database driven web application framework in\n[Flask](https://palletsprojects.com/p/flask/)** and it can be used to create\nstatic or dynamic web sites.\n\nThis involves creating custom SQL queries to pull data from a database and uses\n[Jinja2](https://palletsprojects.com/p/jinja/) HTML templates to populate pages\nfor a website.  Chill can create static files for the website or can run as\na Flask app and build pages on request.\n\nChill is database driven when it comes to handling http requests.  Each http\nrequest uses data from the database when determining what content to show on the\npage as well as what HTML templates to use.  Content for a page can come from\nother database queries and can recursively call other queries when populating\nthe page.\n\n## Installing\n\nChill can be installed via pip.\n```bash\npython3 -m pip install chill[cli]\n```\n\nOr from within this cloned project; install with pip in editable mode.  It is\nrecommended to setup a virtual environment first.\n\n```bash\n# Create a python virtual environment in the project directory and activate it.\npython3 -m venv .\nsource ./bin/activate\n\n# Install chill in editable mode\npython -m pip install -e .[cli,test]\n```\n\nThis will create a script called `chill`.  Type `chill --help` for help on using\nit.  It will need a config file and such.  I recommend creating an empty\ndirectory and running `chill init` within it.  That will create a `site.cfg`\nconfig file and the bare minimum to show a homepage.  Run the \n`chill run --config site.cfg` \nand visit http://localhost:5000/ with your browser.\n\n## Quick start\n\nRun the `chill init` script in an empty directory and it will create a minimal\nstarting point for using Chill. The `site.cfg` created will have comments on each\nconfiguration value.  The `chill run --config site.cfg` will run the app in the\nforeground at the http://localhost:5000/ URL. Notice that the script also\ncreates a sqlite database file (default file name is 'db') in that directory.\nThis database file is what chill uses to display the pages in a site.\n\n**Review the docs for more.** Some helpful guides and such are in the\n[docs/](docs/) folder.  The [tests.py](src/chill/tests.py) file within the chill\npackage is also a good resource.\n\n## Static site generator\n\nThe command `chill freeze --config site.cfg` will go through all the URLs and\ncreate a static version of each page.  It places all the necessary files in\na folder which can then be uploaded to a static web server.  This is a wrapper\naround the Frozen-Flask python package.  Which is partly the inspiration behind\nthe name 'chill'.  Also, llamas are cool and have two 'l's like chill.\n\n## Docker\n\nA `Dockerfile` has been included which can be used when creating a container for\nchill.  See the \n[guide on using chill with docker](docs/docker-container-usage.md).\n\n\n## Contributing\n\nPlease contact [Jake Hickenlooper](mailto:jake@massive.xyz) or create an issue.\n\nAny submitted changes to this project require the commits to be signed off with\nthe [git command option\n'--signoff'](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff).\nThis ensures that the committer has the rights to submit the changes under the\nproject's license and agrees to the [Developer Certificate of\nOrigin](https://developercertificate.org).\n\n## License\n\n[GNU Lesser General Public License v3.0](https://choosealicense.com/licenses/lgpl-3.0/)\n\n## Maintenance\n\nWhere possible, an upkeep comment has been added to various parts of the source\ncode. These are known areas that will require updates over time to reduce\nsoftware rot. The upkeep comment follows this pattern to make it easier for\ncommands like grep to find these comments.\n\nExample UPKEEP comment has at least a 'due:' or 'label:' or 'interval:' value\nsurrounded by double quotes (\").\n````\nExample-> # UPKEEP due: \"2022-12-14\" label: \"Llama Pie\" interval: \"+4 months\"\n````\n\nShow only past due UPKEEP comments.\n```bash\nmake upkeep\n```\n",
    "bugtrack_url": null,
    "license": "LGPLv3+",
    "summary": "Database driven web application framework in Flask",
    "version": "0.10.0",
    "project_urls": {
        "Homepage": "https://git.sr.ht/~jkenlooper/chill"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c30f635cee6ba2109612814ec4ff95263eca53fff386979397789fbf0be03a2",
                "md5": "172094c636c10c81759ea28867d98114",
                "sha256": "a3830e55ca97fc9ac90cc888bf5de507bfaf220fa8d5bffee2f0c8a6dfb21109"
            },
            "downloads": -1,
            "filename": "chill-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "172094c636c10c81759ea28867d98114",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.10",
            "size": 68411,
            "upload_time": "2023-12-15T05:11:51",
            "upload_time_iso_8601": "2023-12-15T05:11:51.855944Z",
            "url": "https://files.pythonhosted.org/packages/9c/30/f635cee6ba2109612814ec4ff95263eca53fff386979397789fbf0be03a2/chill-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d364bc191bcbad983db0c3f45d9d99cd5f94eed0a10fe54e52d2c42668378221",
                "md5": "d4e5ed8844b0514988c7d176eb398134",
                "sha256": "8da54085c5385580b56016134e723fe7f25f1d8db82ad9be33c10c55537c0784"
            },
            "downloads": -1,
            "filename": "chill-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d4e5ed8844b0514988c7d176eb398134",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.10",
            "size": 52422,
            "upload_time": "2023-12-15T05:11:53",
            "upload_time_iso_8601": "2023-12-15T05:11:53.885604Z",
            "url": "https://files.pythonhosted.org/packages/d3/64/bc191bcbad983db0c3f45d9d99cd5f94eed0a10fe54e52d2c42668378221/chill-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-15 05:11:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "chill"
}
        
Elapsed time: 0.14974s