Code Monkey home page Code Monkey logo

Comments (5)

AMontagu avatar AMontagu commented on August 14, 2024 7

Hi !

I know it's not the main question of this issue but I think it can interest some people that are asking the same as you.

We are maintening in my company: https://github.com/socotecio/django-socio-grpc/. It's originally a fork from django-grpc-framework but we added all the production ready functionnality (and we use it in production).

  • Automatic proto generation from services & serializers (and not models)
  • Decorator system inside service to acte like custom action in DRF
  • Support of async
  • Authentication
  • Fitering
  • Pagination
  • Support for library like django-filters
  • Log system

The documentation is not full yet but I am working on it when I can.

from django-grpc-framework.

markdoerr avatar markdoerr commented on August 14, 2024

Yes, I would also like to know, if there are plans to continue this project, @fengsp :)
Please let us know, if you have no time (which we fully understand) we might combine it with Stan's project (@gluk-w) ?
Because both approaches might be quite nice to be merged.. Thanks.

from django-grpc-framework.

gluk-w avatar gluk-w commented on August 14, 2024

It seems to me the idea of this project is to replicate django-rest-framework's approach where you can implement CRUD for any model easily. But the idea of django-grpc is to be a thin layer that allows launching gRPC server with instant access to Django models and other benefits of the framework. So even this project could be based on django-grpc.

@markdoerr maybe you have other ideas about what can be useful for django-grpc to have?

from django-grpc-framework.

markdoerr avatar markdoerr commented on August 14, 2024

Hi Stan (@gluk-w ), yes I think in a similar direction, django-grpc is very lean and has no further dependencies - which I like a lot, but it was clear to me, how you easily generate the model serialisations (that's why I even build a stripped-down version of django-grpc: https://gitlab.com/LARAsuite/lara-django-grpc with a cool app registration feature that plugs into the central servicer without the need to hardcode the services in one central application). Maybe a little bit about the background: I am building a large project with many many django applications (https://gitlab.com/LARAsuite) and many models with hundreds of fields/tables. Writing boiler plate code for CRUD for each of the models would be extremely tedious. That is what I like in the django-grpc-framework project: you have a proto generator that reads the models and generates to proto files and you have a very neat (django-REST-framework inspired) syntax to select, what fields in the model one would like to serialise and finally basic CRUD operations are provided by the framework without further coding. These three components are extremely convenient. If the django-grpc-framework is not supported anymore - maybe due to lack of time - I would help to implement these features into django-grpc - or do you have even a smarter idea @gluk-w , how to solve this challenge of writing CRUD interfaces for large django projects ?

from django-grpc-framework.

gluk-w avatar gluk-w commented on August 14, 2024

@markdoerr ,

Your use case is perfectly legit. It could be a separate python package for model <=> protobuf serialization and source code generation. I'll be happy to contribute to it. But it is not needed for all use cases as gRPC is action-oriented rather than entity-oriented. So I would rather keep django-grpc doing one small thing, but doing it well.

It would be great if you contribute automatic servicer registration into django-grpc.

Happy to continue the conversation,
Stan

from django-grpc-framework.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.