Skip to main content

Dependencies

The core install is what every Feather app uses: Flask, Flask-SQLAlchemy, Flask-Migrate, Flask-Login, Flask-WTF, Werkzeug, SQLAlchemy, Alembic, Authlib, Requests, Jinja2 and urllib3. Everything else is an extra, so an app that renders no PDFs installs no PDF renderer.
feather new writes a requirements.txt naming the extras your answers enabled, so this is usually handled for you. feather --version and feather security-check report which extras are installed.
Importing a feature whose extra is missing raises an error naming the install command to run, rather than an import traceback.

Frontend libraries

Bundled through npm rather than a CDN: HTMX, Idiomorph, Apache ECharts. Loaded from Google: Google Fonts and Material Icons.

DEBUG mode behaviour

Unstyled pages in production happen when DEBUG=False but feather build was never run, or when static/dist/ is stale. Run feather build before deploying.

Configuration shorthand

FLASK_CONFIG accepts shorthand names. These are equivalent:
Supported: development and dev, production and prod, testing and test.

Deploy to Appentic

Push from GitHub. Postgres, Redis and the worker run beside the app, with no server to manage.

Deploy with Docker

Eight files, one machine, Caddy in front.

Full configuration reference

Every key Feather reads, with its default.