python-betterproto
Dependency Injector
Our great sponsors
python-betterproto | Dependency Injector | |
---|---|---|
2 | 7 | |
1,378 | 3,581 | |
- | 1.9% | |
7.2 | 0.0 | |
10 days ago | about 2 months ago | |
Python | Python | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
python-betterproto
- Q: Best options for generating python?
-
protogen: write protoc plugins in Python
For context: in a project I was working on recently, we relied heavily on Protocol buffers. All our internal and external services expose a GRPC interface. Also the client libraries that are used by the end users rely on the Proto service interfaces. However, shipping simply the generated code that comes with the official protoc Python plugin or any other standardised Python protoc plugin (like betterproto) was not sufficient for us. We wanted certain modifications and additions to the generated client code like service clients that would automatically pick up credentials/service account files, a more Pythonic handling for requests that work with pagination or long running operations etc.
Dependency Injector
-
Java 21 makes me like Java again
Nothing to do with the nature of the language, but with the nature of the program.
If you're writing a few line script, you don't need a DI container. Once your program gets large, it becomes extremely messy without one. It's no surprise projects like [1] exist.
[1] https://github.com/ets-labs/python-dependency-injector
-
Do You Use Singletons?
Totally agree with this. And I’ve found this pattern pairs really well with https://python-dependency-injector.ets-labs.org/
-
Compclasses: prefer composition over inheritance
dependency_injector: https://github.com/ets-labs/python-dependency-injector
-
Loosely coupled Python code with Dependency Injection
As projects continue to grow, its recommended to utilise a dependency injection framework to “inject” these dependencies, such as Dependency Injector, to inject dependency arguments automatically ✨.
-
What is the best practice for injecting configuration into a python application
One approach is to pass this config as a variable to every class it is required, which I dont prefer. Another option is to annotate the config class as singleton and create the config object at every place where I need them. I also came across this library called Dependency_Injector. https://python-dependency-injector.ets-labs.org/ This seems a bit heavy weight for my use case though. I am looking forward to know how other solve this problem
-
Dependency Injection and Python
Dependency Injector
-
Introduction to Dependency Injection in Python
dependency-injector (docs) is python library that provides a framework which enables you to implement DI and IoC in Python.
What are some alternatives?
protogen-python - The protogen package makes it easy to write protoc plugins in Python
django-rest-framework - Web APIs for Django. 🎸
steam.py - An async python wrapper to interact with the Steam API and its CMs
kink - Dependency injection container made for Python
aioredis - asyncio (PEP 3156) Redis support
flask-restful - Simple framework for creating REST APIs
pfun - Functional, composable, asynchronous, type-safe Python.
falcon - The no-magic web data plane API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.
StringEncrypt-Python - StringEncrypt allows you to encrypt strings and files using a randomly generated algorithm, generating a unique decryption code (so-called polymorphic code) each time in the selected programming language.
connexion - Connexion is a modern Python web framework that makes spec-first and api-first development easy.
flask-api - Browsable web APIs for Flask.
Flask-Redis - A Flask extension for using Redis