{"id":25039450,"url":"https://github.com/ishanoshada/endly","last_synced_at":"2026-02-10T17:03:24.505Z","repository":{"id":274023217,"uuid":"921659569","full_name":"Ishanoshada/Endly","owner":"Ishanoshada","description":"A lightweight Python web framework for building fast and scalable backend applications","archived":false,"fork":false,"pushed_at":"2025-01-27T12:32:39.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-02T10:51:51.160Z","etag":null,"topics":["api","backend","endly","fast","http","rest","web-framework","wsgi"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/endly/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ishanoshada.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-01-24T11:19:00.000Z","updated_at":"2025-01-27T12:32:42.000Z","dependencies_parsed_at":"2025-04-13T23:10:32.953Z","dependency_job_id":"8314897e-54c2-4094-84e1-8d17a91050b2","html_url":"https://github.com/Ishanoshada/Endly","commit_stats":null,"previous_names":["ishanoshada/endly"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Ishanoshada/Endly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ishanoshada%2FEndly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ishanoshada%2FEndly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ishanoshada%2FEndly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ishanoshada%2FEndly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ishanoshada","download_url":"https://codeload.github.com/Ishanoshada/Endly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ishanoshada%2FEndly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29308912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T16:09:25.305Z","status":"ssl_error","status_checked_at":"2026-02-10T16:08:52.170Z","response_time":65,"last_error":"SSL_read: 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":["api","backend","endly","fast","http","rest","web-framework","wsgi"],"created_at":"2025-02-06T02:51:53.015Z","updated_at":"2026-02-10T17:03:24.464Z","avatar_url":"https://github.com/Ishanoshada.png","language":"Python","readme":"# Endly\n\nEndly is a lightweight Python web framework for building fast and scalable backend applications. It provides a simple and intuitive API for defining routes, handling requests, and serving static files.\n\n## Table of Contents\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n    - [Basic Example](#basic-example)\n    - [Serving Static Files](#serving-static-files)\n    - [Middleware](#middleware)\n    - [Error Handling](#error-handling)\n- [Contributing](#contributing)\n- [License](#license)\n- [Project Structure](#project-structure)\n- [Future Updates](#future-updates)\n\n## Features\n\n- **Routing**: Define routes with dynamic parameters.\n- **Static File Serving**: Serve static files from a specified directory.\n- **Middleware**: Add pre-processing and post-processing middleware.\n- **JSON Support**: Automatically serialize Python dictionaries to JSON responses.\n- **Error Handling**: Custom error handlers for 404 and 500 errors.\n- **Concurrency**: Handle multiple requests concurrently using threading.\n- **Logging**: Built-in logging for debugging and monitoring.\n\n## Installation\n\nYou can install Endly using pip:\n\n```bash\npip install endly\n```\n\nFor development installation:\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/endly.git\ncd endly\n\n# Install in development mode\npip install -e .\n```\n\nTo verify installation:\n```python\nimport endly\n```\n\n## Usage\n\n### Basic Example\n\n```python\nfrom endly import App, route\n\n# Create the app\napp = App(__name__, host=\"0.0.0.0\", port=8080)\n\n# Define routes\n@app.group('/api')\nclass UserRoutes:\n        @route('/home')\n        def home():\n                return \"Hello, World!\"\n\n        @route('/user/\u003cname\u003e')\n        def user(name):\n                return {\"message\": f\"Hello, {name}!\"}\n\n# Run the server\napp.run()\n```\n\n### Serving Static Files\n\n1. Create a `static` directory and add an `index.html` file:\n     ```html\n     \u003c!-- static/index.html --\u003e\n     \u003c!DOCTYPE html\u003e\n     \u003chtml\u003e\n     \u003chead\u003e\n             \u003ctitle\u003eStatic File\u003c/title\u003e\n     \u003c/head\u003e\n     \u003cbody\u003e\n             \u003ch1\u003eHello from a static file!\u003c/h1\u003e\n     \u003c/body\u003e\n     \u003c/html\u003e\n     ```\n\n2. Update `main.py` to serve static files:\n     ```python\n     from endly import App, route\n\n     # Create the app with static file support\n     app = App(__name__, host=\"0.0.0.0\", port=8080, static_dir=\"static\")\n\n     # Define routes\n     @app.group('/api')\n     class UserRoutes:\n             @route('/home')\n             def home():\n                     return \"Welcome to the Home Page!\"\n\n     # Run the server\n     app.run()\n     ```\n\n3. Visit `http://localhost:8080/static/index.html` to view the static file.\n\n### Middleware\n\nAdd middleware for pre-processing and post-processing requests:\n\n```python\nfrom endly import App, route\n\n# Create the app\napp = App(__name__, host=\"0.0.0.0\", port=8080)\n\n# Define routes\n@app.group('/api')\nclass UserRoutes:\n        @route('/home')\n        def home():\n                return \"Welcome to the Home Page!\"\n\n# Run the server\napp.run()\n```\n\nMiddleware logs:\n```\nPre-processing request: /api/home\nPost-processing response: Response\n```\n\n### Error Handling\n\nCustom error handlers for 404 and 500 errors:\n\n```python\nfrom endly import App, route\n\n# Create the app\napp = App(__name__, host=\"0.0.0.0\", port=8080)\n\n# Define routes\n@app.group('/api')\nclass UserRoutes:\n        @route('/home')\n        def home():\n                return \"Welcome to the Home Page!\"\n\n# Run the server\napp.run()\n```\n\nTest error handling:\n- Visit `http://localhost:8080/invalid` → Returns `404 Not Found`.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n\n---\n\n### **Project Structure**\n\nHere's the recommended project structure:\n\n```\nendly/\n│\n├── endly/\n│   ├── __init__.py\n│   ├── app.py\n│   ├── router.py\n│   ├── middleware.py\n│   ├── static.py\n│   ├── errors.py\n│   └── logging.py\n│\n├── main.py\n├── README.md\n├── LICENSE\n```\n\n## Future Updates\n\nHere's what's coming in future releases:\n\n- Authentication middleware and JWT support\n- Database integration (SQLAlchemy, MongoDB)\n- WebSocket support for real-time applications\n- Rate limiting and request throttling\n- API documentation generator\n- GraphQL integration\n- Docker containerization support\n- Testing utilities and fixtures\n- Performance optimization tools\n- CLI tool for project scaffolding\n\n\n**Repository Views** ![Views](https://profile-counter.glitch.me/endly/count.svg)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishanoshada%2Fendly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fishanoshada%2Fendly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishanoshada%2Fendly/lists"}