The itty-bitty Python web framework... **Now Rewritten For Python 3!**
Project description
itty3
The itty-bitty Python web framework... Now Rewritten For Python 3!
If you're on Python 2, you're looking for itty for Python 2 instead...
Quick Start
import itty3
# Make an app (mostly just for routing & niceties).
app = itty3.App()
# Register your views with the app.
@app.get("/")
def index(request):
return app.render(request, "Hello, world!")
if __name__ == "__main__":
# Run a simple WSGI server!
app.run()
Why?
itty3
is a micro-framework for serving web traffic. At its 1.0.0
release, itty3
weighed in at less than ~1k lines of code.
Granted, it builds on the shoulders of giants, using big chunks of the Python standard library. But it has no other external dependencies!
Reasons for itty3
:
- Extremely lightweight
- Fast to start working with
- Easy to produce initial/toy services
- Minimal boilerplate
- Useful for places where you can't/don't have a full Python setup
- Useful for including directly, like when you lack permissions
- Works with a variety of WSGI servers, including Gunicorn
If you need to produce a big application, you're probably better off with Django, Flask, or any of the other larger/more mature web frameworks. No pressure!
Setup
pip install itty3
is what most people will want.
That said, itty3
is completely self-contained to a single file & relies
only on the Python standard library. You can directly copy itty3.py
into
your project & import it directly!
Dependencies
- Python 3.7+
License
New BSD
Running Tests
$ pip install pytest pytest-cov
$ pytest tests
# For code coverage
$ pytest --cov=itty3 tests
Building Docs
$ pip install -r docs/requirements.txt
$ cd docs
$ make html
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 Distribution
Built Distribution
File details
Details for the file itty3-1.1.1.tar.gz
.
File metadata
- Download URL: itty3-1.1.1.tar.gz
- Upload date:
- Size: 318.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7790f2b67747c0848af716e27b2579a4ee8dbd0adb496c8986e1fe421901bf4f |
|
MD5 | b8952424a5aa001b0363cc6885721677 |
|
BLAKE2b-256 | 682c780f4e5569047cf50bdb8b249b77b4388e08c202ef74730ae33d409fe91f |
Provenance
File details
Details for the file itty3-1.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: itty3-1.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25320e5458e563cea8e1cdacc5d4dcc68fdac936b67c38bd1e9ad2ed6ba0283d |
|
MD5 | 9c451846280352c498e3eeb176e07c27 |
|
BLAKE2b-256 | f572c40a30a11b57ecdc479f0f275bc68d2fdb9bb61df5e76a99a546b8d87ead |