Is django-piston mature enough?
Asked Answered
J

4

7

I'm developing an advertising site and want to use web services for the requests. I mean, a publisher site will put a JavaScript snippet and it will pull a banner through a REST GET.

Is the django-piston framework mature enough to implement this functionality?

Jojo answered 20/9, 2010 at 14:52 Comment(16)
Django -- by itself -- is fine. Adding piston is optional. It saves you some work. Since Django is mature and piston is optional, it's really hard to provide an answer. Further, we don't know how mature is "mature enough". My opinion of "mature enough" may differ from yours.Certified
@Certified thanks for your answer. Although "mature" may be sound different to us, there are certain aspects that are common to every body. Like: Well documented, well tested, not bugged, etc. Scalability may be other thing to take in to the discussion.Jojo
@santiagobasulto: "there are certain aspects that are common to every body" Not really. After consulting for 30 years, I've found that there is nothing that is common. I've been repeatedly surprised by things that are assumed instead of stated. What does "not bugged" mean?Certified
Not bugged means not under electronic surveillance. I am sure that this is the common understanding. Think of it again, may be not.Centrepiece
@Certified with not bugged i mean that it doesn't have known issues going on. Like "if you deploy it in a IIS it will crash", etc.Jojo
@santiagobasulto. Interesting request. When some folks install IIS, Windows crashes. Does that mean IIS is bugged? If so, anything that interfaces with IIS is bugged, too. Or does that mean the problem is in Windows. If so, then Windows is bugged and all software running on Windows is bugged. I don't think you can ask for software that is free of bugs.Certified
@Certified a little late my answer. This should be discussed in a table with some beers and plenty of time, but here is my thought. I would say, given your post about IIS, and the nature of my question, that if IIS make Windows crash, or vice versa, that IIS is not mature enough then. Thanks for your help brother. PD: We decided to use Django for now on.Jojo
@santiagobasulto: "plenty of time"? Why? It seems like something you should simply define. What do you mean by bugged? Can you give examples? It shouldn't take time. If you cannot provide a simple definition of "bugged", perhaps you should find a concept which you can define simply. If it's so subtle that it takes time to define, it's hot helpful for an engineering solution.Certified
@Certified I already did define it. Simple: if you can name some (well) known bug, then it is bugged. It happens with software when is being developed. That was my question. If someone can say, for example: "don't use piston on X web server becouse it has a memory leak", or, "if you try to do Y then it will blow" we can affirm that it's bugged. Bugged is simple to define, and we don't need "plenty of time", we do need time to define "mature" though, and that was what i was trying to say.Jojo
"if you can name some (well) known bug, then it is bugged". Then all software is bugged. There is no answer to your question. Why ask?Certified
@Certified It's turning too "philosophic". Thanks for your interest.Jojo
@santiagobasulto: 'It's turning too "philosophic"'? What? I'm trying to understand the question. What does "bugged" mean? "if you can name some (well) known bug, then it is bugged". Then all software is 'bugged', correct? What are you asking? Please define your terms in some way what we can actually answer your question.Certified
@Certified i think, from my humble point of view (i'm not an expert) that bugged means what i said before. And you're right when you say, "every software is bugged" but, we can live with some bugs, and those bugs doesn't affect all of us. For example, i have never faced a bug in Apache HTTP Server (i've been using it for 7 years). Of course, i haven't try to do too much with it to find a bug. But i think, we can agree that Apache is mature enough. At the oposite, we can not say that, for example, Chrome for Linux is mature (i see bugs every day).Jojo
@santiagobasulto: Please. Keep repeating your position. It makes little sense, but please keep repeating it without any thinking or modification. Since Apache does have known bugs (which are fixed with every release) it is "bugged" by your simple definition. "Of course, i haven't try to do too much with it to find a bug" is some kind of different definition. Why do you keep repeating one definition, and yet, you seem to use a different definition of "bugged" to decide that Apache is somehow not bugged. It has bugs. Read the release notes. You also claim it is not bugged.Certified
@Certified Yes, i agree, it is bugged, but "it is not too much bugged" (sounds weird, doesn't?) I mean, it has bugs but is the number 1 server in the globe. Don't you think it's mature enough?Jojo
@santiagobasulto: We don't know how mature is "mature enough". My opinion of "mature enough" may differ from yours. If your definition of "mature enough" is "Apache", then no one can answer your question except by saying "Apache". What do you mean by "mature"? Do you mean "number 1 server in the globe "? If so, only Apache can be an answer. Clearly it can't have anything to do with "bugged", because Apache has bugs. What are you talking about? What definition of "mature" are you using?Certified
E
6

I am currently using it and it's good enough for my needs, which are fairly simple (mostly just an easy way to set up a read-only API for model data). I do have a couple of criticisms:

  1. It doesn't seem that jespern, the code's creator, is doing much in response to issues posted to bitbucket. Possibly an unfair criticism, and activity in the django-piston Google Group. Still it's frustrating to post an issue and encounter zero response whatsoever.

  2. It appears there are some inconsistencies or errors in the coding. For example, this issue that I posted. (I may pursue it further in the group).

Eddington answered 20/9, 2010 at 19:25 Comment(2)
This what i mean!!! This is a big issue. I mean, starting something that is not live enought is not a good idea!Jojo
I totally agree with you Jordan. I've been trying to decide whether to use Piston or Tastypie for a project I'm working on, and while I like Tastypie better it's lacking a few features I'd like to have (such as access to the request so that object from Resource methods). That's where I started considering Piston, but activity for the project seems to be dwindling. It's a pity really.Fretted
I
13

I've been looking into finding the "best" Django REST package and came across this table, which is useful:

http://www.djangopackages.com/grids/g/api/

At this point (mid-2011) Django-Tastypie is the clear winner for number of authors, updated codebase, documentation, and overall activity.

EDIT, Jan.2012: I think the two leading contenders are now Django-Tastypie, and also, Django-REST-framework. The latter has a really useful feature of web-browsable APIs, which I've yet to see in other packages.

Indecorum answered 3/6, 2011 at 20:10 Comment(0)
E
6

I am currently using it and it's good enough for my needs, which are fairly simple (mostly just an easy way to set up a read-only API for model data). I do have a couple of criticisms:

  1. It doesn't seem that jespern, the code's creator, is doing much in response to issues posted to bitbucket. Possibly an unfair criticism, and activity in the django-piston Google Group. Still it's frustrating to post an issue and encounter zero response whatsoever.

  2. It appears there are some inconsistencies or errors in the coding. For example, this issue that I posted. (I may pursue it further in the group).

Eddington answered 20/9, 2010 at 19:25 Comment(2)
This what i mean!!! This is a big issue. I mean, starting something that is not live enought is not a good idea!Jojo
I totally agree with you Jordan. I've been trying to decide whether to use Piston or Tastypie for a project I'm working on, and while I like Tastypie better it's lacking a few features I'd like to have (such as access to the request so that object from Resource methods). That's where I started considering Piston, but activity for the project seems to be dwindling. It's a pity really.Fretted
C
1

I can't answer "is it mature enough." We are still evaluating our options ourselves.

However, you might want to check out these:

Concavity answered 20/9, 2010 at 18:42 Comment(0)
P
0

Django is certainly mature enough. It's powering more than a dozen high-profile sites in production. Piston on the other hand, I wouldn't know, except for bitbucket.org. I don't know of any other "high-profile" sites that use it. It doesn't sound like you need a complex framework on top of Django just to handle REST. You could easily implement a RESTful service on top of Django without using any other specific library.

Polliwog answered 20/9, 2010 at 16:48 Comment(2)
I disagree, writing up your own RESTful service can be a pain, particularly if you have a lot of models. django-piston may not be the best choice, but using some kind of framework for REST as well frees you from having to write cases for each of your models. You basically just create a straightforward Handler object for each model and then the framework takes care of the rest.Eddington
@Jordan Exactly, if you have many models exposed through REST. OP's case sounds like he has an advertisement model with PUT/POST and GET methods to it. That's why it doesn't sound like he needs to set up another library for REST.Polliwog

© 2022 - 2024 — McMap. All rights reserved.