{"id":22621367,"url":"https://github.com/candango/firenado","last_synced_at":"2025-04-11T16:36:56.458Z","repository":{"id":32614932,"uuid":"36200353","full_name":"candango/firenado","owner":"candango","description":"Web Framework that extends Tornado Web organizing the application, and adding extra features.","archived":false,"fork":false,"pushed_at":"2025-02-11T03:02:42.000Z","size":1001,"stargazers_count":14,"open_issues_count":42,"forks_count":9,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2025-04-11T16:36:47.164Z","etag":null,"topics":["firenado","framework","python","tornado"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":"Unmaintained","scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/candango.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-25T00:10:09.000Z","updated_at":"2025-01-28T13:14:17.000Z","dependencies_parsed_at":"2023-11-08T06:06:10.405Z","dependency_job_id":"4be1a87a-57ea-4448-93eb-2c0b05ca70b3","html_url":"https://github.com/candango/firenado","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candango%2Ffirenado","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candango%2Ffirenado/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candango%2Ffirenado/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candango%2Ffirenado/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/candango","download_url":"https://codeload.github.com/candango/firenado/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248441502,"owners_count":21104007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firenado","framework","python","tornado"],"created_at":"2024-12-08T23:08:13.067Z","updated_at":"2025-04-11T16:36:56.412Z","avatar_url":"https://github.com/candango.png","language":"Python","funding_links":[],"categories":["Third-Party Extensions"],"sub_categories":["HTTP / Networking"],"readme":"# 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\u0026style=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\u003e In the future, the installation logic will be inverted. Redis and pexpect\n\u003e will be added by default, and disabling them using optional parameters.\n\u003e\n\u003e The sqlalchemy and schedule(croniter) optionals will remain as is.\n\u003e\n\u003e With that change if you want just add schedule to the redis and pexpect:\n\u003e\n\u003e ``` pip install firenado[schedule] ```\n\u003e\n\u003e Maybe you want an agent with scheduled features and no redis:\n\u003e\n\u003e ``` pip install firenado[schedule noredis] ```\n\u003e\n\u003e Or don't need ProcessLaucher but sqlalchemy support:\n\u003e\n\u003e ``` pip install firenado[sqlalchemy nopexpect] ```\n\u003e\n\u003e 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandango%2Ffirenado","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcandango%2Ffirenado","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandango%2Ffirenado/lists"}