The state of the Eve REST framework project

A new major release of the Eve REST API Framework is finally out with a number of cool new features (MongoDB Aggregations!), few fixes, and a couple of minor breaking changes. On the Eve blog you can find a detailed article about this important release.

I am glad to report that the Eve-SQLAlchemy community extension, which allows SQL databases to serve as Eve backends, has seen a surge of activity around it. There is a new maintainer, Dominik Kellner, and a bunch of active contributors. Work is being done to align the extension with latest Eve release. If interested, please join the efforts there. Speaking of community extensions, only a few days ago Eve-Elastic version 2 has been released too.

Next major release will of course be version 0.8 and it should come relatively soon. It will be focused on adding Cerberus 1.0 support. That will add superpowers and more flexibility to areas like data validation and API endpoints definition. Work on adding Cerberus 1 to Eve has actually been ongoing. In fact, we were ready to release the feature with the current release, but I decided against it as I wanted to deliver all the new features before the inevitable breaking changes that will come with Cerberus 1. The idea is to let most users take advantage of new features with as little effort as possible. They will then have the option to bite the bullet and upgrade to 0.8 at their own pace.

The current release has been cooking for a long time, way more than I anticipated. I have simply been too busy with normal day work, the kind of activity that pays the bills. That is good for me I guess, but not so much for the project. I really feel like I should put more effort into Eve, Cerberus and satellite projects Eve-Swagger, Flask-Sentinel, Eve.NET, etc. I love working on these projects and I know a lot of people rely on them. Also, I have big ideas that I would like to play with. At this point in time however, I cannot afford allocating more time to not-paying-the-bill activities. Rest assured the project is not going stale. Worse case scenario, nothing changes and it will just proceed at current pace. But I have been wondering what would allow me to put more into it.

I am particulary fond of the collaboratively funded project model adopted by the Django REST Framework, and I wonder if it would work for Eve too. Of course I know that Eve is a smaller project with a smaller ecosystem. I also know however that many companies and institutions, big and small are using Eve in production and with good results. In the past I even did the occasional consulting gig for them. Maybe some would be willing to help with some form of financing and/or sponsorship, adopting the project in exchange for some visibility and, more importantly, project growth?

If you have some advice to share on this topic, please do so. I am very hesitant and unsure about this whole thing. Part of me just wants to keep going the way it’s always been, as with any form of financing also comes more responsability. The other half of me wants to work more on this thing, make it bigger. Eventually we will get there but, unless something changes, it will take quite some time.

By the way, next March I am speaking about RESTful Web Services at Codemotion Rome 2017. Presentation will include a Eve live demo, so if you are interested in Eve and/or want to see me fail miserably and blow it up on stage, join me there. Tickets are still available, talk will be in English, and March is a great season to visit Rome. See ya’ll there.

If you want to get in touch, I am @nicolaiarocci on Twitter.