Name | http-router JSON |
Version |
5.0.8
JSON |
| download |
home_page | None |
Summary | A simple router system for HTTP applications |
upload_time | 2024-11-05 14:00:18 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | MIT License |
keywords |
http
router
web
framework
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
HTTP Router
###########
.. _description:
**http-router** -- A simple router for HTTP applications
The library is not a HTTP framework. It's an utilite to build the frameworks.
The main goal of the library to bind targets to http routes and match them.
.. _badges:
.. image:: https://github.com/klen/http-router/workflows/tests/badge.svg
:target: https://github.com/klen/http-router/actions
:alt: Tests Status
.. image:: https://img.shields.io/pypi/v/http-router
:target: https://pypi.org/project/http-router/
:alt: PYPI Version
.. image:: https://img.shields.io/pypi/pyversions/http-router
:target: https://pypi.org/project/http-router/
:alt: Python Versions
.. _contents:
.. contents::
.. _requirements:
Requirements
=============
- python 3.9, 3.10, 3.11, 3.12, 3.13, pypy3
.. _installation:
Installation
=============
**http-router** should be installed using pip: ::
pip install http-router
Usage
=====
Create a router:
.. code:: python
from http_router import Router
# Initialize the router
router = Router(trim_last_slash=True)
Define routes:
.. code:: python
@router.route('/simple')
def simple():
return 'result from the fn'
Call the router with HTTP path and optionally method to get a match result.
.. code:: python
match = router('/simple', method='GET')
assert match, 'HTTP path is ok'
assert match.target is simple
The router supports regex objects too:
.. code:: python
import re
@router.route(re.compile(r'/regexp/\w{3}-\d{2}/?'))
def regex():
return 'result from the fn'
But the lib has a simplier interface for the dynamic routes:
.. code:: python
@router.route('/users/{username}')
def users():
return 'result from the fn'
By default this will capture characters up to the end of the path or the next
``/``.
Optionally, you can use a converter to specify the type of the argument like
``{variable_name:converter}``.
Converter types:
========= ====================================
``str`` (default) accepts any text without a slash
``int`` accepts positive integers
``float`` accepts positive floating point values
``path`` like string but also accepts slashes
``uuid`` accepts UUID strings
========= ====================================
Convertors are used by prefixing them with a colon, like so:
.. code:: python
@router.route('/orders/{order_id:int}')
def orders():
return 'result from the fn'
Any unknown convertor will be parsed as a regex:
.. code:: python
@router.route('/orders/{order_id:\d{3}}')
def orders():
return 'result from the fn'
Multiple paths are supported as well:
.. code:: python
@router.route('/', '/home')
def index():
return 'index'
Handling HTTP methods:
.. code:: python
@router.route('/only-post', methods=['POST'])
def only_post():
return 'only-post'
Submounting routes:
.. code:: python
subrouter = Router()
@subrouter.route('/items/{item}')
def items():
pass
router = Router()
router.route('/api')(subrouter)
match = router('/api/items/12', method='GET')
assert match, 'HTTP path is ok'
assert match.target is items
assert match.params == {"item": "12"}
.. _bugtracker:
Bug tracker
===========
If you have any suggestions, bug reports or
annoyances please report them to the issue tracker
at https://github.com/klen/http-router/issues
.. _contributing:
Contributing
============
Development of the project happens at: https://github.com/klen/http-router
.. _license:
License
========
Licensed under a `MIT license`_.
.. _links:
.. _klen: https://github.com/klen
.. _MIT license: http://opensource.org/licenses/MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "http-router",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "http, router, web, framework",
"author": null,
"author_email": "Kirill Klenov <horneds@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/e6/00/ce245052bd04b57178e80ef3d75732a205afbc10bcf391113c8c90635833/http_router-5.0.8.tar.gz",
"platform": null,
"description": "HTTP Router\n###########\n\n.. _description:\n\n**http-router** -- A simple router for HTTP applications\n\nThe library is not a HTTP framework. It's an utilite to build the frameworks.\nThe main goal of the library to bind targets to http routes and match them.\n\n.. _badges:\n\n.. image:: https://github.com/klen/http-router/workflows/tests/badge.svg\n :target: https://github.com/klen/http-router/actions\n :alt: Tests Status\n\n.. image:: https://img.shields.io/pypi/v/http-router\n :target: https://pypi.org/project/http-router/\n :alt: PYPI Version\n\n.. image:: https://img.shields.io/pypi/pyversions/http-router\n :target: https://pypi.org/project/http-router/\n :alt: Python Versions\n\n.. _contents:\n\n.. contents::\n\n\n.. _requirements:\n\nRequirements\n=============\n\n- python 3.9, 3.10, 3.11, 3.12, 3.13, pypy3\n\n\n.. _installation:\n\nInstallation\n=============\n\n**http-router** should be installed using pip: ::\n\n pip install http-router\n\n\nUsage\n=====\n\nCreate a router:\n\n.. code:: python\n\n from http_router import Router\n\n\n # Initialize the router\n router = Router(trim_last_slash=True)\n\n\nDefine routes:\n\n.. code:: python\n\n @router.route('/simple')\n def simple():\n return 'result from the fn'\n\nCall the router with HTTP path and optionally method to get a match result.\n\n.. code:: python\n\n match = router('/simple', method='GET')\n assert match, 'HTTP path is ok'\n assert match.target is simple\n\nThe router supports regex objects too:\n\n.. code:: python\n\n import re\n\n @router.route(re.compile(r'/regexp/\\w{3}-\\d{2}/?'))\n def regex():\n return 'result from the fn'\n\nBut the lib has a simplier interface for the dynamic routes:\n\n.. code:: python\n\n @router.route('/users/{username}')\n def users():\n return 'result from the fn'\n\nBy default this will capture characters up to the end of the path or the next\n``/``.\n\nOptionally, you can use a converter to specify the type of the argument like\n``{variable_name:converter}``.\n\nConverter types:\n\n========= ====================================\n``str`` (default) accepts any text without a slash\n``int`` accepts positive integers\n``float`` accepts positive floating point values\n``path`` like string but also accepts slashes\n``uuid`` accepts UUID strings\n========= ====================================\n\nConvertors are used by prefixing them with a colon, like so:\n\n.. code:: python\n\n @router.route('/orders/{order_id:int}')\n def orders():\n return 'result from the fn'\n\nAny unknown convertor will be parsed as a regex:\n\n.. code:: python\n\n @router.route('/orders/{order_id:\\d{3}}')\n def orders():\n return 'result from the fn'\n\n\nMultiple paths are supported as well:\n\n.. code:: python\n\n @router.route('/', '/home')\n def index():\n return 'index'\n\n\nHandling HTTP methods:\n\n.. code:: python\n\n @router.route('/only-post', methods=['POST'])\n def only_post():\n return 'only-post'\n\n\nSubmounting routes:\n\n.. code:: python\n\n subrouter = Router()\n\n @subrouter.route('/items/{item}')\n def items():\n pass\n\n router = Router()\n router.route('/api')(subrouter)\n\n\n match = router('/api/items/12', method='GET')\n assert match, 'HTTP path is ok'\n assert match.target is items\n assert match.params == {\"item\": \"12\"}\n\n\n.. _bugtracker:\n\nBug tracker\n===========\n\nIf you have any suggestions, bug reports or\nannoyances please report them to the issue tracker\nat https://github.com/klen/http-router/issues\n\n\n.. _contributing:\n\nContributing\n============\n\nDevelopment of the project happens at: https://github.com/klen/http-router\n\n\n.. _license:\n\nLicense\n========\n\nLicensed under a `MIT license`_.\n\n\n.. _links:\n\n.. _klen: https://github.com/klen\n.. _MIT license: http://opensource.org/licenses/MIT\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "A simple router system for HTTP applications",
"version": "5.0.8",
"project_urls": {
"documentation": "https://github.com/klen/http-router",
"homepage": "https://github.com/klen/http-router",
"repository": "https://github.com/klen/http-router"
},
"split_keywords": [
"http",
" router",
" web",
" framework"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "69c20dece88ee1263b90fd204e39e98371c3e06615183ae8b2a4d31810931487",
"md5": "e0a61026837a3e3b6186c48268112c86",
"sha256": "1e6b41b0668e695d0e755cadcc7e79b013b09e468089d1bc935b3456861b0830"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "e0a61026837a3e3b6186c48268112c86",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 414802,
"upload_time": "2024-11-05T13:59:29",
"upload_time_iso_8601": "2024-11-05T13:59:29.606831Z",
"url": "https://files.pythonhosted.org/packages/69/c2/0dece88ee1263b90fd204e39e98371c3e06615183ae8b2a4d31810931487/http_router-5.0.8-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "858c8c57c11555f4042e2df1f677f413467932e66762d010048d7e0eeb745748",
"md5": "c1b8f9a4c4acdbfbb8f111faadb68036",
"sha256": "af57c421cff6cf3ad8bac2e4702038098bb5b38110a458fde01e8ad3155a1683"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c1b8f9a4c4acdbfbb8f111faadb68036",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 305960,
"upload_time": "2024-11-05T13:59:31",
"upload_time_iso_8601": "2024-11-05T13:59:31.431938Z",
"url": "https://files.pythonhosted.org/packages/85/8c/8c57c11555f4042e2df1f677f413467932e66762d010048d7e0eeb745748/http_router-5.0.8-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "47b3ad59b6f435f7a57c05656b65f043108947623b70f7658bb323b5706510de",
"md5": "4db76e682e1982c4b176bbf47e8a2f49",
"sha256": "23a02483bf036946789c281a42140ad1af17d374bc6c0e504c5a00890bceda5b"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "4db76e682e1982c4b176bbf47e8a2f49",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 835896,
"upload_time": "2024-11-05T13:59:33",
"upload_time_iso_8601": "2024-11-05T13:59:33.000365Z",
"url": "https://files.pythonhosted.org/packages/47/b3/ad59b6f435f7a57c05656b65f043108947623b70f7658bb323b5706510de/http_router-5.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "df8b3a800699760fad3b0ce1a7b8c14ac55c39791af96e84ebc5d2c438950333",
"md5": "6d4ffe75b2d18ad8f6325991e3401d3b",
"sha256": "06090216bf8433e7a5b12154ce147021768f7f9b02695c1bd7a2c6f2c656aa4a"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6d4ffe75b2d18ad8f6325991e3401d3b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 843954,
"upload_time": "2024-11-05T13:59:34",
"upload_time_iso_8601": "2024-11-05T13:59:34.906252Z",
"url": "https://files.pythonhosted.org/packages/df/8b/3a800699760fad3b0ce1a7b8c14ac55c39791af96e84ebc5d2c438950333/http_router-5.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c89c7018a1c74215a59c2d1448eb7007799d631b1b2fcd57a76e14a9c26f624",
"md5": "1dfeb099913bd48d69b0a86949fb7042",
"sha256": "71e8519b69968c8b466c43fdc6b1023211d56288a38fa8efaf4c89069f4d8735"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "1dfeb099913bd48d69b0a86949fb7042",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 810507,
"upload_time": "2024-11-05T13:59:36",
"upload_time_iso_8601": "2024-11-05T13:59:36.527514Z",
"url": "https://files.pythonhosted.org/packages/2c/89/c7018a1c74215a59c2d1448eb7007799d631b1b2fcd57a76e14a9c26f624/http_router-5.0.8-cp310-cp310-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "776eddc3aefc2c6346b7a5fdda1a61891a88b64ef7fa35905bf6417d0c0cf736",
"md5": "0113692450299b4e49d26c61ecc771bd",
"sha256": "235f1a09519d4cdedf23c4d59fe11a5355b0b4de934a2a4b4c4724a3db58e67c"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "0113692450299b4e49d26c61ecc771bd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 826918,
"upload_time": "2024-11-05T13:59:37",
"upload_time_iso_8601": "2024-11-05T13:59:37.987350Z",
"url": "https://files.pythonhosted.org/packages/77/6e/ddc3aefc2c6346b7a5fdda1a61891a88b64ef7fa35905bf6417d0c0cf736/http_router-5.0.8-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "63b524d18ffdc524cea9f2554705f1a2c3b37e55abf3665558e18145d7df297d",
"md5": "8939afd5f50adfc4609226f0f2ffee81",
"sha256": "6eec8b6585baf86aae95d5d801d75bd7806488aa423ccd4997884f77e0b4048f"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "8939afd5f50adfc4609226f0f2ffee81",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 300579,
"upload_time": "2024-11-05T13:59:39",
"upload_time_iso_8601": "2024-11-05T13:59:39.203085Z",
"url": "https://files.pythonhosted.org/packages/63/b5/24d18ffdc524cea9f2554705f1a2c3b37e55abf3665558e18145d7df297d/http_router-5.0.8-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4e202f9bdafb513cd5ffd6a852df248fc2311d69fe8da5d510909090333a9062",
"md5": "af6b2d89a12c038eee0c2ece73b7eaec",
"sha256": "d720a8f6db5a28793dff937ef5d76a3d13c81c1bd1b5d88c773acfec43dda96f"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "af6b2d89a12c038eee0c2ece73b7eaec",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 415263,
"upload_time": "2024-11-05T13:59:40",
"upload_time_iso_8601": "2024-11-05T13:59:40.253985Z",
"url": "https://files.pythonhosted.org/packages/4e/20/2f9bdafb513cd5ffd6a852df248fc2311d69fe8da5d510909090333a9062/http_router-5.0.8-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09f1dc46560241065da11ee6bdda7ad083c677d595a3fd36207b0659aa3a4f18",
"md5": "a678ceb9d96f4f7d5b90c4f3899d3f75",
"sha256": "dc70a0bc5e8342153ed84ebcebcfe3404e93750e0eb04761564e439a086e7fc8"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a678ceb9d96f4f7d5b90c4f3899d3f75",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 306014,
"upload_time": "2024-11-05T13:59:41",
"upload_time_iso_8601": "2024-11-05T13:59:41.731772Z",
"url": "https://files.pythonhosted.org/packages/09/f1/dc46560241065da11ee6bdda7ad083c677d595a3fd36207b0659aa3a4f18/http_router-5.0.8-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d5cea8369f1bbdb4b8bdfeb6f52508652cff1a5a8207026e5d13ab712b45cd75",
"md5": "7a0c1f700ce69ccbd9338be3fedb5e1c",
"sha256": "b8a2ffb67031675d369961a400eca2f9d2bdffc596c9ecc25c67ee12cffd9834"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7a0c1f700ce69ccbd9338be3fedb5e1c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 898686,
"upload_time": "2024-11-05T13:59:43",
"upload_time_iso_8601": "2024-11-05T13:59:43.140433Z",
"url": "https://files.pythonhosted.org/packages/d5/ce/a8369f1bbdb4b8bdfeb6f52508652cff1a5a8207026e5d13ab712b45cd75/http_router-5.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f60d26b15bc18785911a416aa4eec64b8b413d0cc59abbf072e6ea38983d7efa",
"md5": "e0e7b0829fcb14fd0706623d742fcc23",
"sha256": "017daf5d1bf7279e012f47d540058d07f7b09c48730c02c46fafb959e68ca712"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e0e7b0829fcb14fd0706623d742fcc23",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 905045,
"upload_time": "2024-11-05T13:59:44",
"upload_time_iso_8601": "2024-11-05T13:59:44.265005Z",
"url": "https://files.pythonhosted.org/packages/f6/0d/26b15bc18785911a416aa4eec64b8b413d0cc59abbf072e6ea38983d7efa/http_router-5.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f41a740d22ed9d9d03814278f30bd0184f6d0fa543adc0c794e68233d42dadc0",
"md5": "c21ae0e4da462a48c1ff586ebc17e88e",
"sha256": "e991628940eee63e55d48b73fda6ce1dd810cd8e2b4706f7793f7b9a2a5ac038"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "c21ae0e4da462a48c1ff586ebc17e88e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 873854,
"upload_time": "2024-11-05T13:59:45",
"upload_time_iso_8601": "2024-11-05T13:59:45.473869Z",
"url": "https://files.pythonhosted.org/packages/f4/1a/740d22ed9d9d03814278f30bd0184f6d0fa543adc0c794e68233d42dadc0/http_router-5.0.8-cp311-cp311-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "22de44c8457fa20b5807966d643608b36001a031bd61c9bd4800821ff5e3e330",
"md5": "11f61992425f04fc31a9e91da6106d29",
"sha256": "db33a908d7490cf2510876311755fdc1f50dbbf4dd1a1e329467bcb6c8a3bcca"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "11f61992425f04fc31a9e91da6106d29",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 892114,
"upload_time": "2024-11-05T13:59:46",
"upload_time_iso_8601": "2024-11-05T13:59:46.698616Z",
"url": "https://files.pythonhosted.org/packages/22/de/44c8457fa20b5807966d643608b36001a031bd61c9bd4800821ff5e3e330/http_router-5.0.8-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d0efcebc2f9145e57e21ee061f4d4ae0742987c60a257ca46a693223e8e1f235",
"md5": "7451f59d468d074385822ca5ebf1a7ed",
"sha256": "ddf9f414ba90efc5b02b6945b8f40eb3c7cb6ec76804a01ae369c893a66a8c75"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "7451f59d468d074385822ca5ebf1a7ed",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 300758,
"upload_time": "2024-11-05T13:59:48",
"upload_time_iso_8601": "2024-11-05T13:59:48.585858Z",
"url": "https://files.pythonhosted.org/packages/d0/ef/cebc2f9145e57e21ee061f4d4ae0742987c60a257ca46a693223e8e1f235/http_router-5.0.8-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "349a8a812d9f805f3daefed71a179292092191cb60ef111ad8e81358c1d6d7b3",
"md5": "d39a6cb7d86dd5bbdd9e6d5b8705d70a",
"sha256": "42399405eaa7830c134fef064823b06d113137e8cbf29129f5a555289d857ffa"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "d39a6cb7d86dd5bbdd9e6d5b8705d70a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 417057,
"upload_time": "2024-11-05T13:59:49",
"upload_time_iso_8601": "2024-11-05T13:59:49.873174Z",
"url": "https://files.pythonhosted.org/packages/34/9a/8a812d9f805f3daefed71a179292092191cb60ef111ad8e81358c1d6d7b3/http_router-5.0.8-cp312-cp312-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5b3c20a8338bf9a50d1b9ab2e9ea5c94a3f5fc5e042930fae3369338dcf65617",
"md5": "66cd85479a94e917309a3d9d699ac6eb",
"sha256": "c2670c039177346cb9a7e99d7d5aec304bfd76e5bab2050a869783306f089df3"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "66cd85479a94e917309a3d9d699ac6eb",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 306961,
"upload_time": "2024-11-05T13:59:50",
"upload_time_iso_8601": "2024-11-05T13:59:50.978485Z",
"url": "https://files.pythonhosted.org/packages/5b/3c/20a8338bf9a50d1b9ab2e9ea5c94a3f5fc5e042930fae3369338dcf65617/http_router-5.0.8-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2fa728aa198c7a5e351a3aff0ed21e431f561fe15f0fec2c81656f2ed795dd24",
"md5": "fa0917e2af992e695e18a77b462712e5",
"sha256": "6eb3a0e85cd82626097b70e0d9757203a641fddd3a78c442f4c1b640c03d6724"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "fa0917e2af992e695e18a77b462712e5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 894143,
"upload_time": "2024-11-05T13:59:52",
"upload_time_iso_8601": "2024-11-05T13:59:52.112117Z",
"url": "https://files.pythonhosted.org/packages/2f/a7/28aa198c7a5e351a3aff0ed21e431f561fe15f0fec2c81656f2ed795dd24/http_router-5.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "67e5ef8e3465a206adc2b374e3fba23d07d4de9be95ef5c75bd1b408052fe7e7",
"md5": "c92d1bc9761de8782bdf849a1c03abc7",
"sha256": "4a1a68ac08ea10edfd1b422704a8009812c4d8f36d155a629b231c3950040cc6"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c92d1bc9761de8782bdf849a1c03abc7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 909552,
"upload_time": "2024-11-05T13:59:53",
"upload_time_iso_8601": "2024-11-05T13:59:53.335715Z",
"url": "https://files.pythonhosted.org/packages/67/e5/ef8e3465a206adc2b374e3fba23d07d4de9be95ef5c75bd1b408052fe7e7/http_router-5.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2bed2c1d660364c8c13f1df92e8bc10f43d8eaaa62f15cef92f7b80c2dd92ac8",
"md5": "033dc0671fa8b2bbd28f543b749e6443",
"sha256": "914dd4513027c8b595366ce76ef262d99573a3a49bcef9ad2f31e71ac0cc377b"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "033dc0671fa8b2bbd28f543b749e6443",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 867831,
"upload_time": "2024-11-05T13:59:55",
"upload_time_iso_8601": "2024-11-05T13:59:55.225581Z",
"url": "https://files.pythonhosted.org/packages/2b/ed/2c1d660364c8c13f1df92e8bc10f43d8eaaa62f15cef92f7b80c2dd92ac8/http_router-5.0.8-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bae53097ec68742d481d241f98057dc9a36ed93546d9cc8d84e398a6df233a24",
"md5": "05f4ba8a564c4493ca3fefe09d5e8b21",
"sha256": "315e1e4ad715e68c9d57629746b9416732e69bcb5afc58fd3dba6dc29fc4ab8e"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "05f4ba8a564c4493ca3fefe09d5e8b21",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 889954,
"upload_time": "2024-11-05T13:59:56",
"upload_time_iso_8601": "2024-11-05T13:59:56.530957Z",
"url": "https://files.pythonhosted.org/packages/ba/e5/3097ec68742d481d241f98057dc9a36ed93546d9cc8d84e398a6df233a24/http_router-5.0.8-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0c7ec0a4fe876785aedfa976870fc0e12b641a44ec0f88124a3d96a704926d81",
"md5": "c7760721cdb753b50f302861425ac857",
"sha256": "008b6a769d9dead5d47b32df048630d0f01089256283d342978053dcbd80bb54"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "c7760721cdb753b50f302861425ac857",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 299813,
"upload_time": "2024-11-05T13:59:57",
"upload_time_iso_8601": "2024-11-05T13:59:57.710238Z",
"url": "https://files.pythonhosted.org/packages/0c/7e/c0a4fe876785aedfa976870fc0e12b641a44ec0f88124a3d96a704926d81/http_router-5.0.8-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38e329208d3384a9118324ac5759921dd068f4f4d52908cab81572322c6e145f",
"md5": "c780017d95557fe0bc7d32549a1e5dcb",
"sha256": "7db15460981beaed599fb52fb2e39452dcfc6bc900f724599e92cba3faeb3c27"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "c780017d95557fe0bc7d32549a1e5dcb",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 412026,
"upload_time": "2024-11-05T13:59:59",
"upload_time_iso_8601": "2024-11-05T13:59:59.422712Z",
"url": "https://files.pythonhosted.org/packages/38/e3/29208d3384a9118324ac5759921dd068f4f4d52908cab81572322c6e145f/http_router-5.0.8-cp313-cp313-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3f995378472cdb48efacdeb0c1d1645b77f06e4b0df37ce13e442ef9f46ae264",
"md5": "3ab0d89ff85133771f367911ebca784a",
"sha256": "5bf29d88d9f4c9f4c2c4f5e24975cc4d701094fb84536de5a2a80ed978c59211"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "3ab0d89ff85133771f367911ebca784a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 304329,
"upload_time": "2024-11-05T14:00:00",
"upload_time_iso_8601": "2024-11-05T14:00:00.789229Z",
"url": "https://files.pythonhosted.org/packages/3f/99/5378472cdb48efacdeb0c1d1645b77f06e4b0df37ce13e442ef9f46ae264/http_router-5.0.8-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "42e75f09e94df22442132d22505916adb6ca04f2282065616596ffb3429179a3",
"md5": "ef7558a98b1751f58bfb02054d57748d",
"sha256": "ae7911b6c100af5b15a372ba892fb10f0e6977955a51a21b5811803b4a5e975e"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "ef7558a98b1751f58bfb02054d57748d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 885185,
"upload_time": "2024-11-05T14:00:01",
"upload_time_iso_8601": "2024-11-05T14:00:01.940420Z",
"url": "https://files.pythonhosted.org/packages/42/e7/5f09e94df22442132d22505916adb6ca04f2282065616596ffb3429179a3/http_router-5.0.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b478d5d495fb0fc12a94eef0277871bb465ec5a96f08e0581af8063c297865b9",
"md5": "883b6fadc4c0386e325addc2e6cf7df8",
"sha256": "5061e6320a8f48da0305d682599f3e48187e1374854fc015f3cf41a5afd45604"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "883b6fadc4c0386e325addc2e6cf7df8",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 900714,
"upload_time": "2024-11-05T14:00:03",
"upload_time_iso_8601": "2024-11-05T14:00:03.132171Z",
"url": "https://files.pythonhosted.org/packages/b4/78/d5d495fb0fc12a94eef0277871bb465ec5a96f08e0581af8063c297865b9/http_router-5.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "86a256316110305849b9bc36a19cee4b74d6bacef81513ac4bacf30d6cffc0ab",
"md5": "88773fd5081dfd9e609db310e351548d",
"sha256": "f67122ede9b5432c631f302e1838fb534810f6c0859343d716de2ae19ad97810"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "88773fd5081dfd9e609db310e351548d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 855972,
"upload_time": "2024-11-05T14:00:04",
"upload_time_iso_8601": "2024-11-05T14:00:04.357681Z",
"url": "https://files.pythonhosted.org/packages/86/a2/56316110305849b9bc36a19cee4b74d6bacef81513ac4bacf30d6cffc0ab/http_router-5.0.8-cp313-cp313-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd56e201a9e14ad3aaff42d6fc9982ef64e3e97683ef621bc201e408d5475173",
"md5": "e8f38c054b1cc5effd127d8673b7d5ee",
"sha256": "f931d95d0d88dc1563e10b5bb8bc83f93ce6609cbaeb01bf6eb83d3d2b852dec"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "e8f38c054b1cc5effd127d8673b7d5ee",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 879073,
"upload_time": "2024-11-05T14:00:06",
"upload_time_iso_8601": "2024-11-05T14:00:06.023840Z",
"url": "https://files.pythonhosted.org/packages/cd/56/e201a9e14ad3aaff42d6fc9982ef64e3e97683ef621bc201e408d5475173/http_router-5.0.8-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "15b0691d49fb703307e02f23835651b2b974db3a9caca3479f3851264eced518",
"md5": "66fe05dae3d05f2370e751397dfdc30e",
"sha256": "96ad8f296e3c74a10d6da8422d4fb83328bc1a21934828fd39e465211aca0336"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "66fe05dae3d05f2370e751397dfdc30e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 298498,
"upload_time": "2024-11-05T14:00:07",
"upload_time_iso_8601": "2024-11-05T14:00:07.933482Z",
"url": "https://files.pythonhosted.org/packages/15/b0/691d49fb703307e02f23835651b2b974db3a9caca3479f3851264eced518/http_router-5.0.8-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed51c8e5e01059687893b02d64feaaeae5567b8b101165fde8fe289dacc12be5",
"md5": "48f24ea0e95b714995b9975479b6c663",
"sha256": "5e75dbe1ecdc2edafe59ab87da545ebeeb9afc9ef5061edae83abb24dfedd5e6"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "48f24ea0e95b714995b9975479b6c663",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 415701,
"upload_time": "2024-11-05T14:00:09",
"upload_time_iso_8601": "2024-11-05T14:00:09.078366Z",
"url": "https://files.pythonhosted.org/packages/ed/51/c8e5e01059687893b02d64feaaeae5567b8b101165fde8fe289dacc12be5/http_router-5.0.8-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ad9b866f88d3dd5456bc7eceda353346f037e1c15f4f0150e1d3df1247fb48a1",
"md5": "34c7bda099d4d73972c9ec80768cc825",
"sha256": "0c5c55f84e9a7b6c0c781ce43d801e46513cd3d830e10c77213fe1e66ed37489"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "34c7bda099d4d73972c9ec80768cc825",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 306341,
"upload_time": "2024-11-05T14:00:10",
"upload_time_iso_8601": "2024-11-05T14:00:10.101556Z",
"url": "https://files.pythonhosted.org/packages/ad/9b/866f88d3dd5456bc7eceda353346f037e1c15f4f0150e1d3df1247fb48a1/http_router-5.0.8-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bdc431abc70e319ee2a898f8724e5e8ff76e32c3bffad667fb7c07b799c477fb",
"md5": "8e801302ccba7b3f7ef10d14f9b5a2c7",
"sha256": "12cbb5f376add302c10b21fe40b3cdecf73d987c771802a007829712b0da130e"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "8e801302ccba7b3f7ef10d14f9b5a2c7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 835569,
"upload_time": "2024-11-05T14:00:11",
"upload_time_iso_8601": "2024-11-05T14:00:11.508347Z",
"url": "https://files.pythonhosted.org/packages/bd/c4/31abc70e319ee2a898f8724e5e8ff76e32c3bffad667fb7c07b799c477fb/http_router-5.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b884722ce18401adc825fc213a5671f61617344daad92fb5177295610c9dab4",
"md5": "e38658aafbb6a26f87b25f3f31ffbf51",
"sha256": "1fa481b0a90031778350c0eaf77e57fec707bcc45a500753e4e89d1d35898ba9"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e38658aafbb6a26f87b25f3f31ffbf51",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 843272,
"upload_time": "2024-11-05T14:00:13",
"upload_time_iso_8601": "2024-11-05T14:00:13.537142Z",
"url": "https://files.pythonhosted.org/packages/9b/88/4722ce18401adc825fc213a5671f61617344daad92fb5177295610c9dab4/http_router-5.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74ae2ab1cf55ab99e64ee5386e8f739aa227d43def599d5879bcc976d6d830a2",
"md5": "f1cba08e1da78c4363c6e17ef045df8a",
"sha256": "cf68fceac0b9c279dc648403baede683eafd969c96aade2e7a3d695bace28981"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "f1cba08e1da78c4363c6e17ef045df8a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 803087,
"upload_time": "2024-11-05T14:00:14",
"upload_time_iso_8601": "2024-11-05T14:00:14.689387Z",
"url": "https://files.pythonhosted.org/packages/74/ae/2ab1cf55ab99e64ee5386e8f739aa227d43def599d5879bcc976d6d830a2/http_router-5.0.8-cp39-cp39-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e447806a8d3e02e21da0bc6a8666745524ad70e92bdc40811810cac2e93ad438",
"md5": "16abda629bc60a94d6738bec99c8e1ce",
"sha256": "dad53e9ec644f0288376b5ca085272b9ef6f7283e09cab9597fb5d3b72666cc1"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "16abda629bc60a94d6738bec99c8e1ce",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 820404,
"upload_time": "2024-11-05T14:00:15",
"upload_time_iso_8601": "2024-11-05T14:00:15.943232Z",
"url": "https://files.pythonhosted.org/packages/e4/47/806a8d3e02e21da0bc6a8666745524ad70e92bdc40811810cac2e93ad438/http_router-5.0.8-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ccea242f6854352ef73b43fabe49a5e6aecd882776bfc57572490dc2f1a337d1",
"md5": "dfbbd4830d0080d458007a4908e39ba8",
"sha256": "ba08871e2f4ce3dec587a59b04ba62d83eac2ed52b4f574bdf8b8bbd6cc670ac"
},
"downloads": -1,
"filename": "http_router-5.0.8-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "dfbbd4830d0080d458007a4908e39ba8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 300858,
"upload_time": "2024-11-05T14:00:17",
"upload_time_iso_8601": "2024-11-05T14:00:17.619982Z",
"url": "https://files.pythonhosted.org/packages/cc/ea/242f6854352ef73b43fabe49a5e6aecd882776bfc57572490dc2f1a337d1/http_router-5.0.8-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e600ce245052bd04b57178e80ef3d75732a205afbc10bcf391113c8c90635833",
"md5": "45bb7031d3650c13ff21b971cb810d08",
"sha256": "25c5e4511f7d9c252d24d41de43ef3cd10a72d7825787939b197291ff08130db"
},
"downloads": -1,
"filename": "http_router-5.0.8.tar.gz",
"has_sig": false,
"md5_digest": "45bb7031d3650c13ff21b971cb810d08",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 9632,
"upload_time": "2024-11-05T14:00:18",
"upload_time_iso_8601": "2024-11-05T14:00:18.592752Z",
"url": "https://files.pythonhosted.org/packages/e6/00/ce245052bd04b57178e80ef3d75732a205afbc10bcf391113c8c90635833/http_router-5.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-05 14:00:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "klen",
"github_project": "http-router",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "http-router"
}