Meet Nexios: A New Python ASGI Framework 🚀

Hello, Devs! 👋

I'm excited to introduce Nexios, a new lightweight and high-performance ASGI framework for Python that I've been working on. Whether you're building a real-time application, a high-performance API, or a lightweight microservice, Nexios is designed to get you up and running quickly while providing all the flexibility and power you need.

Why Nexios?

As a Python developer, I've always wanted a framework that combines the simplicity of Express.js with the async capabilities of Python. After looking around and not finding exactly what I was after, I decided to build my own solution. And so, Nexios was born. Here's what makes Nexios stand out:

1. Simplicity Meets Power

Nexios keeps things simple with a developer-friendly interface. You don't have to fight with complex configurations or hidden magic to get your app running. You define async endpoints using simple Python code—just like Express.js does for JavaScript.

2. High Performance 💨

With full ASGI support, Nexios is built to handle high concurrency and real-time features. It's designed for fast responses, whether you're building an API or a WebSocket-based app.

3. ORM Agnostic 🔄

Nexios supports any ORM, making it easy to integrate with your preferred data store. Whether you're using SQLAlchemy, Tortoise, or any other ORM, Nexios has you covered.

4. Built-in Authentication 🔐

Security is built into the core of Nexios with built-in support for JWT, API Key-based authentication, and custom backends. It's easy to secure your app without the need for third-party libraries.

5. Flexible and Extensible 🔧

Nexios is designed to be as flexible as possible. You can easily extend its functionality with middleware, custom handlers, and even your own authentication backends.


How to Get Started with Nexios

Getting started with Nexios is simple. Here's how you can create your first app manually:

  1. Install Nexios:
pip install nexios
  1. Create your project structure: You can create a folder structure like this:
myproject/
       app.py
  1. Define an async route: Here's an example of how to define a simple route in app.py:
from nexios import get_application

   app = get_application()

   @app.get("/hello")
   async def hello(request, response):
       return response.json({"message": "Hello, Nexios!"})
  1. Run your app: You can run your app using an ASGI server like Uvicorn:
uvicorn app:app

That's it! Now you've got your very own Nexios app up and running.


What's Next?

I'm just getting started with Nexios, and there's plenty more on the way. The next major feature I’m working on is an admin panel, which will make managing your app even easier.

I’m also planning to enhance the documentation, add more tutorials, and continue making Nexios even more powerful. Stay tuned for more updates!


Get Involved

I’d love to hear from you. If you're excited about Nexios or have ideas on how to make it better, feel free to open an issue or contribute on GitHub: Nexios GitHub.

Thanks for checking out Nexios! If you have any questions or feedback, drop a comment below or hit me up on Twitter @techwithdunamix.


I hope this post gives you a good idea of what Nexios is all about. I’m looking forward to hearing what you think and seeing what you build with it!

Happy coding! 👨‍💻