{"id":37068036,"url":"https://github.com/godwins3/dustapi","last_synced_at":"2026-01-14T07:59:48.864Z","repository":{"id":245487664,"uuid":"818397349","full_name":"godwins3/dustapi","owner":"godwins3","description":"A simple light weight python web framework","archived":false,"fork":false,"pushed_at":"2025-10-01T11:11:38.000Z","size":182,"stargazers_count":11,"open_issues_count":7,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-12T04:21:46.893Z","etag":null,"topics":["backend","backend-api","dustapi","web-development"],"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/godwins3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"License","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-21T19:01:42.000Z","updated_at":"2025-07-16T12:04:27.000Z","dependencies_parsed_at":"2024-06-26T15:39:50.221Z","dependency_job_id":"ecfc77b3-5f33-4080-b652-3a4e91f37f70","html_url":"https://github.com/godwins3/dustapi","commit_stats":null,"previous_names":["godwins3/dust","godwins3/dustapi"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/godwins3/dustapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godwins3%2Fdustapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godwins3%2Fdustapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godwins3%2Fdustapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godwins3%2Fdustapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/godwins3","download_url":"https://codeload.github.com/godwins3/dustapi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godwins3%2Fdustapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28413527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["backend","backend-api","dustapi","web-development"],"created_at":"2026-01-14T07:59:48.114Z","updated_at":"2026-01-14T07:59:48.857Z","avatar_url":"https://github.com/godwins3.png","language":"Python","readme":"# DustAPI - A Fast, Lightweight Python Web Framework\n\nDustAPI is a lightweight web framework written in Python, designed to be simple, efficient, and easy to use. It provides basic routing and response handling, making it an excellent choice for learning about web frameworks or building small to medium-sized web applications.\n\n## Features\n\n- Simple and intuitive routing\n- Searchable symmetric encryption (dust server can search encrypted data without decrypting it)\n- Support for all HTTP methods (GET, POST, PUT, DELETE, etc.)\n- WebSocket support\n- Custom response types (JSON, HTML, etc.)\n- Extensible and lightweight\n- Auto-generate API documentation with Swagger\n- JWT and session management support\n- Asynchronous request handling\n\n## Installation\n\nTo install DustAPI, use pip:\n\n```bash\npip install dustapi\n```\n\n## Quick Start\n\n### Create a DustAPI project\n\n```bash\ndustapi createproject myproject\ncd myproject\n```\n\n### Run the DustAPI server\n\n```bash\ndustapi runserver --host 0.0.0.0 --port 8000 --template-folder templates --static-folder static --log-file app.log\n```\n\n### Example Application\n\n```python\nfrom dustapi.application import Dust, get_request\nfrom dustapi.responses import JsonResponse, Response\nimport os\n\napp = Dust()\n\nUPLOAD_FOLDER = 'uploads'\nos.makedirs(UPLOAD_FOLDER, exist_ok=True)\n\ndef save_uploaded_file(file_data, upload_folder):\n    filename = file_data['filename']\n    filepath = os.path.join(upload_folder, filename)\n    with open(filepath, 'wb') as f:\n        f.write(file_data['content'])\n    return filename\n\n@app.route('/', methods=['GET'])\nasync def home():\n    return app.render_template('index.html', title=\"Home\", heading=\"Welcome to DustAPI\", content=\"This is the home page.\")\n\n@app.route('/hello', methods=['GET'])\nasync def hello():\n    return \"Hello, World!\"\n\n@app.route('/json', methods=['GET'])\nasync def json_example():\n    return JsonResponse({\"message\": \"This is a JSON response\"})\n\n@app.route('/upload', methods=['POST'])\nasync def upload_file():\n    request = get_request()\n    if 'file' not in request.form:\n        raise ValueError(\"No file part in the request\")\n    \n    file_data = request.form['file']\n    filename = save_uploaded_file(file_data, UPLOAD_FOLDER)\n    return f\"File {filename} uploaded successfully\"\n\n@app.errorhandler(ValueError)\ndef handle_value_error(exc):\n    return Response(str(exc), status=400)\n\n@app.errorhandler(Exception)\ndef handle_generic_exception(exc):\n    return Response(\"An unexpected error occurred.\", status=500)\n\nif __name__ == '__main__':\n    app.run(host='localhost', port=5000)\n\n```\n\n## Documentation\n\nFor detailed documentation, visit our [official documentation site](https://dustapi.readthedocs.io).\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for more details.\n\n## Roadmap\n\n- [ ] AI/ML model inference and consumption\n- [ ] Middleware support\n- [ ] Database ORM integration\n- [ ] Improved WebSocket support\n- [ ] CLI tools for project scaffolding\n\n## License\n\nDustAPI is released under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Support\n\nIf you encounter any issues or have questions, please [open an issue](https://github.com/godwins3/dustapi/issues) on our GitHub repository.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodwins3%2Fdustapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgodwins3%2Fdustapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodwins3%2Fdustapi/lists"}