Hi,

A few weeks ago I volunteered to help with a Europython API. I didn't
get any response :-(

So being a go-ahead sort of a chap I've been doing some work of my own.
John Pinner, Alex Willmer and I have recently been in contact with each
other and I managed to get my hands on the Europython 2010 data.

I've used this as a starting point for experimenting with Fluidinfo as a
means of providing an instant *writeable* HTTP/REST API for a
conference.

Fluidinfo allows you to tag objects with information. I've created
objects to represent two types of things: speakers and
events. Speakers are tagged with, er, speaker information and,
surprisingly enough, events are tagged with information about talks,
meetings etc...

You can have a look around with the explorer:

http://explorer.fluidinfo.com/fluidinfo/europython.eu

The namespace/tag hierarchy is on the left. Matching objects and
associated values will be displayed in the main body.

Here's an example query using fluidinfo.py (it's in PyPI):

>>> headers, result = fluidinfo.call('GET', '/values',
tags=['europython.eu/2010/event/title',
'europython.eu/2010/event/related-speakers',
'europython.eu/2010/event/start-time', 'europython.eu/2010/event/date',
'europython.eu/2010/event/location'], query='has
europython.eu/2010/intended-audience/advanced and has
europython.eu/2010/streams/web')

(Basically I'm asking for the title, speakers, start-time, date and
location of all *advanced* talks at Europython2010 that are about the
Web)

>>> pprint.pprint(result)
{u'results': {u'id': {u'a95ba6f2-b148-4332-a385-cad911f6285b':
{u'europython.eu/2010/event/date': {u'value': u'Saturday 17 July 2010'},

u'europython.eu/2010/event/location': {u'value': u'Lecture Room 2'},

u'europython.eu/2010/event/related-speakers': {u'value': [u'Gustavo
Narea']},

u'europython.eu/2010/event/start-time': {u'value': u'11:00'},

u'europython.eu/2010/event/title': {u'value': u'WSGI from Start to
Finish'}}}}}

A bit more explanation:

Before being able to tag any objects you need to create the tags you're
going to use in a top-level namespace associated with your user. I've
created tags in the europython.eu/2010 namespace within which I've
created the following sub-namespaces:

class-type: Contains tags to indicate the type of classes held at
Europython 2010.

event: Contains tags used to describe / annotate an event at Europython
2010.

intended-audience: Contains tags to indicate the intended audience of
events at Europython 2010.

locations: Contains tags to indicate the locations of events help at
Europython 2010.

speaker: Contains tags used to describe / annotate a speaker at
Europython 2010.

speakers: Contains tags to identify individual speakers. These are
tagged to appropriate events at Europython 2010 - depending upon their
involvement.

streams: Contains tags to place events at Europython 2010 into the
appropriate stream.

Most importantly, using Fluidinfo means we'd have a writeable API - i.e.
conference attendees can add, annotate and expand the data about EP2011.

Of course, there are bonus points because Fluidinfo is written in
Python.

Is this useful..? Can I get my hands on the EP2011 data when it's
ready..? Will anyone respond this time..? ;-)

Nicholas.

_______________________________________________
Europython-improve mailing list
Europython-improve@python.org
http://mail.python.org/mailman/listinfo/europython-improve

Reply via email to