Skip to content
Some kind of art site.
Python JavaScript Shell
Find file
Failed to load latest commit information.
alembic Remove for/of.
bin Automatically stamp new DB with alembic version.
docs Add BrowserID to the authn doc page. #698
floof Redirect to current page on Persona login.
migration Add controls for adding and removing BrowserIDs. #698
.gitignore Update .gitignore for public -> assets.
.gitmodules Add archetype submodule.
LICENSE License this beast! ISC. Update some of the boilerplate files.
README Update usage instructions for pserve & submodules.
WORKAROUNDS Add WORKAROUNDS for the benefit of new devs.
alembic.ini Rename labels to albums in the db. Introduce alembic!
paster.ini browserid -> persona, backhaul edition. fixes #4
setup.cfg Fresh Pylons project. Update some of the boilerplate files.


floof is a communal art gallery Web site.  It's powered by Python and runs atop


# Installation

First, make sure you've pulled in git submodules:

    git submodule init
    git submodule update

Use the setuptools setup script:

    python install
    -- OR --
    python develop

If you're a developer, you probably want `develop` instead of `install`, and
you may wish to consider using virtualenv to keep floof's Python environment
separate from the rest of your system.

Create a floof configuration file by copying the template:

    cp paster.ini config.ini

You may call this file whatever you want, for example `development.ini` or

Configure as appropriate, then set the sqlalchemy.url parameter in alembic.ini
to point to the same database as the floof config file.

Finally, run the setup script to populate the database and configure the CA:

    python bin/ config.ini#floof-prod alembic.ini

## File storage

You have two options for storing files, controlled by the `filestore` setting:

* **local** stores files in the filesystem normally.

    The `` setting specifies the root of the storage.  This
    directory must already exist and be writable by the Python process.

* **mogilefs** stores files in the MogileFS distributed filesystem.  You'll
    need the `pymogile` package installed, available from in the 2.0 branch.

    `filestore.trackers` is a space-delimited list of trackers.

    `filestore.domain` is the name of the MogileFS domain under which all the
    files will be stored.

    See the mogile docs for creating a basic mogile environment:

For development, invoke the application with:

    bin/ config.ini

If you hit some annoying problem during installation, check WORKAROUNDS.  If
the problem or answer is not there but you subsequently work it out, add your
solution to WORKAROUNDS for the sake of those who follow.

# Testing

To invoke testing, run from the top level directory:

    python test
Something went wrong with that request. Please try again.