The Batteries-Detachable Web Framework.
Project description
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
Release history Release notifications | RSS feed
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
Close
Hashes for view.py-1.0.0a10-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37681f38b8992ff92d06f0338ff9f13d306d52547f924e4e43d4576aa77e9482 |
|
MD5 | 6f706f028672bacb5a235d4232d0c573 |
|
BLAKE2b-256 | fcb277e01f27b517a76f76949bf0c46b561749ef82cbc8633c2ed5652f036e11 |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 123f56cf86898376b081ee4935d726cdd3f25165d8b40d41d5a77f4cbfc1c169 |
|
MD5 | 5a0a27715d42c0a63600bf64d0901214 |
|
BLAKE2b-256 | e7d735aa36bcc1f284513ec4653107bc5e63281d869bb6e5c6b42a4821cc885b |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce826a3c0a52072828e3a975dd36b2589d1efafe75ea8fb40f1e0de62af9327 |
|
MD5 | 869475c183febcb680f370473969c9ff |
|
BLAKE2b-256 | fec4bbbac93f6467924af70540890d544626e11b541986925117e73bc0d1e5e0 |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dd669a5157a07ffba158118a1e013b1926017a8e9bbf671dca25474307ba61e |
|
MD5 | 3d7e54a213a9a5a88c8a1265e25359bf |
|
BLAKE2b-256 | bac803185c1e432c714e161d2fbfe7b4641395f4c5d6fc7b2029a9fed66d2ba8 |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e62ea70328c85c3f1d1092afd1e263700e4752babd5cbeeb7cd70f2f93fa48a |
|
MD5 | c97f6de7189cdc13a24f52bfdbe5f5fc |
|
BLAKE2b-256 | 5d479534e5939fc221f2e0d54abd64b514fb8af4161ec212144e55426b39b5ef |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da4659badee6871f4ceb950545fbcb29981b3a47c5a4c00d331c41a71fa98221 |
|
MD5 | e85c0190b196c04561961f44588c2ad3 |
|
BLAKE2b-256 | 736197f22373d221b225e88858e1711d9b9586c9478b0cb00bfd5cc69ee857f0 |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05b7904597b239ddfbc3394ce71cdf748dcc2c66ad50084ae3cd6a6b75b62001 |
|
MD5 | 5157e8684bce73a7d6d265b51d6ffcee |
|
BLAKE2b-256 | 8336876b115c75721d5202ed03fb37a874c68c5906e5265b5e77996069e505b3 |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0df4368f1ec656e26f9736315a16d52173bf7f4912d2650042639937ddc6749b |
|
MD5 | 1067902753b2fd94f55cc2bb6464ce8c |
|
BLAKE2b-256 | bafec148ad6b4f312c7107c0367cceaa28f02a70ea12905fe25cccb188984c1f |
Close
Hashes for view.py-1.0.0a10-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2c88683b01828226057d3737959b92b5fc31180dad73338c86b2535abf1d6e4 |
|
MD5 | 06ce0bf2b414bc5004eba7b622d1d91b |
|
BLAKE2b-256 | 27b3c2da1173925d18438a3cd78fd1062514f7dec7d6111d228083bd9234ecc3 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e4c8978a1b773f0f019aaf87e887ee6dab6a5c04c7a64cbc005a9569d0db59c |
|
MD5 | c7cab733157806dc696d500a4ba445ba |
|
BLAKE2b-256 | 133535a35f6d80cfceeffb360a4c3a3451b04cc1523e4d987d7d2e721d7c1c21 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95ad304c22f77ead21eca95c423960b0668b268214bf4b0f22542a85f997d446 |
|
MD5 | 20231fcbb7deff5f126d8160c0da1aa8 |
|
BLAKE2b-256 | 73bf05fe2e86fb7376be17df9b974d230a70b3303eef59471f179111648e2e13 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e3756750cca2360b3805506978445e871a6035ee379706857f69abcf5835140 |
|
MD5 | c6bf35a98b101870fe2bb30e56113228 |
|
BLAKE2b-256 | ad5e009e5cf8d4ee7213422c1872522ccedaf290271b607a4d6a2755fb4235b9 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95a12c4586dd4a4f4f0f9cd617942d9a9714d2b85f9dbce75b13c0f7bde278e9 |
|
MD5 | 8ce0836d96e95108a5217f001970fd59 |
|
BLAKE2b-256 | a83ff595723cb186ce01045dc2f31f89e25d7ef16ba7ad5f59eb72e60d7e3971 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d72242677b86fb0eca8b59c6d90324dc09af2d5c6a6c5222a6029f4ec9001b3d |
|
MD5 | f04ec0a19d8bceb7e3f8a931b1f2ef21 |
|
BLAKE2b-256 | bd48f9ca315ab29fbec9707c17acbd9edce2429414ceed0b27f4729ef8a24147 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ce81383a9729f90d47b8a0dcdf8b8fb5ca52ddd36acfa61c7bfde5c32dd1084 |
|
MD5 | 9668f339efb3bbaed08ffa5e89100a96 |
|
BLAKE2b-256 | 9ceecd9c682f6ba487c1db58a7e03790d70927e4dba9ed063d8c2498f8696443 |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15e0e72f147af9bc56e8b8afc271ea57eb79637e2b977e9047760604ae14066e |
|
MD5 | 9807d4c8cd1ddb453ac5fb185727a4d7 |
|
BLAKE2b-256 | 1c5eb5580974216ac0c9792a577f52814d888f98e6fce129bcf6fa900d9d477e |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a28fd46237b79fcc8c32085535a2ee93d61575549f973a2c5a0dcb3ae85e0bc6 |
|
MD5 | 90c1f99538e554de72b8d43704a6e369 |
|
BLAKE2b-256 | 214b62cf97d818e08dec9a69b114152f441059fd7a1d9b89f88908502cc2bdef |
Close
Hashes for view.py-1.0.0a10-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f96b04d8caa77f973321fa984d9a9e566ea590ccddab7a6f5a5f977618d0afe2 |
|
MD5 | cd887d3d0b0ef3704995f12aac175817 |
|
BLAKE2b-256 | f716ab3395c35604d7af488ad8c0247626cddf31a6570d6830514b0fc5f0149e |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6427fccba38fed8e8dd5e678b362e477e36315eb4ee1950f07c9f9c4f41c3adf |
|
MD5 | ba9c059e6a64e8a3fee4be0b94236a14 |
|
BLAKE2b-256 | 0336899d062d90526a96f86981fee71ad0214f56cda7f1bb4ed3181791ee43b4 |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 820ba9fc905aab6d15f6f5c83f62c51889138093fa1a587248d4c8403365304c |
|
MD5 | ed5846a0dc1ffb0ac47c69604ce5edb7 |
|
BLAKE2b-256 | 9c76799aa455f120f9d2d35d57c69dda8efe29ea967d56ad5b21f86a394550f6 |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 707b9883284cf8cff5ca383dd0f7e8dbe99ffb5395e1fe0bb87f0abf6762f541 |
|
MD5 | edbf41877094ceca7fcdd2540c7d9fdd |
|
BLAKE2b-256 | b85f3bd5484af519eae7d8559c9dff373218cf9987e5e6d65be1a1d11aed01b2 |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e55cbd6f2ebd8acdeaef2a3d1ffad4bf357b5ff3e6b7ee7a2b1e13463dfa321b |
|
MD5 | 6ae0261044fc60fa00833e2c33ee708c |
|
BLAKE2b-256 | ec71b26c1cd6ea298df5152c0cc914da13a483ce8652eb284a88a33481c72944 |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2fee57d658c804508eaa2bf02aae9e3addcb92eeccab01daafd144fbd8ddf52 |
|
MD5 | 6d3a7c85a2c4706188e47b3b7b359239 |
|
BLAKE2b-256 | 0c6f9f51db81c82773151fea9baa4d7ac7b5bdf0d1e3b737a43ec9c7bb2262ea |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6271f14ca2413d677c8ae304af349abbb4fe2aafddb74a6f3bdb530049a774af |
|
MD5 | f823146a107921bef95100a314590203 |
|
BLAKE2b-256 | 29aa75ff9cbc67f6f8b72dd507ad2e42e40fa4058ce870c213f0707c0bf508ff |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ceb36ffbf1866939d2d078a1b0bd9ece4bc7a2d28b924c76c8605a543910e57 |
|
MD5 | f36e2222a7651219f4121bb4b64fe1b7 |
|
BLAKE2b-256 | e9bba437007ada90ae70356fce4d05b747f211b288c0265f324273f6182ce91e |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7861227da762a21071df656edc9c4ceac40fc89832fd0df80a39f825967a8fb6 |
|
MD5 | 84e21994530975850ef5f499840c4ac9 |
|
BLAKE2b-256 | 3bcfe285b36c686b47d75c0d9daa85df3085d46f72629613fb6a3d93f7326f05 |
Close
Hashes for view.py-1.0.0a10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b12069df1fd679ea922c5d4f64e006d4cd45fd7c898c7b35970e6ad03797ce9 |
|
MD5 | efc8e966992a587e2eb9778eee3c1a4e |
|
BLAKE2b-256 | b9e688d810bd433d6d9cbeb1121445f57ac9280516e09e6fb6140822d854b96e |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7767f590174757f1d4d5f8f00f22d37d2ffd0198ce6fbcb1a4b304f2b90ea2ca |
|
MD5 | ab6ffc238ec4ce4a71b6fbce0f8b8240 |
|
BLAKE2b-256 | d1e09cd63cc3fddfc17d62346466cbf1cd181b905fa4100c7c367b0860028ba0 |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 945e9d20a71864e1801a9571f3283931aa69d4fc53fb8958898770776e5bef2b |
|
MD5 | ef2a059893671333496ed5a59084f14a |
|
BLAKE2b-256 | dca5bed0cbdb115ce249b62a69c45a747c3ed38051d11fa7b2039ea082549ebb |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cc504de9c5c515a89e12221baca2b935009a2ed69ebef3aeacfcebea84ec157 |
|
MD5 | 7e12ddb0cda153ee5a3e07ca4ce090e1 |
|
BLAKE2b-256 | 3e8a99879063741d5bd90ffe39cb42525c23708b025d69c6cc7d1e53b83f0517 |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e48701698fb2bcc7baec69938dd1659e679fb5f4c348ad0f8d8f849175d5e259 |
|
MD5 | cb79491f881d1c1b516fa6ed1561edf0 |
|
BLAKE2b-256 | ce9cae77ff69d80b7c762d5b0ccc64ebea1a0747846545bdc820a2d8e1ee56bd |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38a001bdb01fffb2600238e61824e4d600d7f8ab5b25c79851c25c654825da67 |
|
MD5 | ebe096c253619af919e5a60c9a6e162a |
|
BLAKE2b-256 | 49e06073039726bef6f2dccebf2283745a82d468d27a5c8fbc09f0fe144ed011 |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df3b07e49cae752f21ce16e5d7fb6ae8a138130ec1cf56474b6b853389be3a51 |
|
MD5 | a3bd6ed595a483d4b05633e2e1473076 |
|
BLAKE2b-256 | c3bdd27a9c120f5b27387c9a33db171aae46154feaf846202a2764bc2a00acd5 |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de41a9ab9d08d52279d130fdf94fc7140b2a833306c8488deacf4ab3b61b2636 |
|
MD5 | 2870623005cd6eed2ff466a52b486537 |
|
BLAKE2b-256 | caaf2a53e053ec3a387eb0d2fa2405d1628e162043f1635d0d0225376a5e7e8d |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cef63c1a93cab996d6335cba531ba18fa06f1938734bff0bb004b4a51f0acf40 |
|
MD5 | fe1a940e17c9ca030850adbf6b57f859 |
|
BLAKE2b-256 | 564a4ff94d7bb6ec9706044994980084532fd5c94868d41ac0bb0b3c51345118 |
Close
Hashes for view.py-1.0.0a10-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8552f4f07df3b3971c5edbae06f191358fe811adc214da33b2bdfc733e8fc8de |
|
MD5 | 88c6257186d78c90b652e86a9b148634 |
|
BLAKE2b-256 | 632352bdd0edeacbbd9b6732b3ee1805d7d75e44b452a792d84e416b58e971a4 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fde08c83436f62588ae43f15cba7f69e21102383b3470d054e8ca033065642a9 |
|
MD5 | 2b6e8d678dae4df6543362a170d1b468 |
|
BLAKE2b-256 | 12d12d802e2e2c18a2222257746a305ebfdfcec0ab310bb0dc338a78363d2fd2 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab1ae8c02611555635e20cf6aedd51c0aa8e191c8c24061ccf52676f8f654de5 |
|
MD5 | 4dd144591785ae751ad0a2b4109c0f2c |
|
BLAKE2b-256 | 7b25d76d62a18e4df18a8ffec8e4fe8854874f37791c441e2aa1dd8c4a0796d8 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c38bdf71c90c3a56db2fb17b691ba44fee7e529d4e24779c03feaf6b66634038 |
|
MD5 | b213700f27c7cd6c7400cb0fd192c360 |
|
BLAKE2b-256 | 66596e9e368607ac5626cd85df773bef6029a40d7417d1507fb48a18701ca0a4 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36c621c3bcfcffd141b592a12e0c80126fe6764038202bc9fe1595f7963adb62 |
|
MD5 | f0a8adc505981042b1b360e7b1570a5b |
|
BLAKE2b-256 | edf01b6b6822a91ab82206c535954186fcb6067fa1bfc12591f5616c0e8833a1 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22ab2062ec0cf38e819dd65beebc062f970c771759de1f7b75e32fd7ca3da098 |
|
MD5 | 4cc2ab9989906eaa77a777b869bf96a9 |
|
BLAKE2b-256 | 4a260e09856d871e17dea0b86d1c02f30bbd6ab6bff4229937095915562003bb |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5498dacdd9d67375bb87abb49e9a25b2e89f949771d613e73398ac7f0a79f89 |
|
MD5 | f286fd9beb843dcd141874afe0158b4c |
|
BLAKE2b-256 | e97c43b94cae85d76ede934ae082cf1f6d699d8468b2ab05351d1e7ab8fa2511 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5af5e2bb1310576c7a2e1cfa59a6588b15517fa3f4b30561361d5750817d7550 |
|
MD5 | 2a45e92b354d8e7f0c25dfacb446716a |
|
BLAKE2b-256 | 701e35646ccea2d3e2d35129af045c197d58a891b95bc640ed11a5eae3c8bbb0 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f555affe7df5cd4ebf780b10ae27763b35394b35789a59e2ed9a7f9df66c0271 |
|
MD5 | 9e688ea925d6dcbc93de6c01b26a0d44 |
|
BLAKE2b-256 | 0165f556287e0681620a04ad7bb4f3ba17b86acbfb64e0900777a543d52cc392 |
Close
Hashes for view.py-1.0.0a10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d93a16f1f9a4d663beb7b524ba1bd2eea2138f35a2631a71a4d6d8a3b8d4461a |
|
MD5 | bb0956f1d67454f8a3350e5bcfbdce2e |
|
BLAKE2b-256 | 354fdac5f46415658532182b66c4560a635b21271fb6368033d0755258c0ca0c |