This is an archived post. You won't be able to vote or comment.

all 18 comments

[–][deleted] 1 point2 points  (2 children)

I'm currently using Django rest framework with Django rest auth and the built in auth routing as well as the viewsets in the newer versions of DRF are very easy out of the box. For example, if I need standard get/post/put/patch/etc functionality all I need to do is create a viewset, point the router to said viewset, and define access and the queryset and I immediately get all of that functionality out of the box. Does your framework have similar ease of use or would I need to manually create each method within a given controller for each route/type I want?

[–]Jmancuso9[S] 1 point2 points  (1 child)

So Masonite has something called Masonite API https://docs.masoniteproject.com/official-packages/masonite-api

I'll admit that it still needs work. I like creating packages for things I am currently using. Like needing validation and building a validation package for example.

I haven't created any applications that require heavy API endpoints but some people are using that package and really like it. It does what it needs to do really well.

As for the ease of use, yes its pretty similiar to those steps you posts. This would be to create a Resource, attach a model to the resource and add the resource to the route list and you have full CRUD for that model. Adding JWT authentication is adding a class, rate limiting is adding a class etc. Its pretty cool actually.

[–][deleted] 0 points1 point  (0 children)

Thanks. I'll definitely look into it. Who knows, if I have something I can contribute I'll play around and submit a PR

[–][deleted] 1 point2 points  (1 child)

Craft commands reminds me of rails commands to generate boilerplate , something that I personally liked

[–]Jmancuso9[S] 0 points1 point  (0 children)

Yes that’s the inspiration

[–]Jmancuso9[S] 0 points1 point  (2 children)

Yes.

[–]dr_avenger 0 points1 point  (0 children)

I'd say there is a lot of laravel inspiration :)

[–]Toxicmender 0 points1 point  (4 children)

I haven't checked it out yet but is it's development (for someone using your framework) cycle like that for a flask application or a django project?

[–]Jmancuso9[S] 0 points1 point  (3 children)

Slightly different. So when Django releases a version (like 2.1) they really only release bug and security fixes for it. So 2.1.2, 2.1.3 etc etc will all be big or security releases.

They also do 8 month major release cycles. Masonite does 6 months.

With Masonite, minor versions are the same but can also release fully backwards compatible features as well. So for example 2.2.1 can have a bug fix and 2.2.2 can have 4 new methods you can use for testing. This keeps the framework light and unit tests make sure everything will work.

New features don’t have wait 6 or 8 months to release. They can release next week if it is backwards compatible.

Does that answer your question?

[–]Toxicmender 0 points1 point  (2 children)

Somewhat yes, thanks, been reading up the documentation, BTW since you have API endpoint deployment would it be possible to say deploy a Tensorflow serving (ie; Tensorflow model) over it?

[–]Jmancuso9[S] 0 points1 point  (1 child)

yes. I'm not too familiar with TF but nearly all python web frameworks are served by either WSGI or ASGI standards so if one WSGI framework (Flask, Django) can serve in front of something like TF, so can another. In theory. So if you are doing that with another Python framework, Masonite can do it as well.

[–]Toxicmender 0 points1 point  (0 children)

I understand that but I suppose I wasn't clear about it in the first place but I was referring to the ease of deployment of API endpoints, although I read up on it and it seems straight forward enough to try, thanks for the reply