Introduction

PYBB is a python forum engine written with django framework. PYBB is acronym from PYthon Bulletin Board.

There is no much documentation now. So if you are in trouble you can:

  • Read source code, find the mistake, fix it and send a patch.
  • Ask in google group. There are mixed russian and english posts.
  • Create new ticket.

Basic development points

  • PYBB is single django application that should be easily integratable in existing django projects

Features

  • Each category, forum, topic and post has its own permanent url.
  • Bbcode and markdown support
  • Code blocks are highlighted with highlightjs
  • Simple moderator system.
  • Email subscription on topic
  • Topic could be sticked or closed
  • Plain text urls are converted to active links
  • Each user has profile with individual settings: IM accounts, signature, avatar etc
  • Gravatar support
  • Unread topics are marked
  • Search (via google)
  • i18n (translatable interface)
  • Private messages with email notifications
  • Import of data from other engines (only punbb importer is available yet)
  • File attachments to the post
  • Private messages. Email notification about new PM.
  • AJAX preview of new post content.

How to get pybb sources

Pybb sources are available from mercurial repository. You can fetch them with the command:

    hg clone https://lorien@bitbucket.org/lorien/pybb/

Also last revisions are available in zip and gz archives.

Dependencies

  • BeautifulSoup
  • PIL
  • python-markdown
  • pytils
  • django-registration or django-account or any other django application for registration/authentication
  • SQLAlchemy (optional) - required for punbb importer

Import from database of other forum engine

Only punbb import is supported yet. Run ./manage.py import_punbb to see the list of options.

How to contribute to PyBB

Write the code you want and send it to me :-) It is good idea to talk with me about that feature before you will start implement it. We can talk in the google group or via jabber/email (lorien@pyweb.ru). It is strongly recommended to write clean code that satisfies the PEP-8 recommendations.

Actual tickets. Deadline is (unknown).

#52
Refactor the tracking of read flags.
#53
Write tests for read-tracking
#54
Write tests for PM submodule.
#55
Write tests for email subscription on topic
#56
Write tests for bbcode/markdown processing.
#64
Exploit: topic subscription uses GET
#68
Optimize select_related calls.
#71
Incorrect bbcode parsing
#74
Download attachments - use static-content-web-server
#76
Exception when Adding topic via Admin

Ticket for the future

#38
Remember the post content if user is not authenticated
#45
Post modification history
#51
Add hCard markup
#61
Preview of image attachment.
#62
Multiple attachment.
#63
Make polls
#65
Forum rules.

Detailed list of tickets is here.
You have to register if you want to add new ticket.

Sites that use PYBB

If you are using pybb in your project, notify me please and I'll add you to this list.