Eve: Building RESTful APIs with MongoDB and Flask Transcripts
Chapter: What is Eve?
Lecture: What is Eve and why it was built
0:00 A few years ago, I was assigned to a new, exciting and challenging project—
0:04 build a fully featured RESTful service for my company.
0:08 So, I first researched the REST principles
0:11 and their concrete implementations.
0:13 then, I went on to pick a very db backend for my service.
0:17 Right from the beginning, the plan was that soon enough,
0:20 more REST services will go online to complement the first one,
0:24 and since I didn't want to reinvent the wheel every single time,
0:27 I thought it would be smart to build something
0:30 that would be easily redeployable.
0:32 Ideally, I would simple launch a new instance with my package
0:35 which would, of course, provide all the needed features from the get go.
0:39 Then, plug a new data set, set up appropriate validation,
0:43 authentication and authorization rules, and bam,
0:46 a new REST API will be online,
0:48 ready to be consumed by our hungry clients.
0:51 If I could provide most of the features with a single, reusable package,
0:55 and if I could make it so that duties like plugging at different source,
0:59 extending, customizing the common feature set,
1:02 well, if all of these would be easy enough,
1:05 then I would be a winner.
1:07 Soon, I realized that such a tool would end up
1:11 being more a framework than a simple package.
1:13 And, more excitingly, it could be useful to a lot of people out there.
1:18 The result of that work
1:20 was presented at the EuroPython conference back in 2012.
1:24 My talk there ended up being more of a workshop
1:28 on how to use Flask and Mongo to build REST services.
1:32 But, what I was really looking for
1:35 was some kind of validation for my project and idea.
1:39 That is when basically Eve as an open source framework was born.
1:45 So here it is, if you have data store somewhere
1:48 and you need to expose it through some kind of RESTful services,
1:51 then Eve is the tool that allows you to do so.
1:54 And because it is built on top of Flask,
1:56 it is very easy to use, as you can see in this snippet here,
2:01 and also it's easily customizable and extendable.