As discussed in #71 and #72, move registry from app.config to app.extensions
Flask provides app.extensions as a specific place for extensions to store state, and many flask extensions do that (e.g. Flask-SQLAlchemy). This seems like the right place to store svcs state.
app.config is usually filled with things which might be set from an external config.py file, environment variable, or some other source. I often even like to be able to render these things back to e.g. JSON to save the current configuration for debugging.
Pull Request Check List
[X] Typos aside (please, always submit typo fixes!), I understand that this pull request may be closed in case there was no previous discussion.
[X] Do not open pull requests from your main branch – use a separate branch!
There's a ton of footguns waiting if you don't heed this warning. You can still go back to your project, create a branch from your main branch, push it, and open the pull request from the new branch.
This is not a pre-requisite for your your pull request to be accepted, but you have been warned.
[-] New functions/classes have to be added to docs/core-concepts.md or one of the integration guides by hand.
[-] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecateddirectives.
The next version is the second number in the current release + 1. The first number represents the current year. So if the current version on PyPI is 23.1.0, the next version is gonna be 23.2.0. If the next version is the first in the new year, it'll be 24.1.0.
[X] Documentation in .rst and .md files is written using semantic newlines.
[X] Changes (and possible deprecations) are documented in the changelog.
Summary
As discussed in #71 and #72, move registry from
app.config
toapp.extensions
Flask provides
app.extensions
as a specific place for extensions to store state, and many flask extensions do that (e.g. Flask-SQLAlchemy). This seems like the right place to storesvcs
state.app.config
is usually filled with things which might be set from an externalconfig.py
file, environment variable, or some other source. I often even like to be able to render these things back to e.g. JSON to save the current configuration for debugging.Pull Request Check List
main
branch – use a separate branch!docs/core-concepts.md
or one of the integration guides by hand.versionadded
,versionchanged
, ordeprecated
directives..rst
and.md
files is written using semantic newlines.