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

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


Branch: CURRENT, Version: 24.12.0, Package name: py312-sanic-24.12.0, 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] [www/py-httpx]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 343.619 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-02 15:13:34 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-sanic: updated to 24.12.0

24.12.0

DOCS: small fix to class name
Cleanup some typing
Fix SanicException quiet attribute handling when set to False
Kill the entire process group if applicable
Cleanup setup.cfg
Fix incompatible type annotation of get method in the HTTPMethodView class
fixes typo in sanic-ext cors docs
chore: support JSONRepsonse dumps callable return type bytes
Fixed mixins.startup.serve UnboundLocalError.
Custom commands
Remove 3.8 and add 3.13
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-14 08:46:10 by Thomas Klausner | Files touched by this commit (325)
Log message:
*: clean-up after python38 removal
   2024-01-11 14:13:28 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-sanic: updated to 23.12.1

Version 23.12.1
Fix broken multiplexer manage
Do not strip entity-headers with HTTP status 304 or 412
   2024-01-05 19:23:02 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-sanic: updated to 23.12.0

Version 23.12.0

Features

* Start and restart arbitrary processes
* Cleaner process management in shutdown
* Suppress task cancel traceback on open websocket
* Listener and signal prioritization
* Reduce memory consumption
* Accept bare cookies
* Add websocket.handler.<before/after/exception> signals
* Add changed files to reload trigger listeners
* Allow for simple signals
* Improve functionality and consistency of Sanic.event()
* Allow range requests for a single byte
* Better Request.scheme for websocket requests
* Convert Sanic Request to a Websockets Request for handshake
* Add a REPL to the sanic CLI
* Add Python 3.12 support
* Better exception on multiprocessing context conflicts

Bugfixes

* Fix MOTD display for extra data
   2023-11-07 23:38:10 by Thomas Klausner | Files touched by this commit (112)
Log message:
*: latest py-sphinx only support Python 3.9+
   2023-08-11 14:54:02 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-sanic: updated to 23.6.0

Version 23.6.0

Features

* Increase KEEP_ALIVE_TIMEOUT default to 120 seconds
* Adding allow route overwrite option in blueprint
* Add a new exception signal for ALL exceptions raised anywhere in application
* Add name prefixing to BP groups
* Update request type on middleware types
* Better exception message on startup time application induced import error
* Set multiprocessing start method early
* Add custom typing to config and ctx objects
* Add request.client_ip

Bugfixes

* Fix traversals for intended results
* Handle case when headers argument of ResponseStream constructor is None
* Fix type annotation for JSONREsponse default content type
* Use Sanic's serializer for JSON responses in the Inspector
* Support for Request.get_current in ASGI mode
* Alow Blueprint routes to explicitly define error_format
* Resolve headers on different renderers
* Resolve pypy compatibility issues

Deprecations and Removals

* Remove Python 3.7 support

Developer infrastructure

* Unpin setuptools version
* Run keep alive tests in loop to get available port

Improved Documentation

* Better documentation examples about running Sanic
   2023-03-03 10:01:36 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-sanic: updated to 22.12.0

Version 22.12.0

Current version

Features

* Add JSONResponse class with some convenient methods when updating a response object
* Change uvloop requirement to >=0.15.0
* Add compatibility with websockets v11.0
* Kill server early on worker error

Raise deadlock timeout to 30s
* Scale number of running server workers
* Send SIGKILL on subsequent ctrl+c to force worker exit
* Add API to restart all workers from the multiplexer
* Default to spawn for all subprocesses unless specifically set:

from sanic import Sanic

Sanic.start_method = "fork"
* Filename normalisation of form-data/multipart file uploads
* Move to HTTP Inspector:

Remote access to inspect running Sanic instances
TLS support for encrypted calls to Inspector
Authentication to Inspector with API key
Ability to extend Inspector with custom commands
* Control order of restart operations
* Move reload interval to class variable
* Add priority to register_middleware method
* Add unquote to add_route method
* ASGI websockets to receive text or bytes

Bugfixes

* Force socket shutdown before close to allow rebinding
* Use actual StrEnum in Python 3.11+
* Ensure middleware executes only once per request timeout
* Crash ASGI application on lifespan failure
* Resolve error with low-level server creation on Windows

Deprecations and Removals

* Signal conditions and triggers saved on signal.extra
* Move to HTTP Inspector
BREAKING CHANGE: Moves the Inspector to a Sanic app from a simple TCP socket \ 
with a custom protocol
DEPRECATE: The --inspect* commands have been deprecated in favor of inspect ... \ 
commands
* Replace deprecated distutils.strtobool

Developer infrastructure

* Add CI testing for Python 3.11