# Firenado Framework
[![Latest PyPI version](https://img.shields.io/pypi/v/firenado.svg)](https://pypi.org/project/firenado/)
[![Number of PyPI downloads](https://img.shields.io/pypi/dm/firenado.svg)](https://pypi.org/project/firenado/#files)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fcandango%2Ffirenado%2Fbadge&style=flat)](https://actions-badge.atrox.dev/candango/firenado/goto)
[![GitHub license](https://img.shields.io/github/license/candango/firenado)](https://github.com/candango/firenado/blob/develop/LICENSE)
## Introduction
Firenado is a Python web framework that encapsulates and extends
[Tornado](http://www.tornadoweb.org) organizing the application in
components also adding a server side session layer, yaml based configuration
files as other features common that will help developers building web
applications and services.
Firenado is a web framework that extends the original Tornado Web framework
adding new features like loose couple components, server side session layer,
yaml based configuration files and more.
## Installation
Installing Firenado will only force the installation of pyyaml, Tornado and
six. We call it the basic installation:
```
pip install firenado
```
It is possible to install extra packages as redis-py, sqlalchemy and pexpect.
Installing only redis-py:
```
pip install firenado[redis]
```
Installing only redis-py:
```
pip install firenado[sqlalchemy pexpect]
```
Installing only redis (redis-py, hiredis):
```
pip install firenado[sqlalchemy pexpect]
```
Installing redis and schedule(croniter):
```
pip install firenado[redis schedule]
```
Complete installation(what it is being the case, everytime):
```
pip install firenado[all]
```
> In the future, the installation logic will be inverted. Redis and pexpect
> will be added by default, and disabling them using optional parameters.
>
> The sqlalchemy and schedule(croniter) optionals will remain as is.
>
> With that change if you want just add schedule to the redis and pexpect:
>
> ``` pip install firenado[schedule] ```
>
> Maybe you want an agent with scheduled features and no redis:
>
> ``` pip install firenado[schedule noredis] ```
>
> Or don't need ProcessLaucher but sqlalchemy support:
>
> ``` pip install firenado[sqlalchemy nopexpect] ```
>
> See: #401
## Usage
Creating and running a new application:
```shell
firenado project init helloworld
cd helloworld
firenado app run
```
An application will be created with the redis based session engine
and a redis data source linked to the session.
Firenado won't install redis-py so it is necessary to inform the extra
requirement parameter or install it separately. It is possible to change
the session to a file based engine or disable the session engine completely.
In order to change the session type to file go to helloworld/conf/firenado.yml
and change the session definition to:
```yaml
# Session types could be:
# file or redis.
session:
type: file
enabled: true
# Redis session handler configuration
#data:
# source: session
# File session handler related configuration
path: /tmp
```
If your helloworld project isn't located in the python path just go
helloworld/conf/firenado.yml and changed it to:
```yaml
app:
component: helloworld
data:
sources:
# Set here references from sources defined on data.sources
- session
pythonpath: ..
port: 8888
```
## Support
Firenado is one of [Candango Open Source Group
](http://www.candango.org/projects/) initiatives. It is available under
the [Apache License, Version 2.0
](http://www.apache.org/licenses/LICENSE-2.0.html).
This web site and all documentation is licensed under [Creative
Commons 3.0](http://creativecommons.org/licenses/by/3.0/).
Raw data
{
"_id": null,
"home_page": "https://github.com/candango/firenado",
"name": "Firenado",
"maintainer": "Flavio Garcia",
"docs_url": null,
"requires_python": ">= 3.8",
"maintainer_email": "piraz@candango.org",
"keywords": "",
"author": "Flavio Garcia",
"author_email": "piraz@candango.org",
"download_url": "https://files.pythonhosted.org/packages/2e/ae/2b12f17f2a345e8818b3161aaca1e62040c6e7f3b280bf150c5c1d7308dd/Firenado-0.9.4.tar.gz",
"platform": null,
"description": "# Firenado Framework \n\n[![Latest PyPI version](https://img.shields.io/pypi/v/firenado.svg)](https://pypi.org/project/firenado/)\n[![Number of PyPI downloads](https://img.shields.io/pypi/dm/firenado.svg)](https://pypi.org/project/firenado/#files)\n[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fcandango%2Ffirenado%2Fbadge&style=flat)](https://actions-badge.atrox.dev/candango/firenado/goto)\n[![GitHub license](https://img.shields.io/github/license/candango/firenado)](https://github.com/candango/firenado/blob/develop/LICENSE)\n\n## Introduction\n\nFirenado is a Python web framework that encapsulates and extends\n[Tornado](http://www.tornadoweb.org) organizing the application in\ncomponents also adding a server side session layer, yaml based configuration\nfiles as other features common that will help developers building web\napplications and services.\n\nFirenado is a web framework that extends the original Tornado Web framework\nadding new features like loose couple components, server side session layer, \nyaml based configuration files and more.\n\n## Installation\n\nInstalling Firenado will only force the installation of pyyaml, Tornado and\nsix. We call it the basic installation:\n\n```\npip install firenado\n```\n\nIt is possible to install extra packages as redis-py, sqlalchemy and pexpect.\n\nInstalling only redis-py:\n\n```\npip install firenado[redis]\n```\n\nInstalling only redis-py:\n\n```\npip install firenado[sqlalchemy pexpect]\n```\n\nInstalling only redis (redis-py, hiredis):\n\n```\npip install firenado[sqlalchemy pexpect]\n```\n\nInstalling redis and schedule(croniter):\n\n```\npip install firenado[redis schedule]\n```\n\nComplete installation(what it is being the case, everytime):\n\n```\npip install firenado[all]\n```\n\n> In the future, the installation logic will be inverted. Redis and pexpect\n> will be added by default, and disabling them using optional parameters.\n>\n> The sqlalchemy and schedule(croniter) optionals will remain as is.\n>\n> With that change if you want just add schedule to the redis and pexpect:\n>\n> ``` pip install firenado[schedule] ```\n>\n> Maybe you want an agent with scheduled features and no redis:\n>\n> ``` pip install firenado[schedule noredis] ```\n>\n> Or don't need ProcessLaucher but sqlalchemy support:\n>\n> ``` pip install firenado[sqlalchemy nopexpect] ```\n>\n> See: #401\n\n## Usage\n\nCreating and running a new application:\n\n```shell\nfirenado project init helloworld\ncd helloworld\nfirenado app run\n```\n\nAn application will be created with the redis based session engine\nand a redis data source linked to the session.\n\nFirenado won't install redis-py so it is necessary to inform the extra\nrequirement parameter or install it separately. It is possible to change \nthe session to a file based engine or disable the session engine completely.\n\nIn order to change the session type to file go to helloworld/conf/firenado.yml\nand change the session definition to:\n\n```yaml\n# Session types could be:\n# file or redis.\nsession:\n type: file\n enabled: true\n # Redis session handler configuration\n #data:\n # source: session\n # File session handler related configuration\n path: /tmp\n```\n\nIf your helloworld project isn't located in the python path just go \nhelloworld/conf/firenado.yml and changed it to:\n\n```yaml\napp:\n component: helloworld\n data:\n sources:\n # Set here references from sources defined on data.sources\n - session\n pythonpath: ..\n port: 8888\n```\n\n## Support\n\nFirenado is one of [Candango Open Source Group\n](http://www.candango.org/projects/) initiatives. It is available under\nthe [Apache License, Version 2.0\n](http://www.apache.org/licenses/LICENSE-2.0.html).\n\nThis web site and all documentation is licensed under [Creative\nCommons 3.0](http://creativecommons.org/licenses/by/3.0/).\n",
"bugtrack_url": null,
"license": "Apache License V2.0",
"summary": "Firenado is a python web framework based on Tornado web framework/server.",
"version": "0.9.4",
"project_urls": {
"Homepage": "https://github.com/candango/firenado"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bce7bac19154bc22a08c7c9eb360743b040abdd8a3928c7aace0c1615b53136f",
"md5": "802a31b74a3de529b10cd6e5c845ea2b",
"sha256": "281771b95e83a4d61c54dbd2c791b20e8d163dd9724f522d299f1da3d132a66c"
},
"downloads": -1,
"filename": "Firenado-0.9.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "802a31b74a3de529b10cd6e5c845ea2b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.8",
"size": 90858,
"upload_time": "2024-02-24T01:33:05",
"upload_time_iso_8601": "2024-02-24T01:33:05.484537Z",
"url": "https://files.pythonhosted.org/packages/bc/e7/bac19154bc22a08c7c9eb360743b040abdd8a3928c7aace0c1615b53136f/Firenado-0.9.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2eae2b12f17f2a345e8818b3161aaca1e62040c6e7f3b280bf150c5c1d7308dd",
"md5": "dd031d577a41fb8e05be890c5553518d",
"sha256": "4d92364bc7cbca0e54bb5a1ec60674a19d08e0cf873dd0b9673ee607e66cfcc9"
},
"downloads": -1,
"filename": "Firenado-0.9.4.tar.gz",
"has_sig": false,
"md5_digest": "dd031d577a41fb8e05be890c5553518d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.8",
"size": 62218,
"upload_time": "2024-02-24T01:33:12",
"upload_time_iso_8601": "2024-02-24T01:33:12.310444Z",
"url": "https://files.pythonhosted.org/packages/2e/ae/2b12f17f2a345e8818b3161aaca1e62040c6e7f3b280bf150c5c1d7308dd/Firenado-0.9.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-24 01:33:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "candango",
"github_project": "firenado",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"landscape": true,
"lcname": "firenado"
}