{"id":15164281,"url":"https://github.com/tomson601/gerent","last_synced_at":"2026-02-28T19:01:58.932Z","repository":{"id":65817254,"uuid":"598218063","full_name":"Tomson601/gerent","owner":"Tomson601","description":"Gerent is a simple and lightweight web-framework for MicroPython.","archived":false,"fork":false,"pushed_at":"2023-02-12T00:16:02.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T11:49:06.477Z","etag":null,"topics":["esp8266","micropython","pypi-package","raspberry-pi-pico"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/gerent/","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/Tomson601.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":"2023-02-06T16:45:16.000Z","updated_at":"2023-02-11T18:58:24.000Z","dependencies_parsed_at":"2023-02-22T10:31:06.124Z","dependency_job_id":null,"html_url":"https://github.com/Tomson601/gerent","commit_stats":{"total_commits":25,"total_committers":3,"mean_commits":8.333333333333334,"dds":"0.19999999999999996","last_synced_commit":"962b00fb4d750c0a31487fd7b68724f23179aaf9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tomson601/gerent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomson601%2Fgerent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomson601%2Fgerent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomson601%2Fgerent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomson601%2Fgerent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tomson601","download_url":"https://codeload.github.com/Tomson601/gerent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomson601%2Fgerent/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267930630,"owners_count":24167475,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["esp8266","micropython","pypi-package","raspberry-pi-pico"],"created_at":"2024-09-27T03:03:32.083Z","updated_at":"2025-11-09T19:31:10.564Z","avatar_url":"https://github.com/Tomson601.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gerent\nGerent is a simple and lightweight web-framework for MicroPython.  \n\n# pypi link:\nhttps://pypi.org/project/gerent/\n\n# TODO:\n- beautify pyproject.toml  \n- ✅ add post and put methods  \n- ✅ add custom http_headers option  \n- create docs (how does it work, pictures)  \n- add favicon.ico support  \n- ✅ create API root, with all url's  \n- add examples  \n- beutify micropython code?  \n- add unitest tests  \n- beautify web root site, add unified style  \n- query params  \n- optimize create_root_site  \n\n\n# Currently supported devices:  \n- Raspberry Pi Pico W  \n- ESP8266  \n\n# Example:\n```python\nimport gerent, socket\n\n@gerent.route(\"/hello/world\")\ndef hello_world(request):\n  return(200, {}, \"Hello from gerent framework!\")\n\n# create socket\naddr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]\n\ns = socket.socket()\ns.bind(addr)\ns.listen(1)\n\n# run gerent client\nwhile True:\n  gerent.listen(s)\n```\n# Docs:\nHow does it work?  \nWhile defining routes, for example:  \n```python\n@gerent.route(\"/hello/world\", ['POST'])\ndef hello_world(request):\n  return(200, {}, \"Hello from gerent framework!\")\n```\nGerent backend creates an entry in url linker register:  \n```python\n{'route': '/hello/world', 'methods': ['POST'], 'function': \u003cfunction hello_world at 0x2000c1c0\u003e}\n```\nUrl linker contains basic informations about route, avaliable methods and linked function for defined url.  \nWhile Gerent client is running:  \n```python\nwhile True:\n  gerent.listen(socket)\n```\nit's listening for incoming traffic, analyzing requests and properly responding to client's requests.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomson601%2Fgerent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomson601%2Fgerent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomson601%2Fgerent/lists"}