It’s just data

Introducing Basura

If Joe Gregorio can name his framework Robaccia, I certainly can name my database Basura.

Whereas Robaccia builds upon KidGenshi, SQLAlchemy, Selector, and WSGI; Basura builds upon BSDDB, JSON, and WSGI.

Just so that there isn’t any misunderstanding, my intent is not to build a full featured database, but rather to help understand and document the external interfaces of CouchDB.  In the process, hopefully I can make suggestions that will improve the consistency of this interface.  See my NOTES for a start.  It is my hope that eventually there will be as many clients and servers implementing this interface as there are for XMPP.  Hopefully, once I get to parity with passing the CouchDB test cases, I can help offload Damien by prototyping new features on a simpler codebase that he (and others) can then reimplement in a robust manner.

P.S. That basura link above? It is a bzr repository... check it out!


[from deusx] Sam Ruby: Introducing Basura

“It is my hope that eventually there will be as many clients and servers implementing this interface as there are for XMPP.”...

Excerpt from del.icio.us/network/straup at

Sam Ruby: Introducing Basura

deusx : Sam Ruby: Introducing Basura - “It is my hope that eventually there will be as many clients and servers implementing this interface as there are for XMPP.” Tags : basura couchdb python rest webdev...

Excerpt from HotLinks - Level 1 at

Sam Ruby: Introducing Basura

If Joe Gregorio can name his framework Robaccia, I certainly can name my database Basura. The Sam Ruby’s essay on a CouchDb like in Python....

Excerpt from Public marks at

Not Erlang? Shame!

Posted by thomas lackner at

Testing this against the Python client API I’m working on, I noticed one problem: the response to a <code>GET</code> against the server root URL doesn’t return proper JSON.

Patch:

=== modified file 'basura/GET.py'
--- basura/GET.py       2007-09-18 17:50:31 +0000
+++ basura/GET.py       2007-09-19 09:52:48 +0000
@@ -7,7 +7,7 @@
   # at the root is a simple welcome
   if path == '/':
     response('200 OK', [('Content-type','application/json')])
-    yield repr({"basura": "Welcome", "version": "0.0.1"})
+    yield tojson({"basura": "Welcome", "version": "0.0.1"})
     return
 
   # serve static files


Posted by Christopher Lenz at

path applied, and a number of other fixes were made allowing the full set of basic tests to pass.

Posted by Sam Ruby at

Not Erlang? Shame!

Thomas, Peter Norvig, co-author of the AIMA book the reason, quotes this in the Python code guides

Of all the established languages in the world, Python is closest to the pseudo-code that we developed (independently) for the book.

So he finds the use of python as pseudocode that Sam is doing here quite natural. Also, cross language is better when trying to validate APIs. I’d say a reasonable JSON DB API won’t be mature until it has been implemented, in addition to erlang, in at least one of perl, python, ruby, and also PHP and java or C#.

Posted by Santiago Gala at

The primary reason why I didn’t chose Erlang for this task is that there already is a high quality Erlang implementation.  Erlang’s pattern matching would have been ideal for capturing the semantics of a specification.

The primary reason why I chose Python amongst the alternatives is that by saying Python 2.5, I could ensure that there already was a BSDDB binding installed.

Posted by Sam Ruby at

Basura

Checking Basura , a barebones framework for specification of external interfaces to CouchDB...

Excerpt from Boxes and Glue at

Awesome.

In the future all software projects will be named “trash”.

Posted by Joe (http://bitworking.org) at

If you take the first letter off, ‘asura’ actually means demon in my mother tongue.

Posted by Dilip at

Links - 09.24.2007

The Deep Synergy Between Testability and Good Design Synergy is what happens when people realize they were on the right track to begin with. Software Testing - Is it a cost or an Investment ? Well, investments have the characteristic of generating...

Excerpt from discipline and punish at

Danny Ayers Raw: Semantic Web: JSON: missing a link?

Friday and Saturday I spent a good few hours fiddling with conversion from a dialect of XML to JSON. Immediately afterwards I felt a bit grumpy about JSON, it seemed like I had to jump through a lot of hoops to do a relatively trivial translation....

Excerpt from Planet Social Media Research at

FAQ about CouchDB and it's new IBM overlords

Q. What does IBM’s involvement mean for CouchDB and the community? A. The main consequences of IBM’s involvement are: - The code is now being apache licensed, instead of GPL. - Damien is going to be contributing much more time!......

Excerpt from Damien Katz at

Sounds pretty similar to my pet project, Grassyknoll: [link]

Python, JSON, {Lucene, SQLite}

Though I’m a bit more ambitious, perhaps - I’d like to support multiple backends (bsddb should be pretty trivial) and maybe multiple input formats.

Oh, lots of documentation.  A bit out of date, as I’m in the midst of a serious hackfest.

Anyway, take a look.

Posted by Peter Fein at

Basura - Python CouchDB experiment

[link]...

Excerpt from del.icio.us/tag/python at

CodeMash 2008

CodeMash 2008 was my first conference since coming to work for SitePen, and my first opportunity to talk about Dojo. I had two talks: an introduction to Dojo (i.e. “how much Dojo can I cram into an hour”) and a talk about Dojo Offline...

Excerpt from SitePen Blog at

Add your comment