Plain is headed towards 1.0! Subscribe for development updates โ†’

Status

What's the current status of Plain, and is it ready to use?

Plain is currently pre-1.0. That just means that if you're starting a long-term project, be ready for a maintenance/update burden as APIs and features are still moving around and getting finalized.

Here is an overview of major changes that have been made since forking Django โ†’

Checklist for 1.0.0

Although it's technically being used in production already, there are a few things that must happen before Plain is 1.0.

  • Replace plain legacy CLI commands with new ones (mostly db-related).
  • Log context feature.
  • Require APP_ prefix for custom settings?
  • Look at security headers implementation (DEFAULT_RESPONSE_HEADERS?).
  • Rename django_migrations table
  • Integrate relevant parts of python-dotenv directly?
  • Rename plain.mail to plain.email?
  • Remove any lingering references to "django"

Note that a lot of general code has be ripped out and changed in pretty quick fashion. Clean up across the board is in order -- there is lingering code that is no longer used, or has been changed substantially enough that a simpler re-implementation would be nice.

Packages

A rough idea of where progress is at for each package.

๐ŸŸข = good enough ๐ŸŸก = almost there ๐Ÿ”ด = needs work

Package Features Testing Documentation
plain ๐ŸŸข ๐Ÿ”ด ๐Ÿ”ด
plain-auth ๐ŸŸข ๐Ÿ”ด ๐ŸŸก
plain-cache ๐ŸŸข ๐Ÿ”ด ๐Ÿ”ด
plain-code ๐ŸŸข ๐Ÿ”ด ๐Ÿ”ด
plain-models ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-dev ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-elements ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-flags ๐ŸŸข ๐Ÿ”ด ๐Ÿ”ด
plain-htmx ๐ŸŸข ๐Ÿ”ด ๐ŸŸก
plain-importmap ๐Ÿ”ด ๐ŸŸข ๐ŸŸก
plain-mail ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-oauth ๐ŸŸข ๐ŸŸก ๐ŸŸก
plain-pages ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-passwords ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-pytest ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-sessions ๐ŸŸข ๐Ÿ”ด ๐Ÿ”ด
plain-staff ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-tailwind ๐ŸŸข ๐Ÿ”ด ๐ŸŸก
plain-vendor ๐ŸŸก ๐Ÿ”ด ๐Ÿ”ด
plain-worker ๐ŸŸข ๐Ÿ”ด ๐Ÿ”ด

Potential packages

  • plain-api (started)
  • plain-charts (started)
  • plain-pwa (started)
  • plain-2fa / plain-totp
  • plain-passkeys
  • plain-loginlink