{"id":21832628,"url":"https://github.com/hattya/ayame","last_synced_at":"2025-04-14T07:37:13.743Z","repository":{"id":1575180,"uuid":"2021562","full_name":"hattya/ayame","owner":"hattya","description":"An Apache Wicket-like component based WSGI framework","archived":false,"fork":false,"pushed_at":"2025-02-09T13:19:47.000Z","size":630,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T21:11:43.911Z","etag":null,"topics":["python","web-framework","wsgi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hattya.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2011-07-09T07:49:25.000Z","updated_at":"2025-02-09T13:19:52.000Z","dependencies_parsed_at":"2024-02-10T09:30:39.984Z","dependency_job_id":"37470039-d514-4f0b-b77f-79427e68c9a5","html_url":"https://github.com/hattya/ayame","commit_stats":{"total_commits":284,"total_committers":2,"mean_commits":142.0,"dds":"0.0035211267605633756","last_synced_commit":"75852b4dda9e98db1107a9c905054a38bf32e04d"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fayame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fayame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fayame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fayame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hattya","download_url":"https://codeload.github.com/hattya/ayame/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248840462,"owners_count":21169987,"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":["python","web-framework","wsgi"],"created_at":"2024-11-27T19:24:28.450Z","updated_at":"2025-04-14T07:37:13.714Z","avatar_url":"https://github.com/hattya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ayame\n=====\n\nAyame is a component based WSGI framework. It is inspired by\n`Apache Wicket`_, `Apache Click`_ and Flask_.\n\n.. image:: https://img.shields.io/pypi/v/ayame.svg\n   :target: https://pypi.org/project/ayame\n\n.. image:: https://github.com/hattya/ayame/actions/workflows/ci.yml/badge.svg\n   :target: https://github.com/hattya/ayame/actions/workflows/ci.yml\n\n.. image:: https://ci.appveyor.com/api/projects/status/67nbqb4ej84liu9m?svg=true\n   :target: https://ci.appveyor.com/project/hattya/ayame\n\n.. image:: https://codecov.io/gh/hattya/ayame/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/hattya/ayame\n\n.. _Apache Wicket: https://wicket.apache.org/\n.. _Apache Click: https://click.apache.org/\n.. _Flask: https://palletsprojects.com/p/flask\n\n\nRequirements\n------------\n\n- Python 3.9+\n- Werkzeug\n- secure-cookie\n\n\nExample Application\n-------------------\n\n::\n\n    app.wsgi\n    app/\n        HelloWorld.html\n\n\napp.wsgi\n~~~~~~~~\n\n.. code:: python\n\n    from ayame import Ayame, Page\n    from ayame.basic import Label\n\n\n    class HelloWorld(Page):\n\n        def __init__(self):\n            super().__init__()\n            self.add(Label('message', 'Hello World!'))\n\n\n    application = Ayame(__name__)\n\n    map = application.config['ayame.route.map']\n    map.connect('/', HelloWorld)\n\n\nHelloWorld.html\n~~~~~~~~~~~~~~~\n\n.. code:: html\n\n    \u003c?xml version=\"1.0\"?\u003e\n    \u003c!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"\u003e\n    \u003chtml xmlns=\"http://www.w3.org/1999/xhtml\"\n          xmlns:ayame=\"http://hattya.github.io/ayame\"\u003e\n      \u003chead\u003e\n        \u003ctitle\u003eHelloWorld\u003c/title\u003e\n      \u003c/head\u003e\n      \u003cbody\u003e\n        \u003cp ayame:id=\"message\"\u003e...\u003c/p\u003e\n      \u003c/body\u003e\n    \u003c/html\u003e\n\n\nLicense\n-------\n\nAyame is distributed under the terms of the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhattya%2Fayame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhattya%2Fayame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhattya%2Fayame/lists"}