|
43 | 43 | <img src="https://raw.githubusercontent.com/alexeev-prog/pyEchoNext/refs/heads/main/docs/pallet-0.png"> |
44 | 44 | </p> |
45 | 45 |
|
46 | | - > EchoNext is a lightweight, fast and scalable web framework for Python |
47 | | - |
48 | | - > [!CAUTION] |
49 | | -> At the moment, EchoNext is under active development, many things may not work, and this version is not recommended for use (all at your own risk) |
| 46 | +**PyEchoNext** is a lightweight, high-performance web framework designed for building scalable Python web applications and APIs. With its modular architecture and focus on developer productivity, it combines Flask-like simplicity with FastAPI-inspired performance features. Built for modern web development challenges. |
50 | 47 |
|
51 | | -Welcome to **EchoNext**, where innovation meets simplicity! Are you tired of the sluggishness of traditional web frameworks? Want a solution that keeps pace with your ambitious apps? Look no further. EchoNext is your agile companion in the world of web development! |
| 48 | +> [!CAUTION] |
| 49 | +> PyEchoNext is currently in active alpha development. While core functionality is stable, some advanced features are still evolving. Production use requires thorough testing. |
52 | 50 |
|
53 | 51 | > [!NOTE] |
54 | 52 | > Versions below 0.7.14a are not recommended for use with gunicorn <23.0 due to the fact that they used an older version of gunicorn (<23.0), which was [vulnerable](https://deps.dev/advisory/osv/GHSA-hc5x-x2vx-497g). |
55 | 53 |
|
56 | | -<p align="center"> |
57 | | - <img src="https://raw.githubusercontent.com/alexeev-prog/pyEchoNext/refs/heads/main/docs/logo.jpg" width="70%" height="70%" > |
58 | | -</p> |
59 | | - |
60 | | -**Imagine** a lightweight framework that empowers you to create modern web applications with lightning speed and flexibility. With EchoNext, you're not just coding; you're building a masterpiece! |
| 54 | + > Next big update: 0.8.0 - Hybrid Performance Core: async + multithread + multiprocess |
61 | 55 |
|
62 | | - > Last stable version: 0.7.18 alpha |
63 | | -
|
64 | | - > Next Big Update: ASYNC & unicorn support |
| 56 | +You want see hybrid core before release? See [DevGuide Specs for HybridCore](./devguide/hybrid_core.md). |
65 | 57 |
|
66 | 58 | ## Check Other My Projects |
67 | 59 |
|
@@ -100,6 +92,69 @@ Welcome to **EchoNext**, where innovation meets simplicity! Are you tired of the |
100 | 92 | - Modular Design: Clean, maintainable codebase that follows best software engineering practices. |
101 | 93 | - Extensive Test Coverage: Robust test suite to ensure the library's reliability and stability. |
102 | 94 |
|
| 95 | +```mermaid |
| 96 | +graph TD |
| 97 | + A[Router] --> B[Middleware] |
| 98 | + B --> C[Controllers] |
| 99 | + C --> D[Models] |
| 100 | + C --> E[Views] |
| 101 | + D --> F[Data] |
| 102 | + E --> G[Templates] |
| 103 | + A --> H[Static Files] |
| 104 | +``` |
| 105 | + |
| 106 | + |
| 107 | +### Intelligent Routing System |
| 108 | +- **Trie-based URL dispatch** - O(m) lookup complexity |
| 109 | +- **Dynamic path parameters** - Type-annotated parameter handling |
| 110 | +- **Nested routers** - Modular application organization |
| 111 | + |
| 112 | +```python |
| 113 | +# Hierarchical routing example |
| 114 | +main_router = Router() |
| 115 | +admin_router = Router(prefix="/admin") |
| 116 | + |
| 117 | +@admin_router.route_page("/dashboard") |
| 118 | +def admin_dashboard(request, response): |
| 119 | + return render_template("admin.html") |
| 120 | + |
| 121 | +main_router.include_router(admin_router) |
| 122 | +``` |
| 123 | + |
| 124 | +### Security Framework |
| 125 | +- **Multi-layer protection**: |
| 126 | + - CSRF tokens with session binding |
| 127 | + - XSS double-escaping (content + attributes) |
| 128 | + - SQL injection pattern filtering |
| 129 | + - Rate limiting (sliding window algorithm) |
| 130 | +- **Cryptographic modules**: |
| 131 | + - PSPCAlgorithm for lightweight encryption |
| 132 | + - SHA3/BLAKE3 hashing support |
| 133 | + - Salted password handling |
| 134 | + |
| 135 | +```python |
| 136 | +# Security implementation example |
| 137 | +token = Security.generate_csrf_token(session_id) |
| 138 | +filtered_query = Security.filter_sql_query("SELECT * FROM users; DROP TABLE users") |
| 139 | +``` |
| 140 | + |
| 141 | +### ⚡ Performance Optimization |
| 142 | +- **Multi-layer caching**: |
| 143 | + - LRU in-memory cache |
| 144 | + - Performance-optimized memoization |
| 145 | + - Static file preloading |
| 146 | +- **JIT-friendly design**: |
| 147 | + - Numba-compatible critical paths |
| 148 | + - Zero-copy request processing |
| 149 | + - Async-ready architecture (in development) |
| 150 | + |
| 151 | +```python |
| 152 | +# Performance-cached view |
| 153 | +@performance_cached(perf_cache) |
| 154 | +def compute_intensive_view(): |
| 155 | + return calculate_fibonacci(1000) |
| 156 | +``` |
| 157 | + |
103 | 158 | <p align="right">(<a href="#readme-top">back to top</a>)</p> |
104 | 159 |
|
105 | 160 | ## ⚙️ Functionality |
@@ -693,27 +748,47 @@ If you find Echonext valuable and want to support the project: |
693 | 748 |
|
694 | 749 | Connect with fellow Echonext users: [Join our Telegram Chat](https://t.me/pyEchoNext_Forum) |
695 | 750 |
|
696 | | -## 🔮 Roadmap |
697 | | -Our future goals for pyEchoNext include: |
| 751 | +## Roadmap & Future Development |
| 752 | + |
| 753 | +### Q2-Q3 2025 |
| 754 | +- [x] **0.8.0**: Hybrid core: async + multithread + multiprocess |
| 755 | +- [ ] Database ORM integration |
| 756 | +- [ ] OpenAPI 3.1 schema generation |
| 757 | +- [ ] Built-in monitoring dashboard |
698 | 758 |
|
699 | | -- 📚 Improve middlewares |
700 | | -- 🚀 Add async support |
701 | | -- ✅ Improve logging |
702 | | -- 🌍 Add authentication, JWT tokens |
703 | | -- 💻 Depedency Injection |
704 | | -- 🌐 More stability and scalablity |
| 759 | +### Q3-Q4 2025 |
| 760 | +- [ ] JWT authentication module |
| 761 | +- [ ] Websocket support |
| 762 | +- [ ] Distributed task queue |
| 763 | +- [ ] GRPC integration |
705 | 764 |
|
706 | 765 | <p align="right">(<a href="#readme-top">back to top</a>)</p> |
707 | 766 |
|
708 | | -## 🌟 Get Started Today! |
709 | | -Unlock your potential as a developer with Echonext. Don’t just build applications—craft experiences that resonate with your users! The possibilities are limitless when you harness the power of Echonext. |
| 767 | +## Contributor Guidelines |
| 768 | + |
| 769 | +We welcome PRs addressing: |
| 770 | +- Security enhancements |
| 771 | +- Performance optimization |
| 772 | +- Documentation improvements |
| 773 | +- Test coverage expansion |
| 774 | +- ASGI migration path |
| 775 | + |
| 776 | +**Before contributing**: |
| 777 | +1. Review [docs](https://alexeev-prog.github.io/pyEchoNext/) |
| 778 | +2. Maintain 100% test coverage for new code |
| 779 | +3. Follow PEP8 and SOLID, DRY, KISS principles |
| 780 | +4. Include type annotations |
| 781 | + |
| 782 | +<p align="right">(<a href="#readme-top">back to top</a>)</p> |
710 | 783 |
|
711 | | -**Happy Coding!** 💻✨ |
| 784 | +### License & Support |
| 785 | +This project operates under **GNU LGPL 2.1 ** - see [LICENSE ](https://github.com/alexeev-prog/pyEchoNext/blob/main/LICENSE). For enterprise support, contact [[email protected]](mailto:[email protected]). |
712 | 786 |
|
713 | | -This README is designed to grab attention from the very first lines. It emphasizes the framework's strengths and makes a compelling case for why developers should choose Echonext for their projects. Feel free to adjust any specific links or images to fit your project! |
| 787 | +**PyEchoNext** - Build robust web applications with Pythonic elegance. |
714 | 788 |
|
715 | | -## License |
716 | | -Distributed under the GNU LGPL 2.1 License. See [LICENSE](https://github.com/alexeev-prog/pyEchoNext/blob/main/LICENSE) for more information. |
| 789 | +[Explore Documentation](https://alexeev-prog.github.io/pyEchoNext) | |
| 790 | +[Report Issue](https://github.com/alexeev-prog/pyEchoNext/issues) | |
| 791 | +[View Examples](/examples) |
717 | 792 |
|
718 | 793 | <p align="right">(<a href="#readme-top">back to top</a>)</p> |
719 | 794 |
|
|
0 commit comments