Plain is headed towards 1.0! Subscribe for development updates →

FAQs

Some things you might be thinking, and some quick answers.

Why fork Django?

In short, I wanted to change some stuff and didn't see any other way to do it. That's not necessarily a critique on how Django is run, but a reality of its success.

Also, I like Python and think it has a pretty bright future. I don't want to jump ship to one of the other "cool" frameworks in a different language.

More here.

What about async Python?

Django has made some good progres towards async, but I stripped it out of Plain.

I expect this will come back around, but to be honest, I just haven't had a real need for it yet myself and it feels like it overcomplicates things.

Is Plain compatible with third-party Django packages?

Nope.

Why split it into multiple packages?

There have been a number of times in the past where I've started a project, picked Flask for the simplicity, and then inevitably switched to Django once it got off the ground.

You don't have to do this with Plain.

Splitting the packages up also tends to encourage good "boundaries" between the features, and (I think) better design because of it.

Lastly, freedom. Plain can add (and remove!) packages without every decision being a "core" decision.