Skip to main content

Coaster for Flask

Project description

Build status Coverage status

Coaster contains functions and db models for recurring patterns in Flask apps. Documentation at


  • Moved utility functions into coaster.utils.
  • Bugfix: make get_email_domain somewhat more reliable.
  • Switched to using coaster.db in tests.
  • New: MarkdownColumn composite column for Markdown content.
  • Changed: JsonDict column will use PostgreSQL’s native JSON type if the server is PostgreSQL >= 9.2.
  • TimestampMixin now uses datetime.utcnow instead of because the now() function in PostgreSQL returns local time with timezone, not UTC time, and discards the timezone component if the column doesn’t store them. This made timestamps local, not in UTC.
  • Database tests are now run against both SQLite3 and PostgreSQL.
  • Bugfix: PermissionMixin was mutating inherited permissions.
  • Bugfix: render_with no longer attempts to render pre-rendered responses.
  • utils.make_name now takes caller-specified counter numbers.
  • sqlalchemy.BaseNameMixin and BaseScopedNameMixin.make_name now take a reserved names list.
  • New: utils.nullint, nullstr and nullunicode for returning int(v), str(v) and unicode(v) if v isn’t false.


  • short_title method in BaseScopedNameMixin.
  • assets.require now raises AssetNotFound on missing assets.
  • New: coaster.db.db is an instance of Flask-SQLAlchemy.


  • Bugfix: Support single-char usernames.
  • New feature: Labeled enumerations.
  • Enhancement: load_models allows choice of permissions and takes additional permissions.
  • Rewrote requestargs view decorator for efficiency and ease of use.
  • New render_with view decorator.
  • New gfm module for GitHub Flavoured Markdown.
  • load_models now supports “redirect” models.
  • Logging now looks for MAIL_DEFAULT_SENDER before DEFAULT_MAIL_SENDER.
  • Compatibility with Flask 0.10 for SandboxedFlask.


  • Bugfix: PermissionMixin.permissions() now checks if parent is not None.


  • New sorted_timezones function.


  • New module for asset management, with testcases and documentation.
  • coaster.logging.configure is now init_app in keeping with convention.


  • Updated documentation.
  • New SQLAlchemy column types and helpers.
  • Use SQL expressions to set url_id in scoped id classes.


  • Don’t use declared_attr for the id, created_at and updated_at columns.
  • Rename newid to buid but retain old name for compatibility.
  • New requestargs view wrapper to make working with request.args easier.


  • New SandboxedFlask in that uses Jinja’s SandboxedEnvironment.


  • load_models now caches data to flask.g
  • SQLAlchemy models now use declared_attr for all columns to work around a column duplication bug with joined table inheritance in SQLAlchemy < 0.8.
  • Misc fixes.


  • get_next_url now takes a default parameter. Pass default=None to return None if no suitable next URL can be found
  • get_next_url no longer looks in the session by default. Pass session=True to look in the session. This was added since popping next from session modifies the session.
  • load_models accepts ‘g.<name>’ notation for parameters to indicate that the parameter should be available as g.<name>. The view function will get called with just <name> as usual.
  • If the view requires permissions, load_models caches available permissions as g.permissions.


  • coaster.views.get_next_url now looks in the session for the next URL.


  • New function moves away from passing configuration status in environment variables.


  • SQLAlchemy models now have a permissions method that load_models looks up.


  • Added logging module


  • First version

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for coaster, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size coaster-0.4.0.tar.gz (505.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page