Skip to main content

The Batteries-Detachable Web Framework.

Project description

view.py logo

The Batteries-Detachable Web Framework

[!Warning] view.py is currently in alpha, and may be lacking some features. If you would like to follow development progress, be sure to join the discord.

view.py is affiliated with Space Hosting

Features

  • Batteries Detachable: Don't like our approach to something? No problem! We aim to provide native support for all your favorite libraries, as well as provide APIs to let you reinvent the wheel as you wish.
  • Lightning Fast: Powered by pyawaitable, view.py is the first web framework to implement ASGI in pure C, without the use of external transpilers.
  • Developer Oriented: view.py is developed with ease of use in mind, providing a rich documentation, docstrings, and type hints.

See why I wrote it on the docs.

Examples

from view import new_app

app = new_app()

@app.get("/")
async def index():
    return await app.template("index.html", engine="jinja")

app.run()
# routes/index.py
from view import get, HTML

# Build TypeScript Frontend
@get(steps=["typescript"], cache_rate=1000)
async def index():
    return await HTML.from_file("dist/index.html")
from view import JSON, body, post

@post("/create")
@body("name", str)
@body("books", dict[str, str])
def create(name: str, books: dict[str, str]):
    # ...
    return JSON({"message": "Successfully created user!"}), 201

Installation

Python 3.8+ is required.

Development

$ pip install git+https://github.com/ZeroIntensity/view.py

PyPI

$ pip install view.py

Pipx

$ pipx install view.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

view.py-1.0.0a10-cp312-cp312-win_amd64.whl (93.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

view.py-1.0.0a10-cp312-cp312-win32.whl (90.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

view.py-1.0.0a10-cp312-cp312-musllinux_1_1_x86_64.whl (238.7 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

view.py-1.0.0a10-cp312-cp312-musllinux_1_1_i686.whl (228.9 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

view.py-1.0.0a10-cp312-cp312-musllinux_1_1_aarch64.whl (238.6 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

view.py-1.0.0a10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (223.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

view.py-1.0.0a10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (223.7 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

view.py-1.0.0a10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (211.6 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

view.py-1.0.0a10-cp312-cp312-macosx_10_9_x86_64.whl (93.7 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

view.py-1.0.0a10-cp311-cp311-win_amd64.whl (92.6 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

view.py-1.0.0a10-cp311-cp311-win32.whl (89.3 kB view hashes)

Uploaded CPython 3.11 Windows x86

view.py-1.0.0a10-cp311-cp311-musllinux_1_1_x86_64.whl (227.5 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

view.py-1.0.0a10-cp311-cp311-musllinux_1_1_i686.whl (215.5 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

view.py-1.0.0a10-cp311-cp311-musllinux_1_1_aarch64.whl (226.2 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

view.py-1.0.0a10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (213.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

view.py-1.0.0a10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (211.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

view.py-1.0.0a10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (203.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

view.py-1.0.0a10-cp311-cp311-macosx_10_9_x86_64.whl (93.1 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

view.py-1.0.0a10-cp310-cp310-win_amd64.whl (93.2 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

view.py-1.0.0a10-cp310-cp310-win32.whl (89.8 kB view hashes)

Uploaded CPython 3.10 Windows x86

view.py-1.0.0a10-cp310-cp310-musllinux_1_1_x86_64.whl (239.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

view.py-1.0.0a10-cp310-cp310-musllinux_1_1_i686.whl (227.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

view.py-1.0.0a10-cp310-cp310-musllinux_1_1_aarch64.whl (240.5 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

view.py-1.0.0a10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (231.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

view.py-1.0.0a10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (228.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

view.py-1.0.0a10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (219.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

view.py-1.0.0a10-cp310-cp310-macosx_10_9_x86_64.whl (93.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

view.py-1.0.0a10-cp39-cp39-win_amd64.whl (93.3 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

view.py-1.0.0a10-cp39-cp39-win32.whl (89.8 kB view hashes)

Uploaded CPython 3.9 Windows x86

view.py-1.0.0a10-cp39-cp39-musllinux_1_1_x86_64.whl (236.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

view.py-1.0.0a10-cp39-cp39-musllinux_1_1_i686.whl (224.4 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

view.py-1.0.0a10-cp39-cp39-musllinux_1_1_aarch64.whl (237.7 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

view.py-1.0.0a10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (228.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

view.py-1.0.0a10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (225.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

view.py-1.0.0a10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (215.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

view.py-1.0.0a10-cp39-cp39-macosx_10_9_x86_64.whl (94.2 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

view.py-1.0.0a10-cp38-cp38-win_amd64.whl (93.3 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

view.py-1.0.0a10-cp38-cp38-win32.whl (89.5 kB view hashes)

Uploaded CPython 3.8 Windows x86

view.py-1.0.0a10-cp38-cp38-musllinux_1_1_x86_64.whl (226.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

view.py-1.0.0a10-cp38-cp38-musllinux_1_1_i686.whl (214.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

view.py-1.0.0a10-cp38-cp38-musllinux_1_1_aarch64.whl (227.0 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

view.py-1.0.0a10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (216.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

view.py-1.0.0a10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (215.5 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

view.py-1.0.0a10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (206.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

view.py-1.0.0a10-cp38-cp38-macosx_10_9_x86_64.whl (93.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page