./www/py-sanic, Microframework based on uvloop, httptools, and learnings of flask

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 19.3.1, Package name: py37-sanic-19.3.1, Maintainer: pkgsrc-users

Sanic is a Flask-like Python 3.5+ web server that's written to go fast. It's
based on the work done by the amazing folks at magicstack.

On top of being Flask-like, Sanic supports async request handlers. This means
you can use the new shiny async/await syntax from Python 3.5, making your code
non-blocking and speedy.

Required to run:
[devel/py-setuptools] [devel/py-uvloop] [www/py-websockets] [textproc/py-ujson] [www/py-httptools] [devel/py-aiofiles] [databases/py-multidict] [lang/python37]

Required to build:

Master sites:

SHA1: c659db8a0139733cde46298e2daf8460b2a9d580
RMD160: 243e4eb0ae0159f292167d9a842d98ca18d9cdf3
Filesize: 114.273 KB

Version history: (Expand)

CVS history: (Expand)

   2019-04-26 15:14:25 by Maya Rashish | Files touched by this commit (473)
Log message:
Omit mentions of python 34 and 35, after those were removed.

- Includes some whitespace changes, to be handled in a separate commit.
   2019-04-04 14:25:38 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-sanic: updated to 19.3.1

* Add support for zero-length and RFC 5987 encoded filename for \ 
multipart/form-data requests.
* The type of expires attribute of sanic.cookies.Cookie is now enforced to be of \ 
type datetime.
* Add support for the stream parameter of sanic.Sanic.add_route() available to \ 
* Accept negative values for route parameters with type int or number.
* Deprecated the use of sanic.request.Request.raw_args - it has a fundamental \ 
flaw in which is drops repeated query string parameters. Added \ 
sanic.request.Request.query_args as a replacement for the original use-case.
* Remove an unwanted None check in Request class repr implementation. This \ 
changes the default repr of a Request from <Request> to <Request: None \ 
* Added 2 new parameters to sanic.app.Sanic.create_server:
return_asyncio_server - whether to return an asyncio.Server.
asyncio_server_kwargs - kwargs to pass to loop.create_server for the event loop \ 
that sanic is using.
This is a breaking change.
* Added a set of test cases that test and benchmark route resolution.
* 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.
* Added the endpoint attribute to an incoming request, containing the name of \ 
the handler function.
* Improved request streaming. request.stream is now a bounded-size buffer \ 
instead of an unbounded queue. Callers must now call await request.stream.read() \ 
instead of await request.stream.get() to read each portion of the body.
This is a breaking change.

* Sanic was prefetching time.time() and updating it once per second to avoid \ 
excessive time.time() calls. The implementation was observed to cause memory \ 
leaks in some cases. The benefit of the prefetch appeared to negligible, so this \ 
has been removed. Fixes
* 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 in init0/mod1.py with \ 
debug enabled and imports another module in init0.
* Allow sanic test client to bind to a random port by specifying port=None when \ 
constructing a SanicTestClient
* Added the ability to specify middleware on a blueprint group, so that all \ 
routes produced from the blueprints in the group have the middleware applied.
* Allow the the use the SANIC_ACCESS_LOG environment variable to enable/disable \ 
the access log when not explicitly passed to app.run(). This allows the access \ 
log to be disabled for example when running via gunicorn.

Developer infrastructure:
* Update project PyPI credentials
* fix linter issue causing travis build failures
* Fix python version in doc build
* Upgrade setuptools version and use native docutils in doc build
* Upgrade pytest, and fix caplog unit tests

Typos and Documentation:
* Fix typo at the exception documentation
* fix typo in Asyncio example
* Documentation typo
* Fix grammar in README.md
* Added "databases" to the extensions list
* Add sanic-zipkin to extensions list
* Removed link to deleted repo, Sanic-OAuth, from the extensions list
* 18.12 changelog
* Add example of amending request object
* Update README
* Update README
* Update README, including new logo
* fix minor type and pip install instruction mismatch
* Documentation Enhancements
   2019-01-18 09:15:07 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-sanic: updated to 18.12.0

Version 18.12


Improved codebase test coverage from 81% to 91%.
Added stream_large_files and host examples in static_file document
Added methods to append and finish body content on Request
Integrated with .appveyor.yml for windows ci support
Added documentation for AF_INET6 and AF_UNIX socket usage
Adopt black/isort for codestyle
Cancel task when connection_lost
Simplify request ip and port retrieval logic
Handle config error in load config file.
Integrate with codecov for CI
Add missed documentation for config section.
Deprecate Handler.log
Pinned httptools requirement to version 0.0.10+

Fix remove_entity_headers helper function
Fix TypeError when use Blueprint.group() to group blueprint with default \ 
url_prefix, Use os.path.normpath to avoid invalid url_prefix like api//v1 \ 
f8a6af1 Rename the http module to helpers to prevent conflicts with the built-in \ 
Python http library
Fix unittests on windows
Fix Namespacing of sanic logger
Fix missing quotes in decorator example
Fix redirect with quoted param
Fix doc for latest blueprint code
Fix build of latex documentation relating to markdown lists
Fix loop exception handling in app.py
Fix content length mismatch in windows and other platform
Fix Range header handling for static files
Fix the logger and make it work
Fix type pikcle->pickle in multiprocessing test
Fix pickling blueprints Change the string passed in the "name" section \ 
of the namedtuples in Blueprint to match the name of the Blueprint module \ 
attribute name. This allows blueprints to be pickled and unpickled, without \ 
errors, which is a requirment of running Sanic in multiprocessing mode in \ 
Windows. Added a test for pickling and unpickling blueprints Added a test for \ 
pickling and unpickling sanic itself Added a test for enabling multiprocessing \ 
on an app with a blueprint (only useful to catch this bug if the tests are run \ 
on Windows).
Fix document for logging
   2018-09-14 09:36:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-sanic: updated to 0.8.3

Bug fixes.
   2018-09-07 13:30:48 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-sanic: updated to 0.8.1

Unknown changes.
   2018-07-03 07:03:44 by Adam Ciarcinski | Files touched by this commit (495)
Log message:
extend PYTHON_VERSIONS_ for Python 3.7
   2017-12-06 13:53:56 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-sanic: updated to 0.7.0

Fixed a bug where trigger_events didn't actually trigger events in async \ 
Changed strict_slashes to be True by default
Changed Unauthorized exception __init__ to be more like the rest of the exceptions
Added an option to define a name for a route
Made the prefixes for the environment variables configurable
Fixed windows support where syslog raises an ImportError
Added support for vhosts in static routes
Split RequestTimeout, ResponseTimeout, and KeepAliveTimeout into different timeouts
Fixed Connection lost before response written
SanicTestClient now gets its own port
   2017-08-03 09:48:52 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Fix error where transport.get_extra_info returned None
Remove uvloop requirement for gunicorn worker
Fix error where request.token() would fail if Authorization headers were not provided
Added an abort function to easily exit out of route handlers
Added a file_stream response handler
Add support for streaming large static files
Added streaming requests
Added websocket max_size and max_queue configuration
Fixed test client not working with HTTP2
Added match_info property to request class
Added support for recycling the gunicorn worker
Added an Unauthorized exception
Added a Forbidden exception
Added a graceful timeout when shutdown