• Jason Boyd

    Hi Nicola,

    I ran across Eve in researching possible ways to set up my first REST API service. I’m primarily a front-end developer (who also loves Python) and have been diving back into the web stack recently after several years working professionally with other technologies. As such I’m wanting to find a good general solution to creating RESTful backends that keeps things simple but is also flexible as I tackle more complex applications.

    My question is whether you would recommend Eve’s use *at this time* for someone like me who is not looking (yet) to build large or commercial applications.

    Eve appears the most elegant framework I’ve encountered for RESTful APIs using Python. I’m preferring setting up my own backend services to using turnkey solutions like hosted API providers, for maximum flexibility and control. I am not enthralled with the few other Python REST frameworks I’ve looked at. Having to layer these onto a full-fledged web framework feels like pointless complexity if the primary case is creating consistent RESTful apis, and in my opinion, the most popular of these are not as simple as they could be and are tied very much to the associated web framework. (Not naming names, but, you know.) However I’m hesitant to adopt something that isn’t stable enough to somewhat “set and forget” as well, since the focus of my studying right now is front-end technologies.

    I want to be able to spend some time focusing on my REST web services (not looking for magic, which has also ruled out some frameworks for me), but I also want to spend as much time as possible working on front-end concerns, and I’d like to be able to use the same approach for app #2, #3, and so on as I get more comfortable with the stack. So I’d prefer not to end up going back and refactoring things later just to upgrade the framework.

    So, simpler question, how stable to you believe Eve to be at v0.3? I’m asking primarily about API changes, though of course severity of bugs matters too. My sense on the latter is that its pretty well-behaved, but can you comment on who is using the framework at this time?

    Lastly, is there any timeline for a 1.0 or alpha version, or is the approach more about a roadmap of features and you’ll get there when you get there?

    My apologies if this is the wrong place to ask. I almost sent you an email but figured the question might be relevant for others.

    Regardless whether Eve suits my particular needs right now I’ll be paying attention to the project and hope to use it in the future when I’ve got more time to focus on the backend. (Or maybe I should be thinking, do I have time right now to focus on the other Python REST frameworks?…)

    Cheers :)

    • http://nicolaiarocci.com/ Nicola Iarocci

      Hello Jason. As far as I know Eve is already being used in some production environments which is quite scary honestly :)

      I’m still breaking backward compatibility from time to time but it’s usually about very little things and, as time goes by, there is less and less need to do so. Keep in mind that while 0.3 is indeed an early release, there have been more than 10 releases, starting from 0.0.1 more than one year ago (and previously I had it on a private repo for quite a long time).

      From 0.0.1 to 0.1 i’ve been doing monthly releases. Now that we’re in beta I’m sometimes taking longer gaps because I want to allow for people to use and test the updates thoughtfully.

      If you’re going to use it as a shortcut to concentrate on your front end efforts, then I would dare to say that Eve is a good bet as, as you say, it will prevent you from spending too much time and effort on backend stuff. Despite it’s age it is probably feature-rich enough to meet most use cases. Do know however that occasionally you might have to go back to take care of the occasional breaking change.


      • Jason Boyd

        Great thanks Nicola! Sounds like it is suitable for my purposes. I suppose if it’s production worthy it’s also always possible to lock an app to a version and deal with upgrading later if I have a mature app.