{"package": "air", "summary": "The new Python web framework by the authors of Two Scoops of Django. Built with FastAPI, Starlette, and Pydantic.", "pypi_url": "https://pypi.org/project/air", "piwheels_url": "https://www.piwheels.org/project/air", "releases": {"0.48.1": {"released": "2026-04-03 03:39:40", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.48.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.48.1-py3-none-any.whl", "filehash": "ef5d2d20c21c31be1fe4e3b2718497ced5f14601871e9376c2e4aad96d948bd8", "filesize": 71527, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["airfield", "airform", "airmodel", "fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "staticware", "typer", "uvicorn"]}}}, "0.48.0": {"released": "2026-03-21 15:35:02", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.48.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.48.0-py3-none-any.whl", "filehash": "efeebf2da887e1bf3ae5f0a32ba85b95742c913f802a76faa9073c1abb07fa46", "filesize": 71425, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["airfield", "airform", "airmodel", "fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "staticware", "typer", "uvicorn"]}}}, "0.47.0": {"released": "2026-03-16 11:58:10", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.47.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.47.0-py3-none-any.whl", "filehash": "bd3052a48ebaf4fc36830b85a6af25b2eeb05d46e3378380c51f7872092033d8", "filesize": 78313, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "staticware", "typer", "uvicorn"]}}}, "0.46.0": {"released": "2026-03-14 14:15:34", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.46.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.46.0-py3-none-any.whl", "filehash": "f3eca17d88ae400c65deccba5d8022f2a56da5446baddc9b3a83ead248b2a3e7", "filesize": 78191, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "staticware", "typer", "uvicorn"]}}}, "0.45.0": {"released": "2026-01-09 02:41:38", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.45.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.45.0-py3-none-any.whl", "filehash": "14c12aaeb6800fe216ea9aed69141ec801c1bcaa81e65f5a9b16c5e683e619c0", "filesize": 80776, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "typer", "uvicorn"]}}}, "0.44.1": {"released": "2025-12-31 03:47:54", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.44.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.44.1-py3-none-any.whl", "filehash": "88e23060d07402f5437c18bca945ca69fc791dcd7b6743751e7fe329d3e24b20", "filesize": 81541, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "typer", "uvicorn"]}}}, "0.44.0": {"released": "2025-12-27 01:47:02", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.44.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.44.0-py3-none-any.whl", "filehash": "b76fd5e12061607c27289ff8ac0ccd4d402b1c226e234f6e60f27ebf91898ea9", "filesize": 81153, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax", "typer", "uvicorn"]}}}, "0.43.0": {"released": "2025-12-21 16:24:56", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.43.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.43.0-py3-none-any.whl", "filehash": "9aabe6231992e8b5674ea4123e846cd7de93cf62f11532c0bba0c7b5f9bfae75", "filesize": 78644, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax"]}}}, "0.42.0": {"released": "2025-12-08 05:59:19", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.42.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.42.0-py3-none-any.whl", "filehash": "9db270d2f244070ba15f889b9cafcb0e33afd72b0e45a9fd9a62440dee4bb6ee", "filesize": 75382, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "frozendict", "itsdangerous", "jinja2", "lxml", "minify-html", "nh3", "pygments", "python-multipart", "rich", "selectolax"]}}}, "0.41.2": {"released": "2025-11-28 02:52:57", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.41.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.41.2-py3-none-any.whl", "filehash": "fc1abdea84e8d6778f0172e9a186415bd939a9a57f4e2589f4a1dbb618578ad8", "filesize": 67508, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "lxml", "minify-html", "python-multipart", "rich"]}}}, "0.41.1": {"released": "2025-11-24 00:08:33", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.41.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.41.1-py3-none-any.whl", "filehash": "ef58ff819346a87b0aff3a68088e37d4cb384563ae6841e34729a14aa41ef934", "filesize": 66775, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "lxml", "minify-html", "python-multipart", "rich"]}}}, "0.41.0": {"released": "2025-11-11 14:19:25", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.41.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.41.0-py3-none-any.whl", "filehash": "cbb4fbb5d98e14906c5b84b671d4d6f58273a092bf61de2a69b67993a12544e7", "filesize": 65794, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "lxml", "python-multipart", "rich"]}}}, "0.40.0": {"released": "2025-11-04 00:02:07", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.40.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.40.0-py3-none-any.whl", "filehash": "76285e1ac721717ef1438b4eaac1c1cb79a91b528506f788866fabcaf8b28ebb", "filesize": 67526, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.39.0": {"released": "2025-10-28 16:02:00", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.39.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.39.0-py3-none-any.whl", "filehash": "4dd5622788cf8e5243436d70a87835031a8d08b6938595a794353f4ef63eba30", "filesize": 64736, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.38.1": {"released": "2025-10-22 11:11:33", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.38.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.38.1-py3-none-any.whl", "filehash": "248c4f8cf234a6aadb214fbf37bb4e13346a643d810a73b867f54391bc44fade", "filesize": 63320, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.38.0": {"released": "2025-10-22 06:12:53", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.38.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.38.0-py3-none-any.whl", "filehash": "1b6a9465db41e868741508395a50a50a7b16ada7bf4032d0455337a58ffdf85f", "filesize": 63315, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.37.0": {"released": "2025-10-15 22:03:05", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.37.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.37.0-py3-none-any.whl", "filehash": "25b0284ee398f8d332457054662e8c276969eeddfceb481d145dc37d51583470", "filesize": 60509, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "pydantic", "python-multipart"]}}}, "0.36.0": {"released": "2025-10-10 15:27:04", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.36.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.36.0-py3-none-any.whl", "filehash": "2b10c595e1c60f6cfe2a2e3aa08f27383464e871cdfd2eb52f4458b5c0f875a9", "filesize": 60059, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.13, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "pydantic", "python-multipart"]}}}, "0.35.0": {"released": "2025-10-06 07:10:31", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.35.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.35.0-py3-none-any.whl", "filehash": "021991ea5628323f4b85b40034e783ee5403fb9cad87f799e3f4a6ba8c89a2ee", "filesize": 57289, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12, <3.15", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "pydantic", "python-multipart"]}}}, "0.34.0": {"released": "2025-10-04 03:01:50", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.34.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.34.0-py3-none-any.whl", "filehash": "695a22a43b83a206ce305543976d9dcb5c29fe9d49ad4a6a167900333daca364", "filesize": 56999, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.33.1": {"released": "2025-09-30 10:46:19", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.33.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.33.1-py3-none-any.whl", "filehash": "a5b1f155578d37a296d1654c3b965709f59499fa56e3a4e4bc8d27cd2da11e2b", "filesize": 56941, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.33.0": {"released": "2025-09-26 13:52:18", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.33.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.33.0-py3-none-any.whl", "filehash": "2ef32f2059a5f9b64c869da3c28a40389e2847f647ad46f39b61af956d448d08", "filesize": 56875, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.32.0": {"released": "2025-09-24 07:11:01", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.32.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.32.0-py3-none-any.whl", "filehash": "e3fede60260f82ce2ba7f33ac690a5545240171cb7661f186403bfc46564661c", "filesize": 56171, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.31.0": {"released": "2025-09-21 04:44:29", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.31.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.31.0-py3-none-any.whl", "filehash": "46660eb7e239636d2aa225c37474448ef2633f957c14c9a0a5784f249ea70dac", "filesize": 55298, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.30.0": {"released": "2025-09-17 11:45:03", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.30.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.30.0-py3-none-any.whl", "filehash": "a9bd22c9d3227b9534868b2858ddd40fe3fa4b3b18b27eee413d9aa669fd65d8", "filesize": 54425, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.29.0": {"released": "2025-09-12 11:01:32", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.29.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.29.0-py3-none-any.whl", "filehash": "b66ebf2c1fab746ba8ac422b51355e236cc6d3061ae93bc8fe4c6609fd6df3dc", "filesize": 43169, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.27.2": {"released": "2025-09-08 02:54:30", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.27.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.27.2-py3-none-any.whl", "filehash": "0e3d4dcd9e64b2fef6468486c6145a6390e1944717ce66d56261f5f23346c2d9", "filesize": 41001, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.27.1": {"released": "2025-09-06 10:29:54", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.27.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.27.1-py3-none-any.whl", "filehash": "2d5389404de72548ba38b7918eb28407342311b52bf33a46ccfa51d261d7903f", "filesize": 40992, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.27.0": {"released": "2025-08-31 10:51:51", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.27.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.27.0-py3-none-any.whl", "filehash": "0fd40f31412a07513324ba594684c22f7046f5dc9afe0b15ff7b7e6b19390e03", "filesize": 40716, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.26.0": {"released": "2025-08-27 08:17:47", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.26.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.26.0-py3-none-any.whl", "filehash": "4d741b295c7765e3dd5debfd29711cdd2663e29060ee0f102c7064a9add196bd", "filesize": 37816, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.25.2": {"released": "2025-08-23 02:57:29", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.25.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.25.2-py3-none-any.whl", "filehash": "be6d6276a5d38a4926e1ee52045fe662f562c42b415cf730033c1395ef1d9d75", "filesize": 39019, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.25.1": {"released": "2025-08-23 02:20:39", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.25.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.25.1-py3-none-any.whl", "filehash": "ca36c6399e44ce0169bca3e2416f4abe1a75f70daeca9561465b134dc57b2691", "filesize": 39022, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10, <3.14", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.25.0": {"released": "2025-08-22 01:27:37", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.25.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.25.0-py3-none-any.whl", "filehash": "ae2c5fe0a94de7774669e3f723e34bcd9d4878b0629ac0d81905788cdb065f10", "filesize": 38919, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "itsdangerous", "jinja2", "python-multipart"]}}}, "0.24.2": {"released": "2025-08-21 09:25:25", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.24.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.24.2-py3-none-any.whl", "filehash": "f088bc1f46627d7c39203b1a648cc25699b84136e6eeca8a2a5d3baa3b96c4de", "filesize": 38115, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.24.1": {"released": "2025-08-18 03:26:18", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.24.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.24.1-py3-none-any.whl", "filehash": "256feb8806aa9a4b97365d275062e4dfd23327fd00ce04bcca5bc54332bc1060", "filesize": 37795, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.24.0": {"released": "2025-08-17 00:32:55", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.24.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.24.0-py3-none-any.whl", "filehash": "b15cb6ecde9b47573ff6d2e7db1b4b58ff0e79054b8632ff4df89e591030baf3", "filesize": 37168, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.23.1": {"released": "2025-08-18 03:25:28", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.23.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.23.1-py3-none-any.whl", "filehash": "456cba1b50e83b232d3dcece2859f29cfc42f9825e3b59d0900bcf8f068a47ea", "filesize": 37795, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.23.0": {"released": "2025-08-15 04:09:47", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.23.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.23.0-py3-none-any.whl", "filehash": "81f41c4347c64ad061da16d7f592f9882bd989388ed8a7f7435e98aa8bfeb9a8", "filesize": 37156, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.22.1": {"released": "2025-08-14 10:42:15", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.22.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.22.1-py3-none-any.whl", "filehash": "c96655c7773be88a7027f34673c7d78905e5469cd282b27871ef006cf68b68f7", "filesize": 32353, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.22.0": {"released": "2025-08-13 23:49:23", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.22.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.22.0-py3-none-any.whl", "filehash": "4760d7530a3de965e3c68c0ad2479f5a769eb8a7afe1e92562503f4d722a7f6f", "filesize": 32352, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.21.0": {"released": "2025-08-12 00:30:34", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.21.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.21.0-py3-none-any.whl", "filehash": "995de2018659cb466ae2932e625c547f4197b184847f2ebe8dc5677df79948cf", "filesize": 32672, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.20.0": {"released": "2025-08-06 23:50:47", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.20.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.20.0-py3-none-any.whl", "filehash": "aba9d38dba442a2e9233dbc50caf1f14b4dee40fa6c36a18d30491e5ea31ccac", "filesize": 28337, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.19.0": {"released": "2025-08-04 07:00:12", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.19.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.19.0-py3-none-any.whl", "filehash": "b57e15293378f217c46a83171c9f26caebcb51c3e4e1d9d77cc844f02d105957", "filesize": 28148, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.18.0": {"released": "2025-08-02 02:45:20", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.18.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.18.0-py3-none-any.whl", "filehash": "0d11d3aae6792db907083a6f25ea263dc501742b5486ec95076acdd4159a4812", "filesize": 27720, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "python-multipart"]}}}, "0.17.0": {"released": "2025-07-30 13:48:52", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.17.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.17.0-py3-none-any.whl", "filehash": "214140fcce46b6967ba89eb8f64eabbd9220107366af51b8d7c4c992a75a67d6", "filesize": 29380, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.16.0": {"released": "2025-07-27 18:14:24", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.16.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.16.0-py3-none-any.whl", "filehash": "338483ccdf90f100542e2cce1360a0985dc4b0600df004c1b5fddb1c9d85f76d", "filesize": 29838, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.15.0": {"released": "2025-07-22 03:37:30", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.15.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.15.0-py3-none-any.whl", "filehash": "433cd224412740f568600ddc1e08316b56cd5e1b3150057ab86411c8c4afdeca", "filesize": 27792, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.14.2": {"released": "2025-07-18 15:11:01", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.14.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.14.2-py3-none-any.whl", "filehash": "fa0b0b792813fed05f8726989c52389311b4cb0aeb46edcaaffd889cf6144bc1", "filesize": 22403, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.14.1": {"released": "2025-07-18 15:09:27", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.14.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.14.1-py3-none-any.whl", "filehash": "6cd0cdbab128077b9af071de02b745d5a5a4db76abe7f9302efbd833a8ddc88c", "filesize": 22405, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.14.0": {"released": "2025-07-18 15:03:13", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.14.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.14.0-py3-none-any.whl", "filehash": "6ee1a165278fab179ef6b19ba4059d2a9706e1f1dd2486c65eb16d3dbbfc0754", "filesize": 22402, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.13.0": {"released": "2025-07-17 09:16:08", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.13.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.13.0-py3-none-any.whl", "filehash": "8e0e2ea0037fdd177f2e2bf24a07f9f52d5652ddf1dc194f45b9b659fb852b34", "filesize": 21837, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.12.0": {"released": "2025-07-12 09:42:05", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.12.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.12.0-py3-none-any.whl", "filehash": "d112d4705169105953d8b206f27a9de64a22b318eb381f3067658e5458992863", "filesize": 19895, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.11.0": {"released": "2025-07-09 03:05:40", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.11.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.11.0-py3-none-any.whl", "filehash": "40dedcab93eb7db517bbb200321fe508bf731aba0d77e3b5aa2679e5a5e934c7", "filesize": 18201, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.10.0": {"released": "2025-07-07 00:37:10", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.10.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.10.0-py3-none-any.whl", "filehash": "53788facd63eaaaf095ceb0e36d8286d1f9a86cef070895e833507a86cfaaf60", "filesize": 16479, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "python-multipart", "typer"]}}}, "0.9.0": {"released": "2025-07-03 07:24:26", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.9.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.9.0-py3-none-any.whl", "filehash": "276406f57ada447c7d1220699c71c9748164f1938d15a4ea45bc934f7229d227", "filesize": 15387, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "typer"]}}}, "0.8.0": {"released": "2025-06-29 08:51:58", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.8.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.8.0-py3-none-any.whl", "filehash": "a4b5bf248579fca09721c993688ad77e1c4b50454c0ae99b75af5417f47f7dda", "filesize": 15147, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "typer"]}}}, "0.7.0": {"released": "2025-06-28 04:57:24", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.7.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.7.0-py3-none-any.whl", "filehash": "01f9a6b7ebcb6d735ea1099d6491827751c31ec9e851d43e81168c8c791ef749", "filesize": 15316, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "typer"]}}}, "0.6.0": {"released": "2025-06-25 22:42:04", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.6.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.6.0-py3-none-any.whl", "filehash": "add47d3d4c0981c4dacae12f20a88c1805a17e006a77b254cab487e69c7af2ee", "filesize": 11672, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "typer"]}}}, "0.5.0": {"released": "2025-06-25 11:31:52", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.5.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.5.0-py3-none-any.whl", "filehash": "7fff3042b7eb722bc0920aa7f7c6b2598ce0eddabe98497a6bd4b395d2e874d6", "filesize": 11198, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "jinja2", "markdown", "typer"]}}}, "0.4.0": {"released": "2025-06-24 09:31:12", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.4.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.4.0-py3-none-any.whl", "filehash": "65459d7e42220b7f9a4a9ad0f8848b04660e0517ba278d983ef114b3837390ef", "filesize": 5362, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": ["fastapi", "fastapi-tags", "jinja2", "markdown", "typer"]}}}, "0.3.0": {"released": "2024-07-07 09:06:19", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.3.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.3.0-py3-none-any.whl", "filehash": "feac9cbcb2bf0eb6fdee17831b11877892cdf7dc753fbabff7c3031ead026751", "filesize": 3616, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["jinja2", "markdown"]}}}, "0.2.0": {"released": "2024-06-11 15:31:34", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.2.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.2.0-py3-none-any.whl", "filehash": "22ffe9680d37411a01555e3ba209821ec561c97b8c3d881bd59fb052a587ed31", "filesize": 2892, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["jinja2", "markdown"]}}}, "0.1.0": {"released": "2024-06-11 15:28:03", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"air-0.1.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/air/air-0.1.0-py3-none-any.whl", "filehash": "de8a37f385c8148eb2a70ab19462b2ca2600e993882175827016ea5672917684", "filesize": 2892, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["jinja2", "markdown"]}}}}}