{ "info": { "author": "Florian Rathgeber", "author_email": "florian.rathgeber@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "description": "Taarifa API\n===========\n\nBackground\n------------\n\nTaarifa_ is an open source platform for the crowd sourced reporting and\ntriaging of infrastructure related issues. Think of it as a bug tracker for\nthe real world which helps to engage citizens with their local government.\n\nTaarifa was founded at the 2011 London WaterHackathon, Winner of the 2013\nSanitation Hackathon, finalist at the 2014 Barcelona World Mobile Congress,\nand has been deployed in Uganda, Ghana, and Tanzania.\n\n\nThe API\n-------\n\nThe API forms the core of the Taarifa platform. It provides a RESTful\nAPI (built on Flask_ and Eve_) that clients can interact with to create\nand triage \"bug reports\" relating to public infrastructure (e.g., the\npublic toilet is broken).\n\nTo understand the API it is important to clarify some terminology:\n\n- **service**: a service provided by some authority (e.g. electricity,\n water, road cleaning, ...)\n- **facility**: category of physical infrastructure (e.g. power lines,\n water pipes, road network, ...)\n- **resource**: particular addressable piece of infrastructure (e.g.\n Church Street, the waterpoint at (23.44,-5.87))\n- **request**: a ticket/issue/report made by a citizen about a\n particular resource, service, or both\n\n*Aside*: Those familiar with Open311_ will recognize the terminology and\nsemantics. While the Taarifa API is not fully Open311 compliant yet,\nthis is on the roadmap.\n\nTaarifa API provides a way for clients to create services, facilities,\nresources, and requests dynamically (at runtime). In particular the\nfeatures it provides include:\n\n- defining new service/facility/resource/request schemas\n- automatic validation that submitted service/facility/... instances\n conform to the schema\n- versioning / history to track changes to resources and requests\n\nDistributions\n-------------\n\nThe goal is to have different distributions or flavours of Taarifa, built on\ntop of the core API. The main one is currently the `Taarifa Waterpoints`_\ndistribution.\n\nInstallation\n------------\n\nEnsure you have installed Python 2.7, pip >= 1.5 and MongoDB 3.0 and that the\nMongoDB server `mongod` is running.\n\nInstall virtualenv_ and virtualenvwrapper (you might need admin rights for\nthis): ::\n\n pip install virtualenv virtualenvwrapper\n\n`Set up virtualenvwrapper`_ according to your shell and create a virtualenv: ::\n\n mkvirtualenv TaarifaAPI\n\nIf you already created the virtualenv, activate it: ::\n\n workon TaarifaAPI\n\nClone the repository: ::\n\n git clone https://github.com/taarifa/TaarifaAPI\n\nChange into the directory and install the requirements: ::\n\n cd TaarifaAPI\n pip install -r requirements.txt\n\nInstall the package itself: ::\n\n python setup.py develop\n\n\nUsage\n-----\n\nStart the API server from the ``TaarifaAPI`` directory by running: ::\n\n python taarifa_api/taarifa_api.py\n\nThis starts the API server using a local MongoDB database and requires MongoDB\nto be running locally. To use a remote database, export the environment\nvariable ``MONGOLAB_URI`` with a `connection URI`_ of the form ::\n\n mongodb://[username:password@]host[:port][/[database]]\n\nTo check things are working, open a browser and navigate to: ::\n\n http://localhost:5000/api\n\nThis should show you the various endpoints available. To see the API\ndocumentation go to: ::\n\n http://localhost:5000/docs\n\n\nContribute\n----------\n\nThere is still much left do do and Taarifa is currently undergoing rapid\ndevelopment. To get started send a message to the taarifa-dev_ mailinglist and\ncheck out the github issues. We use the github pull request model for all\ncontributions. Refer to the `contributing guidelines`_ for further details.\n\n.. _Taarifa: http://taarifa.org\n.. _Taarifa Waterpoints: https://github.com/taarifa/TaarifaWaterpoints\n.. _Open311: http://open311.org\n.. _taarifa-dev: https://groups.google.com/forum/#!forum/taarifa-dev\n.. _Eve: http://python-eve.org\n.. _Flask: http://flask.pocoo.org\n.. _contributing guidelines: CONTRIBUTING.rst\n.. _virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/\n.. _Set up virtualenvwrapper: http://virtualenvwrapper.readthedocs.org/en/latest/install.html#shell-startup-file\n.. _connection URI: http://docs.mongodb.org/manual/reference/connection-string/", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/taarifa/TaarifaAPI", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://taarifa.org", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "TaarifaAPI", "package_url": "https://pypi.org/project/TaarifaAPI/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/TaarifaAPI/", "project_urls": { "Download": "https://github.com/taarifa/TaarifaAPI", "Homepage": "http://taarifa.org" }, "release_url": "https://pypi.org/project/TaarifaAPI/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "The Taarifa API for managing resources and requests", "version": "0.1.0" }, "last_serial": 1920077, "releases": { "0.1.0": [], "dev": [ { "comment_text": "", "digests": { "md5": "6515693327b1be5885826f2fe0ed88c7", "sha256": "642649122659fa58e96852f68df614fc99719b093466d3c8fbc3ed548af639bb" }, "downloads": -1, "filename": "TaarifaAPI-dev.tar.gz", "has_sig": false, "md5_digest": "6515693327b1be5885826f2fe0ed88c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7448, "upload_time": "2014-08-23T20:54:22", "url": "https://files.pythonhosted.org/packages/2d/90/0ee02dddfa2065f9db2af08deb2ca78648c58f974684f0a6b14390b2efbd/TaarifaAPI-dev.tar.gz" } ] }, "urls": [] }