Skip to main content

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. Prior to its inital release, itty3 weighed in at just 500 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


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.0.0a2.tar.gz (287.7 kB view details)

Uploaded Source

Built Distribution

itty3-1.0.0a2-py2.py3-none-any.whl (12.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file itty3-1.0.0a2.tar.gz.

File metadata

  • Download URL: itty3-1.0.0a2.tar.gz
  • Upload date:
  • Size: 287.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4

File hashes

Hashes for itty3-1.0.0a2.tar.gz
Algorithm Hash digest
SHA256 2178649ed9802bb59dbf267a25072eafbdf19ac475593baa174d65f699937617
MD5 d0d9792432dcdde0c0af528f1540bf40
BLAKE2b-256 5b0ed9555b761e6e12c923645835adf6e6f97ea229253680a10ee9c44b87c107

See more details on using hashes here.

File details

Details for the file itty3-1.0.0a2-py2.py3-none-any.whl.

File metadata

  • Download URL: itty3-1.0.0a2-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4

File hashes

Hashes for itty3-1.0.0a2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b4526334fffebf3ffe6eac80f62069ae1c29db42d07c5a0f8a8674d5b3be07ea
MD5 c0ce7ab758fd8c43a52031547030b981
BLAKE2b-256 e230911b716f6636efe418ab468d6b53faea8cd17045e27d8e91d771413748c7

See more details on using hashes here.

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