Skip to main content

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

Download files

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

Source Distribution

itty3-1.1.1.tar.gz (318.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

itty3-1.1.1-py2.py3-none-any.whl (15.1 kB view details)

Uploaded Python 2Python 3

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

Hashes for itty3-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7790f2b67747c0848af716e27b2579a4ee8dbd0adb496c8986e1fe421901bf4f
MD5 b8952424a5aa001b0363cc6885721677
BLAKE2b-256 682c780f4e5569047cf50bdb8b249b77b4388e08c202ef74730ae33d409fe91f

See more details on using hashes here.

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

Hashes for itty3-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 25320e5458e563cea8e1cdacc5d4dcc68fdac936b67c38bd1e9ad2ed6ba0283d
MD5 9c451846280352c498e3eeb176e07c27
BLAKE2b-256 f572c40a30a11b57ecdc479f0f275bc68d2fdb9bb61df5e76a99a546b8d87ead

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 files

1.1.0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page