* `Nose <http://somethingaboutorange.com/mrl/projects/nose/>`_:
for unit tests
- * `buildout <http://www.buildout.org/>`_: for getting dependencies,
- building a runtime environment, ...
+ * `virtualenv <http://www.virtualenv.org/>`_: for setting up an
+ isolated environment to keep mediagoblin and related packages
+ (potentially not required if MediaGoblin is packaged for your
+ distro)
* Data storage
* `Routes <http://routes.groovie.org/>`_: for URL routing
- * `Beaker <http://beaker.groovie.org/>`_: for handling sessions
+ * `Beaker <http://beaker.groovie.org/>`_: for handling sessions and
+ caching
* `Jinja2 <http://jinja.pocoo.org/docs/>`_: the templating engine
- * `MongoKit <http://namlook.github.com/mongokit/>`_: the lightweight
- ORM for MongoDB we're using which will make it easier to define
- structures and all that
-
* `WTForms <http://wtforms.simplecodes.com/>`_: for handling,
validation, and abstraction from HTML forms
* `Celery <http://celeryproject.org/>`_: for task queuing (resizing
images, encoding video, ...)
- * `RabbitMQ <http://www.rabbitmq.com/>`_: for sending tasks to celery
+ * `MongoKit <http://namlook.github.com/mongokit/>`_: the lightweight
+ ORM for MongoDB we're using which will make it easier to define
+ structures and all that (will be swapped out soon...)
+
+ * `SQLAlchemy <http://sqlalchemy.org/>`_: SQL ORM and database
+ interaction library for Python. We'll be moving to this in the
+ upcoming move to SQL.
+
+ * `Babel <http://babel.edgewall.org>`_: Used to extract and compile
+ translations.
+
+ * `Markdown (for python) <http://pypi.python.org/pypi/Markdown>`_:
+ implementation of `Markdown <http://daringfireball.net/projects/markdown/>`_
+ text-to-html tool to make it easy for people to write richtext
+ comments, descriptions, and etc.
+
+ * `lxml <http://lxml.de/>`_: nice xml and html processing for
+ python.
+
+* Media processing libraries
+
+ * `Python Imaging Library <http://www.pythonware.com/products/pil/>`_:
+ used to resize and otherwise convert images for display.
+
+ * `GStreamer <http://gstreamer.freedesktop.org/>`_: (Optional, for
+ video hosting sites only) Used to transcode video, and in the
+ future, probably audio too.
+
+ * `chardet <http://pypi.python.org/pypi/chardet>`_: (Optional, for
+ ascii art hosting sites only) Used to make ascii art thumbnails.
* Front end
What's where
============
-After you've run buildout, you're faced with the following directory
+After you've run checked out mediagoblin and followed the virtualenv
+instantiation instructions, you're faced with the following directory
tree::
mediagoblin/
| |- auth/
| \- submit/
|- docs/ # documentation
+ |- devtools/ # some scripts for developer convenience
|
- | # the below directories are generated by buildout.
+ | # the below directories are installed into your virtualenv checkout
|
|- bin/ # scripts
|- develop-eggs/
- |- eggs/
+ |- lib/ # python libraries installed into your virtualenv
+ |- include/
|- mediagoblin.egg-info/
|- parts/
|- user_dev/ # sessions, etc