Skip to content

Overview 🚀

Welcome to PyNest! PyNest is a Python framework built on top of FastAPI that follows the modular architecture of NestJS. It's designed to help you structure your APIs in an intuitive, easy-to-understand, and enjoyable way.

With PyNest, you can build scalable and maintainable APIs with ease. The framework supports dependency injection, type annotations, decorators, and code generation, making it easy to write clean and testable code.

This framework is not a direct port of NestJS to Python but rather a re-imagining of the framework specifically for Python developers, including data scientists, data analysts, and data engineers. It aims to assist them in building better and faster APIs for their data applications.

Key Features ✨

Modular Architecture 🏗️

PyNest follows the modular architecture of NestJS, which allows for easy separation of concerns and code organization. Each module contains a collection of related controllers, services, and providers.

Dependency Injection 💉

PyNest supports dependency injection, which makes it easy to manage dependencies and write testable code. You can easily inject services and providers into your controllers using decorators.

Decorators 🏷️

PyNest makes extensive use of decorators to define routes, middleware, and other application components. This helps keep the code concise and easy to read.

Type Annotations 📝

PyNest leverages Python's type annotations to provide better tooling and help prevent errors. You can annotate your controllers, services, and providers with types to make your code more robust.

Code Generation ⚙️

PyNest includes a code generation tool that can create boilerplate code for modules, controllers, and other components. This saves you time and helps you focus on writing the code that matters.

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

Credits 💡

  • NestJS, a framework for building Node.js applications.
  • FastAPI, a framework for building Python applications.