Compare commits

...

13 Commits

Author SHA1 Message Date
Adam Hopkins
97635111af Align setup.py 2021-02-16 09:33:48 +02:00
Adam Hopkins
7f3fe40cd4 Bump version 2021-02-16 08:50:35 +02:00
Adam Hopkins
ea34bcd849 Merge branch '20.12LTS' of github.com:sanic-org/sanic into 20.12LTS 2021-02-16 08:43:15 +02:00
Adam Hopkins
05f758583b
Merge pull request #2029 from ashleysommer/tox_requires_2012
Fix tox requirements conflicts for 20.12LTS
2021-02-16 08:37:59 +02:00
Ashley Sommer
760c74a293 Merge remote-tracking branch 'origin/20.12LTS' into tox_requires_2012 2021-02-16 10:31:42 +10:00
Ashley Sommer
9def46beb8 Remove old chardet requirement, add our real multidict requirement 2021-02-16 10:03:40 +10:00
Ashley Sommer
04be8e95a5
Merge pull request #2026 from sanic-org/fix-uvloop-2012
Fix uvloop version for 20.12LTS
2021-02-16 09:23:57 +10:00
Adam Hopkins
78ced20fc7 fix uvloop version 2021-02-15 14:30:57 +02:00
Adam Hopkins
c3003413d3 Bump to version 20.12.1 2021-01-05 18:26:47 +02:00
Adam Hopkins
fe3fdc5d83
#1993 Disable registry (#1994)
* Bump to v20.12 (#1987)

* Bump to v20.12

* Update Changelog

* Add disable app registry

* squash

* Create FUNDING.yml (#1995)
2021-01-05 17:00:25 +02:00
Adam Hopkins
b66fb6f9e8
Merge branch 'master' into 20.12LTS 2020-12-28 23:21:46 +02:00
Adam Hopkins
bf6175fb20 Update Changelog 2020-12-28 23:18:19 +02:00
Adam Hopkins
58ca887be4 Bump to v20.12 2020-12-28 23:11:29 +02:00
8 changed files with 184 additions and 62 deletions

12
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,12 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: sanic-org # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@ -1,9 +1,96 @@
Version 20.12.0
===============
Features
********
*
`#1945 <https://github.com/huge-success/sanic/pull/1945>`_
Static route more verbose if file not found
*
`#1954 <https://github.com/huge-success/sanic/pull/1954>`_
Fix static routes registration on a blueprint
*
`#1961 <https://github.com/huge-success/sanic/pull/1961>`_
Add Python 3.9 support
*
`#1962 <https://github.com/huge-success/sanic/pull/1962>`_
Sanic CLI upgrade
*
`#1967 <https://github.com/huge-success/sanic/pull/1967>`_
Update aiofile version requirements
*
`#1969 <https://github.com/huge-success/sanic/pull/1969>`_
Update multidict version requirements
*
`#1970 <https://github.com/huge-success/sanic/pull/1970>`_
Add py.typed file
*
`#1972 <https://github.com/huge-success/sanic/pull/1972>`_
Speed optimization in request handler
*
`#1979 <https://github.com/huge-success/sanic/pull/1979>`_
Add app registry and Sanic class level app retrieval
Bugfixes
********
*
`#1965 <https://github.com/huge-success/sanic/pull/1965>`_
Fix Chunked Transport-Encoding in ASGI streaming response
Deprecations and Removals
*************************
*
`#1981 <https://github.com/huge-success/sanic/pull/1981>`_
Cleanup and remove deprecated code
Developer infrastructure
************************
*
`#1956 <https://github.com/huge-success/sanic/pull/1956>`_
Fix load module test
*
`#1973 <https://github.com/huge-success/sanic/pull/1973>`_
Transition Travis from .org to .com
*
`#1986 <https://github.com/huge-success/sanic/pull/1986>`_
Update tox requirements
Improved Documentation
**********************
*
`#1951 <https://github.com/huge-success/sanic/pull/1951>`_
Documentation improvements
*
`#1983 <https://github.com/huge-success/sanic/pull/1983>`_
Remove duplicate contents in testing.rst
*
`#1984 <https://github.com/huge-success/sanic/pull/1984>`_
Fix typo in routing.rst
Version 20.9.1 Version 20.9.1
=============== ===============
Bugfixes Bugfixes
******** ********
* *
`#1954 <https://github.com/huge-success/sanic/pull/1954>`_ `#1954 <https://github.com/huge-success/sanic/pull/1954>`_
Fix static route registration on blueprints Fix static route registration on blueprints
@ -17,7 +104,7 @@ Version 19.12.3
Bugfixes Bugfixes
******** ********
* *
`#1959 <https://github.com/huge-success/sanic/pull/1959>`_ `#1959 <https://github.com/huge-success/sanic/pull/1959>`_
Removes duplicate headers in ASGI streaming body Removes duplicate headers in ASGI streaming body
@ -37,27 +124,27 @@ Features
* *
`#1894 <https://github.com/huge-success/sanic/pull/1894>`_ `#1894 <https://github.com/huge-success/sanic/pull/1894>`_
Automatically set ``test_mode`` flag on app instance Automatically set ``test_mode`` flag on app instance
* *
`#1903 <https://github.com/huge-success/sanic/pull/1903>`_ `#1903 <https://github.com/huge-success/sanic/pull/1903>`_
Add new unified method for updating app values Add new unified method for updating app values
* *
`#1906 <https://github.com/huge-success/sanic/pull/1906>`_, `#1906 <https://github.com/huge-success/sanic/pull/1906>`_,
`#1909 <https://github.com/huge-success/sanic/pull/1909>`_ `#1909 <https://github.com/huge-success/sanic/pull/1909>`_
Adds WEBSOCKET_PING_TIMEOUT and WEBSOCKET_PING_INTERVAL configuration values Adds WEBSOCKET_PING_TIMEOUT and WEBSOCKET_PING_INTERVAL configuration values
* *
`#1935 <https://github.com/huge-success/sanic/pull/1935>`_ `#1935 <https://github.com/huge-success/sanic/pull/1935>`_
httpx version dependency updated, it is slated for removal as a dependency in v20.12 httpx version dependency updated, it is slated for removal as a dependency in v20.12
* *
`#1937 <https://github.com/huge-success/sanic/pull/1937>`_ `#1937 <https://github.com/huge-success/sanic/pull/1937>`_
Added auto, text, and json fallback error handlers (in v21.3, the default will change form html to auto) Added auto, text, and json fallback error handlers (in v21.3, the default will change form html to auto)
Bugfixes Bugfixes
******** ********
* *
`#1897 <https://github.com/huge-success/sanic/pull/1897>`_ `#1897 <https://github.com/huge-success/sanic/pull/1897>`_
Resolves exception from unread bytes in stream Resolves exception from unread bytes in stream
@ -98,7 +185,7 @@ Version 20.6.3
Bugfixes Bugfixes
******** ********
* *
`#1884 <https://github.com/huge-success/sanic/pull/1884>`_ `#1884 <https://github.com/huge-success/sanic/pull/1884>`_
Revert change to multiprocessing mode Revert change to multiprocessing mode
@ -109,7 +196,7 @@ Version 20.6.2
Features Features
******** ********
* *
`#1641 <https://github.com/huge-success/sanic/pull/1641>`_ `#1641 <https://github.com/huge-success/sanic/pull/1641>`_
Socket binding implemented properly for IPv6 and UNIX sockets Socket binding implemented properly for IPv6 and UNIX sockets
@ -120,7 +207,7 @@ Version 20.6.1
Features Features
******** ********
* *
`#1760 <https://github.com/huge-success/sanic/pull/1760>`_ `#1760 <https://github.com/huge-success/sanic/pull/1760>`_
Add version parameter to websocket routes Add version parameter to websocket routes
@ -131,7 +218,7 @@ Features
* *
`#1880 <https://github.com/huge-success/sanic/pull/1880>`_ `#1880 <https://github.com/huge-success/sanic/pull/1880>`_
Add handler names for websockets for url_for usage Add handler names for websockets for url_for usage
Bugfixes Bugfixes
******** ********
@ -151,7 +238,7 @@ Bugfixes
* *
`#1848 <https://github.com/huge-success/sanic/pull/1848>`_ `#1848 <https://github.com/huge-success/sanic/pull/1848>`_
Reverse named_response_middlware execution order, to match normal response middleware execution order Reverse named_response_middlware execution order, to match normal response middleware execution order
* *
`#1853 <https://github.com/huge-success/sanic/pull/1853>`_ `#1853 <https://github.com/huge-success/sanic/pull/1853>`_
Fix pickle error when attempting to pickle an application which contains websocket routes Fix pickle error when attempting to pickle an application which contains websocket routes
@ -203,28 +290,28 @@ Version 20.3.0
Features Features
******** ********
* *
`#1762 <https://github.com/huge-success/sanic/pull/1762>`_ `#1762 <https://github.com/huge-success/sanic/pull/1762>`_
Add ``srv.start_serving()`` and ``srv.serve_forever()`` to ``AsyncioServer`` Add ``srv.start_serving()`` and ``srv.serve_forever()`` to ``AsyncioServer``
* *
`#1767 <https://github.com/huge-success/sanic/pull/1767>`_ `#1767 <https://github.com/huge-success/sanic/pull/1767>`_
Make Sanic usable on ``hypercorn -k trio myweb.app`` Make Sanic usable on ``hypercorn -k trio myweb.app``
* *
`#1768 <https://github.com/huge-success/sanic/pull/1768>`_ `#1768 <https://github.com/huge-success/sanic/pull/1768>`_
No tracebacks on normal errors and prettier error pages No tracebacks on normal errors and prettier error pages
* *
`#1769 <https://github.com/huge-success/sanic/pull/1769>`_ `#1769 <https://github.com/huge-success/sanic/pull/1769>`_
Code cleanup in file responses Code cleanup in file responses
* *
`#1793 <https://github.com/huge-success/sanic/pull/1793>`_ and `#1793 <https://github.com/huge-success/sanic/pull/1793>`_ and
`#1819 <https://github.com/huge-success/sanic/pull/1819>`_ `#1819 <https://github.com/huge-success/sanic/pull/1819>`_
Upgrade ``str.format()`` to f-strings Upgrade ``str.format()`` to f-strings
* *
`#1798 <https://github.com/huge-success/sanic/pull/1798>`_ `#1798 <https://github.com/huge-success/sanic/pull/1798>`_
Allow multiple workers on MacOS with Python 3.8 Allow multiple workers on MacOS with Python 3.8
@ -235,19 +322,19 @@ Features
Bugfixes Bugfixes
******** ********
* *
`#1748 <https://github.com/huge-success/sanic/pull/1748>`_ `#1748 <https://github.com/huge-success/sanic/pull/1748>`_
Remove loop argument in ``asyncio.Event`` in Python 3.8 Remove loop argument in ``asyncio.Event`` in Python 3.8
* *
`#1764 <https://github.com/huge-success/sanic/pull/1764>`_ `#1764 <https://github.com/huge-success/sanic/pull/1764>`_
Allow route decorators to stack up again Allow route decorators to stack up again
* *
`#1789 <https://github.com/huge-success/sanic/pull/1789>`_ `#1789 <https://github.com/huge-success/sanic/pull/1789>`_
Fix tests using hosts yielding incorrect ``url_for`` Fix tests using hosts yielding incorrect ``url_for``
* *
`#1808 <https://github.com/huge-success/sanic/pull/1808>`_ `#1808 <https://github.com/huge-success/sanic/pull/1808>`_
Fix Ctrl+C and tests on Windows Fix Ctrl+C and tests on Windows
@ -261,7 +348,7 @@ Deprecations and Removals
* *
`#1801 <https://github.com/huge-success/sanic/pull/1801>`_ `#1801 <https://github.com/huge-success/sanic/pull/1801>`_
Complete deprecation from `#1666 <https://github.com/huge-success/sanic/pull/1666>`_ of dictionary context on ``request`` objects. Complete deprecation from `#1666 <https://github.com/huge-success/sanic/pull/1666>`_ of dictionary context on ``request`` objects.
* *
`#1807 <https://github.com/huge-success/sanic/pull/1807>`_ `#1807 <https://github.com/huge-success/sanic/pull/1807>`_
Remove server config args that can be read directly from app Remove server config args that can be read directly from app
@ -284,22 +371,22 @@ Dependencies
Developer infrastructure Developer infrastructure
************************ ************************
* *
`#1833 <https://github.com/huge-success/sanic/pull/1833>`_ `#1833 <https://github.com/huge-success/sanic/pull/1833>`_
Resolve broken documentation builds Resolve broken documentation builds
Improved Documentation Improved Documentation
********************** **********************
* *
`#1755 <https://github.com/huge-success/sanic/pull/1755>`_ `#1755 <https://github.com/huge-success/sanic/pull/1755>`_
Usage of ``response.empty()`` Usage of ``response.empty()``
* *
`#1778 <https://github.com/huge-success/sanic/pull/1778>`_ `#1778 <https://github.com/huge-success/sanic/pull/1778>`_
Update README Update README
* *
`#1783 <https://github.com/huge-success/sanic/pull/1783>`_ `#1783 <https://github.com/huge-success/sanic/pull/1783>`_
Fix typo Fix typo
@ -326,7 +413,7 @@ Improved Documentation
* *
`#1834 <https://github.com/huge-success/sanic/pull/1834>`_ `#1834 <https://github.com/huge-success/sanic/pull/1834>`_
Order of listeners Order of listeners
Version 19.12.0 Version 19.12.0
=============== ===============
@ -392,16 +479,16 @@ Version 19.6.2
Features Features
******** ********
* *
`#1562 <https://github.com/huge-success/sanic/pull/1562>`_ `#1562 <https://github.com/huge-success/sanic/pull/1562>`_
Remove ``aiohttp`` dependency and create new ``SanicTestClient`` based upon Remove ``aiohttp`` dependency and create new ``SanicTestClient`` based upon
`requests-async <https://github.com/encode/requests-async>`_ `requests-async <https://github.com/encode/requests-async>`_
* *
`#1475 <https://github.com/huge-success/sanic/pull/1475>`_ `#1475 <https://github.com/huge-success/sanic/pull/1475>`_
Added ASGI support (Beta) Added ASGI support (Beta)
* *
`#1436 <https://github.com/huge-success/sanic/pull/1436>`_ `#1436 <https://github.com/huge-success/sanic/pull/1436>`_
Add Configure support from object string Add Configure support from object string
@ -409,19 +496,19 @@ Features
Bugfixes Bugfixes
******** ********
* *
`#1587 <https://github.com/huge-success/sanic/pull/1587>`_ `#1587 <https://github.com/huge-success/sanic/pull/1587>`_
Add missing handle for Expect header. Add missing handle for Expect header.
* *
`#1560 <https://github.com/huge-success/sanic/pull/1560>`_ `#1560 <https://github.com/huge-success/sanic/pull/1560>`_
Allow to disable Transfer-Encoding: chunked. Allow to disable Transfer-Encoding: chunked.
* *
`#1558 <https://github.com/huge-success/sanic/pull/1558>`_ `#1558 <https://github.com/huge-success/sanic/pull/1558>`_
Fix graceful shutdown. Fix graceful shutdown.
* *
`#1594 <https://github.com/huge-success/sanic/pull/1594>`_ `#1594 <https://github.com/huge-success/sanic/pull/1594>`_
Strict Slashes behavior fix Strict Slashes behavior fix
@ -432,11 +519,11 @@ Deprecations and Removals
`#1544 <https://github.com/huge-success/sanic/pull/1544>`_ `#1544 <https://github.com/huge-success/sanic/pull/1544>`_
Drop dependency on distutil Drop dependency on distutil
* *
`#1562 <https://github.com/huge-success/sanic/pull/1562>`_ `#1562 <https://github.com/huge-success/sanic/pull/1562>`_
Drop support for Python 3.5 Drop support for Python 3.5
* *
`#1568 <https://github.com/huge-success/sanic/pull/1568>`_ `#1568 <https://github.com/huge-success/sanic/pull/1568>`_
Deprecate route removal. Deprecate route removal.
@ -453,39 +540,39 @@ Version 19.3
Features Features
******** ********
* *
`#1497 <https://github.com/huge-success/sanic/pull/1497>`_ `#1497 <https://github.com/huge-success/sanic/pull/1497>`_
Add support for zero-length and RFC 5987 encoded filename for Add support for zero-length and RFC 5987 encoded filename for
multipart/form-data requests. multipart/form-data requests.
* *
`#1484 <https://github.com/huge-success/sanic/pull/1484>`_ `#1484 <https://github.com/huge-success/sanic/pull/1484>`_
The type of ``expires`` attribute of ``sanic.cookies.Cookie`` is now The type of ``expires`` attribute of ``sanic.cookies.Cookie`` is now
enforced to be of type ``datetime``. enforced to be of type ``datetime``.
* *
`#1482 <https://github.com/huge-success/sanic/pull/1482>`_ `#1482 <https://github.com/huge-success/sanic/pull/1482>`_
Add support for the ``stream`` parameter of ``sanic.Sanic.add_route()`` Add support for the ``stream`` parameter of ``sanic.Sanic.add_route()``
available to ``sanic.Blueprint.add_route()``. available to ``sanic.Blueprint.add_route()``.
* *
`#1481 <https://github.com/huge-success/sanic/pull/1481>`_ `#1481 <https://github.com/huge-success/sanic/pull/1481>`_
Accept negative values for route parameters with type ``int`` or ``number``. Accept negative values for route parameters with type ``int`` or ``number``.
* *
`#1476 <https://github.com/huge-success/sanic/pull/1476>`_ `#1476 <https://github.com/huge-success/sanic/pull/1476>`_
Deprecated the use of ``sanic.request.Request.raw_args`` - it has a Deprecated the use of ``sanic.request.Request.raw_args`` - it has a
fundamental flaw in which is drops repeated query string parameters. fundamental flaw in which is drops repeated query string parameters.
Added ``sanic.request.Request.query_args`` as a replacement for the Added ``sanic.request.Request.query_args`` as a replacement for the
original use-case. original use-case.
* *
`#1472 <https://github.com/huge-success/sanic/pull/1472>`_ `#1472 <https://github.com/huge-success/sanic/pull/1472>`_
Remove an unwanted ``None`` check in Request class ``repr`` implementation. Remove an unwanted ``None`` check in Request class ``repr`` implementation.
This changes the default ``repr`` of a Request from ``<Request>`` to This changes the default ``repr`` of a Request from ``<Request>`` to
``<Request: None />`` ``<Request: None />``
* *
`#1470 <https://github.com/huge-success/sanic/pull/1470>`_ `#1470 <https://github.com/huge-success/sanic/pull/1470>`_
Added 2 new parameters to ``sanic.app.Sanic.create_server``\ : Added 2 new parameters to ``sanic.app.Sanic.create_server``\ :
@ -496,21 +583,21 @@ Features
This is a breaking change. This is a breaking change.
* *
`#1499 <https://github.com/huge-success/sanic/pull/1499>`_ `#1499 <https://github.com/huge-success/sanic/pull/1499>`_
Added a set of test cases that test and benchmark route resolution. Added a set of test cases that test and benchmark route resolution.
* *
`#1457 <https://github.com/huge-success/sanic/pull/1457>`_ `#1457 <https://github.com/huge-success/sanic/pull/1457>`_
The type of the ``"max-age"`` value in a ``sanic.cookies.Cookie`` is now The type of the ``"max-age"`` value in a ``sanic.cookies.Cookie`` is now
enforced to be an integer. Non-integer values are replaced with ``0``. enforced to be an integer. Non-integer values are replaced with ``0``.
* *
`#1445 <https://github.com/huge-success/sanic/pull/1445>`_ `#1445 <https://github.com/huge-success/sanic/pull/1445>`_
Added the ``endpoint`` attribute to an incoming ``request``\ , containing the Added the ``endpoint`` attribute to an incoming ``request``\ , containing the
name of the handler function. name of the handler function.
* *
`#1423 <https://github.com/huge-success/sanic/pull/1423>`_ `#1423 <https://github.com/huge-success/sanic/pull/1423>`_
Improved request streaming. ``request.stream`` is now a bounded-size buffer Improved request streaming. ``request.stream`` is now a bounded-size buffer
instead of an unbounded queue. Callers must now call instead of an unbounded queue. Callers must now call
@ -523,7 +610,7 @@ Bugfixes
******** ********
* *
`#1502 <https://github.com/huge-success/sanic/pull/1502>`_ `#1502 <https://github.com/huge-success/sanic/pull/1502>`_
Sanic was prefetching ``time.time()`` and updating it once per second to Sanic was prefetching ``time.time()`` and updating it once per second to
avoid excessive ``time.time()`` calls. The implementation was observed to avoid excessive ``time.time()`` calls. The implementation was observed to
@ -531,25 +618,25 @@ Bugfixes
to negligible, so this has been removed. Fixes to negligible, so this has been removed. Fixes
`#1500 <https://github.com/huge-success/sanic/pull/1500>`_ `#1500 <https://github.com/huge-success/sanic/pull/1500>`_
* *
`#1501 <https://github.com/huge-success/sanic/pull/1501>`_ `#1501 <https://github.com/huge-success/sanic/pull/1501>`_
Fix a bug in the auto-reloader when the process was launched as a module Fix a bug in the auto-reloader when the process was launched as a module
i.e. ``python -m init0.mod1`` where the sanic server is started i.e. ``python -m init0.mod1`` where the sanic server is started
in ``init0/mod1.py`` with ``debug`` enabled and imports another module in in ``init0/mod1.py`` with ``debug`` enabled and imports another module in
``init0``. ``init0``.
* *
`#1376 <https://github.com/huge-success/sanic/pull/1376>`_ `#1376 <https://github.com/huge-success/sanic/pull/1376>`_
Allow sanic test client to bind to a random port by specifying Allow sanic test client to bind to a random port by specifying
``port=None`` when constructing a ``SanicTestClient`` ``port=None`` when constructing a ``SanicTestClient``
* *
`#1399 <https://github.com/huge-success/sanic/pull/1399>`_ `#1399 <https://github.com/huge-success/sanic/pull/1399>`_
Added the ability to specify middleware on a blueprint group, so that all Added the ability to specify middleware on a blueprint group, so that all
routes produced from the blueprints in the group have the middleware routes produced from the blueprints in the group have the middleware
applied. applied.
* *
`#1442 <https://github.com/huge-success/sanic/pull/1442>`_ `#1442 <https://github.com/huge-success/sanic/pull/1442>`_
Allow the the use the ``SANIC_ACCESS_LOG`` environment variable to Allow the the use the ``SANIC_ACCESS_LOG`` environment variable to
enable/disable the access log when not explicitly passed to ``app.run()``. enable/disable the access log when not explicitly passed to ``app.run()``.
@ -591,7 +678,7 @@ Version 18.12
18.12.0 18.12.0
******* *******
* *
Changes: Changes:
@ -609,7 +696,7 @@ Version 18.12
* Deprecate Handler.log * Deprecate Handler.log
* Pinned httptools requirement to version 0.0.10+ * Pinned httptools requirement to version 0.0.10+
* *
Fixes: Fixes:

View File

@ -1 +1 @@
__version__ = "20.9.1" __version__ = "20.12.2"

View File

@ -50,6 +50,7 @@ class Sanic:
strict_slashes=False, strict_slashes=False,
log_config=None, log_config=None,
configure_logging=True, configure_logging=True,
register=None,
): ):
# Get name from previous stack frame # Get name from previous stack frame
@ -88,7 +89,11 @@ class Sanic:
# Register alternative method names # Register alternative method names
self.go_fast = self.run self.go_fast = self.run
self.__class__.register_app(self) if register is not None:
self.config.REGISTER = register
if self.config.REGISTER:
self.__class__.register_app(self)
@property @property
def loop(self): def loop(self):

View File

@ -40,6 +40,7 @@ DEFAULT_CONFIG = {
"PROXIES_COUNT": None, "PROXIES_COUNT": None,
"FORWARDED_FOR_HEADER": "X-Forwarded-For", "FORWARDED_FOR_HEADER": "X-Forwarded-For",
"FALLBACK_ERROR_FORMAT": "html", "FALLBACK_ERROR_FORMAT": "html",
"REGISTER": True,
} }

View File

@ -57,7 +57,8 @@ setup_kwargs = {
"author": "Sanic Community", "author": "Sanic Community",
"author_email": "admhpkns@gmail.com", "author_email": "admhpkns@gmail.com",
"description": ( "description": (
"A web server and web framework that's written to go fast. Build fast. Run fast." "A web server and web framework that's written to go fast. "
"Build fast. Run fast."
), ),
"long_description": long_description, "long_description": long_description,
"packages": ["sanic"], "packages": ["sanic"],
@ -80,7 +81,7 @@ env_dependency = (
'; sys_platform != "win32" ' 'and implementation_name == "cpython"' '; sys_platform != "win32" ' 'and implementation_name == "cpython"'
) )
ujson = "ujson>=1.35" + env_dependency ujson = "ujson>=1.35" + env_dependency
uvloop = "uvloop>=0.5.3" + env_dependency uvloop = "uvloop>=0.5.3,<0.15.0" + env_dependency
requirements = [ requirements = [
"httptools>=0.0.10", "httptools>=0.0.10",

View File

@ -3,6 +3,7 @@ import logging
import sys import sys
from inspect import isawaitable from inspect import isawaitable
from os import environ
from unittest.mock import patch from unittest.mock import patch
import pytest import pytest
@ -290,6 +291,7 @@ def test_app_registry_name_reuse():
with pytest.raises(SanicException): with pytest.raises(SanicException):
Sanic("test") Sanic("test")
Sanic.test_mode = True Sanic.test_mode = True
Sanic("test")
def test_app_registry_retrieval(): def test_app_registry_retrieval():
@ -306,3 +308,17 @@ def test_get_app_does_not_exist_force_create():
assert isinstance( assert isinstance(
Sanic.get_app("does-not-exist", force_create=True), Sanic Sanic.get_app("does-not-exist", force_create=True), Sanic
) )
def test_app_no_registry():
Sanic("no-register", register=False)
with pytest.raises(SanicException):
Sanic.get_app("no-register")
def test_app_no_registry_env():
environ["SANIC_REGISTER"] = "False"
Sanic("no-register")
with pytest.raises(SanicException):
Sanic.get_app("no-register")
del environ["SANIC_REGISTER"]

View File

@ -16,7 +16,7 @@ deps =
pytest-dependency pytest-dependency
httpcore==0.11.* httpcore==0.11.*
httpx==0.15.4 httpx==0.15.4
chardet==3.* multidict>=5.0,<6.0
beautifulsoup4 beautifulsoup4
gunicorn==20.0.4 gunicorn==20.0.4
uvicorn uvicorn