FlaskBB is a Forum Software written in Python using the micro framework Flask.

Overview

FlaskBB

Build Status codecov requires License flaskbb@freenode

FlaskBB is a Forum Software written in Python using the micro framework Flask.

Currently, following features are implemented:

  • Private Messages
  • Admin Interface
  • Group based permissions
  • Markdown Support
  • Topic Tracker
  • Unread Topics/Forums
  • i18n Support
  • Completely Themeable
  • Plugin System
  • Command Line Interface

The official forums which are powered by FlaskBB can be reached via forums.flaskbb.org.

Quickstart

For a complete installation guide please visit the installation documentation here.

This is how you set up an development instance of FlaskBB:

  • Create a virtualenv
  • Configuration
    • make devconfig
  • Install dependencies and FlaskBB
    • make install
  • Run the development server
    • make run
  • Visit localhost:5000

License

FlaskBB is licensed under the BSD License.

Links

Comments
  • Plugin System

    Plugin System

    I was just thinking about our plugin system after I have read @justanr comment on #182 issue about just pip installing a plugin. At the moment, we use a homegrown plugin system where you simply place the plugins in the plugins/ folder and disable them by placing a DISABLED file in the plugins folder.

    The more I think about plugins that you can just install with pip the more I like the idea. Below I have listed a few pros/cons about both systems that came to my mind:

    Current Plugin System:

    • (-) No dependency management
    • (-) No version management (what to do upon a new FlaskBB release, that deprecates stuff?)
    • (-) No "central" repository/infrastructure available (can be implemented)
    • (+) Easy to install and enable

    pip/PyPI based system:

    • (+) Dependency management - a plugin can define the dependencies in the setup.py file
    • (+) Version management
    • (+) Infrastructure already available (PyPI)
    • (~) Installation of plugins (some might prefer this method over dropping them into a folder)
    • (?) How to say which plugins you want to have enabled and which not without uninstalling them?

    These are just some random thoughts at the moment, but what do you think about that?

    discussion 
    opened by sh4nks 35
  • Can someone tell me what I am doing wrong please.

    Can someone tell me what I am doing wrong please.

    I tried using both the master and the new-theme branch, I tried using sqllite, and postgresql and I keep getting this error when running:

    (flaskbb) [root@speedy uwsgi]# tail uw* File "/home/flaskbb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise raise value.with_traceback(tb) File "/home/flaskbb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context context) File "/home/flaskbb/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: settings [SQL: 'SELECT settings."key" AS settings_key, settings.value AS settings_value, settings.settingsgroup AS settings_settingsgroup, settings.name AS settings_name, settings.description AS settings_description, settings.value_type AS settings_value_type, settings.extra AS settings_extra \nFROM settings'] (Background on this error at: http://sqlalche.me/e/e3q8) [pid: 10633|app: 0|req: 1/1] 192.168.1.2 () {50 vars in 842 bytes} [Sat Apr 28 14:28:40 2018] GET / => generated 0 bytes in 910 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0) announcing my loyalty to the Emperor... Sat Apr 28 14:28:41 2018 - [emperor] vassal flaskbb.ini is now loyal (flaskbb) [root@speedy uwsgi]#

    it seems setup is not creating all of the correct tables. I am doing it by the book I think. I dont know where I am going wrong. Help thanks!

    opened by eurabilis 27
  • CSRF error

    CSRF error

    One (and only one) of my users says that he is receiving a CSRF error every time he tries to login. He has tried multiple browsers, private windows, clearing cache, flushing DNS, using wifi vs. LTE, and using different devices.

    bug info needed 
    opened by haliphax 21
  • Allow guest to posts (fixes #343)

    Allow guest to posts (fixes #343)

    This is an attempt to fix the immediate errors that result when a guest is allowed to reply/post and actually tries to do so. While I don’t think there would be many forums that would allow guests to post (and we should therefore not spend too much time working on this), I do think that given the current permission system, #343 is a bug that should be fixed.

    Now, it is arguable whether it is a good idea to save "" as username and None as user_id, but I wanted to get some input first, hence this pull request. (By the way: If you prefer discussing in the issue or squashing the commits before making the pull request, just tell me that. I’m completely new to both Git and Github.)

    Alternative approach It might be more suitable to make Guest inherit from User and create a standard (non-deletable?) guest user that these posts are then assigned to. In that case, we could maybe also deal with the problem of the username in that a Guest class has a username attribute that when retrieved actually calls Babel’s gettext function, so it can be translated. But then: How do we know that when we load a user from the database, it should be instantiated as Guest, rather than as User? So, I think this solution would cause a bit more of a headache than it’s worth.

    Left to do with the current approach The "" (not) showing up in the forums for guest posts look ugly at the very least. I just had the following idea: Since everyone else has to have a username that is at least one character long, we might actually check in the template for "" as username and dynamically replace it with _("Guest").

    One last thing Before I forget: The first commit "Mismatched parentheses" (flaskbb/management/views.py) has nothing to do with this, but also caused a 500 when trying to delete a standard group (id < 6). I hope it’s presence is not a problem.

    opened by shunju 20
  • Reimplement Permissions system

    Reimplement Permissions system

    Not a full pull request, but wanting to submit for proposals and feedback. I'm current contemplating the best way of disentangling the various flaskbb.utils.permissions helpers from the handful of templates they're used in.

    I'll rebase/squash the commits down into one once this is finalized.

    • [x] Implement basic permission structure
    • [x] Remove current permissions from templates -- ~~waiting on #145~~
    • [x] More exhaustive testing (manual QA needed)
    opened by justanr 19
  • Feature request: Allow admin to disable memberlist and newest user / Force login with email

    Feature request: Allow admin to disable memberlist and newest user / Force login with email

    …for security reasons obviously. Hacking passwords is a lot easier if you know the usernames. And knowing who has elevated privileges makes this even cooler. Sure, request limiting makes brute-forcing harder, but IPs can be spoofed, Tor can be used and some users just choose some really stupid passwords.

    Two ideas: Either have options for disabling the two on the admin panel or move it to a plug-in.

    An alternative that should work even better (since usernames but not email addresses (?) can also be obtained by crawling the forums) – and that could be implemented independently: Force users to login with their email address instead of with the username.

    discussion hook 
    opened by shunju 18
  • Improvement 172 adds recaptcha for login and forgot_password forms

    Improvement 172 adds recaptcha for login and forgot_password forms

    issue #172 Adds Recaptcha to prevent brute force attacks. Is only enabled when RECAPTCHA_ENABLED is True

    • [x] Login form recaptcha
    • [x] Forgot password form.

    p.s. first pull request ever so please correct me if I am doing something obviously wrong much appreciate it.

    opened by abshkd 16
  • Bricked forum section

    Bricked forum section

    Hello, i have a forum section which started returning an Internal Server error each time anyone tries to browse it. I made no changes to the code pulled from github.

    2017-04-29 22:00:26,183 ERROR: Exception on /forum/8-coffee [GET] [in /usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py:1560]
    Traceback (most recent call last):
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask_themes2/__init__.py", line 138, in render_theme_template
        **context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 133, in render_template
        return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 869, in get_or_select_template
        return self.get_template(template_name_or_list, parent, globals)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 830, in get_template
        return self._load_template(name, self.make_globals(globals))
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 804, in _load_template
        template = self.loader.load(self, name, globals)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/loaders.py", line 113, in load
        source, filename, uptodate = self.get_source(environment, name)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 57, in get_source
        return self._get_source_fast(environment, template)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 85, in _get_source_fast
        raise TemplateNotFound(template)
    jinja2.exceptions.TemplateNotFound: _themes/aurora/forum/forum.html
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
        response = self.full_dispatch_request()
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
        rv = self.handle_user_exception(e)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
        reraise(exc_type, exc_value, tb)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
        raise value
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
        rv = self.dispatch_request()
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
        return self.view_functions[rule.endpoint](**req.view_args)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask_allows/allows.py", line 98, in allower
        return f(*args, **kwargs)
      File "/usr/home/flask/flaskbb/flaskbb/forum/views.py", line 100, in view_forum
        topics=topics, forumsread=forumsread,
      File "/usr/home/flask/flaskbb/flaskbb/utils/helpers.py", line 71, in render_template
        return render_theme_template(theme, template, **context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask_themes2/__init__.py", line 141, in render_theme_template
        return render_template(template_name, **context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 134, in render_template
        context, ctx.app)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/flask/templating.py", line 116, in _render
        rv = template.render(context)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 1008, in render
        return self.environment.handle_exception(exc_info, True)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/environment.py", line 780, in handle_exception
        reraise(exc_type, exc_value, tb)
      File "/usr/home/flask/flaskbb/.venv/lib/python3.5/site-packages/jinja2/_compat.py", line 37, in reraise
        raise value.with_traceback(tb)
      File "/usr/home/flask/flaskbb/flaskbb/templates/forum/forum.html", line 4, in top-level template code
        {% extends theme("layout.html") %}
      File "/usr/home/flask/flaskbb/flaskbb/templates/layout.html", line 167, in top-level template code
        {% block content %}
      File "/usr/home/flask/flaskbb/flaskbb/templates/forum/forum.html", line 70, in block "content"
        {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
      File "/usr/home/flask/flaskbb/flaskbb/utils/helpers.py", line 265, in topic_is_unread
        if topic.last_post.date_created < read_cutoff:
    AttributeError: 'NoneType' object has no attribute 'date_created'
    
    
    
    bug 
    opened by f4ncyusername 14
  • Rename topics is not possible

    Rename topics is not possible

    Hi everyone! First of all thank you for such a good project, I'm totally in love :)

    I've noticed that there is no possibility to change the name of topics while editing it. Neither topic-starter nor moderator/admin can do this.

    I suspect that this is because of beautiful slugs (e.g. /8-flaskbb-is-cool). I think there is a reason why mature forums don't use topic names in urls but they do use only IDs.

    Is it possible to get the possibility to change topic names in FlaskBB?

    Please, correct me if I am mistaken.

    Thank you!

    opened by khorolets 13
  • request push file to rtl styles

    request push file to rtl styles

    Hi,

    https://gist.github.com/TechComet/ecffee1b427d285bb3ed050da399ba6e push this file to /flaskbb/flaskbb/themes/aurora/static/css

    please add option to change default styles file (install step)

    info needed 
    opened by TechComet 12
  • Pluggy based Plugins

    Pluggy based Plugins

    Addresses #183

    WIP PR for adding pluggy based plugins to FlaskBB.

    Currently this includes:

    • Defining some specs for plugins to implement (by no means exhaustive)
    • Creates manager and loads plugins when application is created -- after extensions
    • Creates a DB interface for toggling plugins enabled
    • Creates KV store in the database for plugins to store settings in so they don't need to populate the settings table -- these appear as a dictionary like interface on the plugin registry instance for the plugin (that's all the collection class and association proxy stuff in the PluginStore/PluginRegistry relationship)

    I'm having some issues with loading CLI commands from plugins because the Flask-Click bridge only creates an application when absolutely needed, however plugins are loaded on application creation, so even with overriding the _load_plugin_commands hook in the FlaskGroup doesn't work as the FlaskBB instance hasn't been created yet.

    Next steps here are:

    • Documentation for writing pluggy based plugins
    • Converting Portal to pluggy style
    • Add hooks for rendering HTML fragments into templates at certain points
    • Add hooks for pre/post handling on posting, topic, message, etc.
    • Figure out how to load CLI commands.
    enhancement plugin 
    opened by justanr 12
  • Bump json5 from 2.2.1 to 2.2.3 in /flaskbb/themes/aurora

    Bump json5 from 2.2.1 to 2.2.3 in /flaskbb/themes/aurora

    Bumps json5 from 2.2.1 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump certifi from 2022.5.18.1 to 2022.12.7

    Bump certifi from 2022.5.18.1 to 2022.12.7

    Bumps certifi from 2022.5.18.1 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • When I install a minimal plugin, it breaks the portal

    When I install a minimal plugin, it breaks the portal

    Hi, I wrote a super simple plugin which adds an atom feed to flaskbb: https://git.sr.ht/~exelotl/flaskbb-plugin-atom

    If I run pip install flaskbb-plugin-atom (in my virtualenv) then the flaskbb portal plugin stops working, as pictured below:

    Screenshot from 2022-12-06 02-17-21

    If I remove my plugin with pip uninstall flaskbb-plugin-atom then the portal starts working again.

    This would lead me to believe there's something wrong with my plugin, but it's about as simple as you can get (just a route, a template, and a couple of settings - made from the cookiecutter template). I also don't understand how this could happen when my plugin isn't even enabled.

    Have I done something wrong or could this be a deeper issue somewhere?

    opened by exelotl 1
  • In moderation mode,

    In moderation mode, "select topic" checkbox doesn't work

    When you go to a board and go into moderation mode, the individual "select topic" checkboxes do not respond to user input (clicking them doesn't change their state).

    However, you can change their state programatically in the dev tools (e.g. mycheckbox.checked = true).

    Also, the "select all" checkbox works fine (changes the state of all checkboxes)

    bug 
    opened by exelotl 3
  • Bump pillow from 9.1.1 to 9.3.0

    Bump pillow from 9.1.1 to 9.3.0

    Bumps pillow from 9.1.1 to 9.3.0.

    Release notes

    Sourced from pillow's releases.

    9.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.3.0 (2022-10-29)

    • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [wiredfool]

    • Initialize libtiff buffer when saving #6699 [radarhere]

    • Inline fname2char to fix memory leak #6329 [nulano]

    • Fix memory leaks related to text features #6330 [nulano]

    • Use double quotes for version check on old CPython on Windows #6695 [hugovk]

    • Remove backup implementation of Round for Windows platforms #6693 [cgohlke]

    • Fixed set_variation_by_name offset #6445 [radarhere]

    • Fix malloc in _imagingft.c:font_setvaraxes #6690 [cgohlke]

    • Release Python GIL when converting images using matrix operations #6418 [hmaarrfk]

    • Added ExifTags enums #6630 [radarhere]

    • Do not modify previous frame when calculating delta in PNG #6683 [radarhere]

    • Added support for reading BMP images with RLE4 compression #6674 [npjg, radarhere]

    • Decode JPEG compressed BLP1 data in original mode #6678 [radarhere]

    • Added GPS TIFF tag info #6661 [radarhere]

    • Added conversion between RGB/RGBA/RGBX and LAB #6647 [radarhere]

    • Do not attempt normalization if mode is already normal #6644 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • Bump loader-utils from 2.0.2 to 2.0.4 in /flaskbb/themes/aurora

    Bump loader-utils from 2.0.2 to 2.0.4 in /flaskbb/themes/aurora

    Bumps loader-utils from 2.0.2 to 2.0.4.

    Release notes

    Sourced from loader-utils's releases.

    v2.0.4

    2.0.4 (2022-11-11)

    Bug Fixes

    v2.0.3

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Changelog

    Sourced from loader-utils's changelog.

    2.0.4 (2022-11-11)

    Bug Fixes

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v2.1.0)
  • v2.1.0(Sep 9, 2021)

    Version 2.1.0

    Released September 9th, 2021

    The most notable changes are following:

    • Reimplemented User views using services
    • Services for changing email, password, settings and details
    • Hooks for email, password, settings and details updates
    • Hook for user profile sidebar links
    • Added helper for generating dynamic navbar content
    • Gender is now a text field rather than a dropdown
    • Upgrade to Flask 2.0 and SQLAlchemy 1.4
    • Upgrade Bootstrap 3 to Bootstrap 5
    • Remove JQuery dependency by rewriting some parts to be plain JS
    • Replace Bootstrap-Markdown editor with GitHub-Markdown-Toolbar
    • ... and lots of other fixes and improvements
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(May 16, 2018)

    Version 2.0.0

    Released on May 16th, 2018.

    • Improved management panel load time by requesting celery status async (PR #429)
    • Migrated FlaskBB internal behavior to use plugin hook system (PRs #369, #413, #419, #423, #426, #435, #436)
    • Migrated behavior in flaskbb.auth from living in route handlers and into services (PRs #421, #424)
    • Improved emoji support (PR #417)
    • Migrated private messages into a plugin (PR #414)
    • Fixed issue where user could not re-select having the default theme (PR #387)
    • Fixed issue where a reinstall would attempt to drop the entire database instead of just the tables associated with FlaskBB (PR #364)
    • Added ability to hide and unhide topics and posts, preventing unprivileged users from viewing them (PR #325)
    • Fixed issue where password was not required when editing a user in the admin panel (PR #321)
    • Migrated from Flask-Plugins to Pluggy as plugin system for plugins. Plugins are now loaded via entry points and thus have to be installed into the same environment as FlaskBB. During this migration we also moved the portal plugin into its own python package which can be installed via pip install flaskbb-plugin-portal. (PR #311)
    • Adds the functionality to "soft delete" posts and topics. (PR #325)
    • Improve logging. (PR #327)
    • Prefixes migrations with a timestamp which will sort them by creation date. (PR #353)
    • Transform views into Class-based Views. (PR #324)
    • Drop the tables instead of dropping the database when uninstalling FlaskBB. (PR #364)
    • Create the database using SQLAlchemy's db.create_all and stamp it as 'latest' instead of going through all migrations.
    • Fixes a bug that prevented users to activate their accounts via the form input.
    • Fixes a translations bug that wouldn't take the territory code into account when choosing a language (#299).
    • Fixes a bug which would not show all conversations in the conversations view.
    • Fixes a bug that made a forum section inaccessible when the last_post_id of a topic was set to None.
    • Various translations updated.
    • Multiple permission fixes and various other fixes.
    Source code(tar.gz)
    Source code(zip)
  • v1.0(May 5, 2017)

    This is the first release of FlaskBB.

    There are still a few rough edges here and there but overall it is running quite stable. I hope that with this release I can accelerate the development of FlaskBB which stagnated a bit lately.

    Features

    It ships with following features:

    • Private Messages
    • Admin Interface
    • Group based permissions
    • Markdown Support
    • Topic Tracker
    • Unread Topics/Forums
    • i18n Support
    • Completely Themeable
    • Plugin System
    • Command Line Interface

    Installation

    The official installation guide is located here. If you have any questions, do not hesitate to open a new topic on our forums. The GitHub Issue tracker should be used for bugs and features.

    Source code(tar.gz)
    Source code(zip)
A flexible forms validation and rendering library for Python.

WTForms WTForms is a flexible forms validation and rendering library for Python web development. It can work with whatever web framework and template

WTForms 1.4k Dec 31, 2022
Tweak the form field rendering in templates, not in python-level form definitions. CSS classes and HTML attributes can be altered.

django-widget-tweaks Tweak the form field rendering in templates, not in python-level form definitions. Altering CSS classes and HTML attributes is su

Jazzband 1.8k Jan 6, 2023
Wikidot-forum-dump - Simple Python script that dumps a Wikidot wiki forum into JSON structures.

wikidot-forum-dump Script is partially based on 2stacks by bluesoul: https://github.com/scuttle/2stacks To dump a Wiki's forum, edit config.py and put

ZZYZX 1 Jun 29, 2022
Pyrin is an application framework built on top of Flask micro-framework to make life easier for developers who want to develop an enterprise application using Flask

Pyrin A rich, fast, performant and easy to use application framework to build apps using Flask on top of it. Pyrin is an application framework built o

Mohamad Nobakht 10 Jan 25, 2022
Forum written for learning purposes in flask and sqlalchemy

Flask-forum forum written for learning purposes using SQLalchemy and flask How to install install requirements pip install sqlalchemy flask clone repo

Kamil 0 May 23, 2022
Learn Blockchains by Building One, A simple Blockchain in Python using Flask as a micro web framework.

Blockchain ✨ Learn Blockchains by Building One Yourself Installation Make sure Python 3.6+ is installed. Install Flask Web Framework. Clone this repos

Vaibhaw 46 Jan 5, 2023
Askbot is a Django/Python Q&A forum. **Contributors README**: https://github.com/ASKBOT/askbot-devel#how-to-contribute. Commercial hosting of Askbot and support are available at https://askbot.com

ATTENTION: master branch is experimental, please read below Askbot - a Django Q&A forum platform This is Askbot project - open source Q&A system, like

ASKBOT 1.5k Dec 28, 2022
Download images from forum threads

Forum Image Scraper Downloads images from forum threads Only works with forums which doesn't require a login to view and have an incremental paginatio

null 9 Nov 16, 2022
tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server

tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server

Manos Pitsidianakis 23 Nov 4, 2022
This is a personal django website for forum posts

Django Web Forum This is a personal django website for forum posts It includes login, registration and forum posts with date time. Tech / Framework us

null 5 May 12, 2022
Streamlit component to display topics from Streamlit's community forum related to any exception.

streamlit-forum Streamlit component to display topics from Streamlit's community forum related to any exception. Installation pip install streamlit-fo

Snehan Kekre 7 Jul 15, 2022
Bromelia-hss implements an HSS by using the Python micro framework Bromélia.

Bromélia HSS bromelia-hss is the second official implementation of a Diameter-based protocol application by using the Python micro framework Bromélia.

henriquemr 7 Nov 2, 2022
A micro web-framework using asyncio coroutines and chained middleware.

Growler master ' dev Growler is a web framework built atop asyncio, the asynchronous library described in PEP 3156 and added to the standard library i

null 687 Nov 27, 2022
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
The Python micro framework for building web applications.

Flask Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to co

The Pallets Projects 61.5k Jan 6, 2023
bottle.py is a fast and simple micro-framework for python web-applications.

Bottle: Python Web Framework Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module a

Bottle Micro Web Framework 7.8k Dec 31, 2022
Async Python 3.6+ web scraping micro-framework based on asyncio

Ruia ??️ Async Python 3.6+ web scraping micro-framework based on asyncio. ⚡ Write less, run faster. Overview Ruia is an async web scraping micro-frame

howie.hu 1.6k Jan 1, 2023
Fast⚡, simple and light💡weight ASGI micro🔬 web🌏-framework for Python🐍.

NanoASGI Asynchronous Python Web Framework NanoASGI is a fast ⚡ , simple and light ?? weight ASGI micro ?? web ?? -framework for Python ?? . It is dis

Kavindu Santhusa 8 Jun 16, 2022
A proof-of-concept CherryPy inspired Python micro framework

Varmkorv Varmkorv is a CherryPy inspired micro framework using Werkzeug. This is just a proof of concept. You are free to use it if you like, or find

Magnus Karlsson 1 Nov 22, 2021