Skip to main content

Coverage pypi license

Dev tools for aiohttp.

aiohttp-devtools provides a number of tools useful when developing applications with aiohttp and associated libraries.

Installation

pip install aiohttp-devtools

Usage

The aiohttp-devtools CLI (and it’s shorter alias adev) consist of two sub-commands: runserver and serve.

runserver

Provides a simple local server for running your application while you’re developing.

Usage is simply

adev runserver <app-path>

Note: adev runserver <app-path> will import the whole file, hence it doesn’t work with web.run_app(app). You can however use if __name__ == '__main__': web.run_app(app).

app-path can be a path to either a directory containing a recognized default file (app.py or main.py) or to a specific file. The --app-factory option can be used to define which method is called from the app path file, if not supplied some default method names are tried (namely app, app_factory, get_app and create_app, which can be variables, functions, or coroutines).

All runserver arguments can be set via environment variables.

runserver has a few useful features:

  • livereload will reload resources in the browser as your code changes without having to hit refresh, see livereload for more details.

  • static files are served separately from your main app (generally on 8001 while your app is on 8000) so you don’t have to contaminate your application to serve static files you only need locally.

For more options see adev runserver --help.

serve

Similar to runserver except just serves static files.

Usage is simply

adev serve <path-to-directory-to-serve>

Like runserver you get nice live reloading and access logs. For more options see adev serve --help.

Tutorial

To demonstrate what adev can do when combined with create-aio-app, let’s walk through creating a new application:

First let’s create a clean python environment to work in and install aiohttp-devtools and create-aio-app.

(it is assumed you’ve already got python, pip and virtualenv installed)

mkdir my_new_app && cd my_new_app
virtualenv -p `which python3` env
. env/bin/activate
pip install aiohttp-devtools create-aio-app

We’re now ready to build our new application with create-aio-app and we’ll name the project my_new_app after the current directory.

We’re going to explicitly choose no database here to make this tutorial easier, but you can remove that option and choose to use a proper database if you like.

You can just hit return to choose the default for all the options.

create-aio-app my_new_app --without-postgres

That’s it, your app is now created. You might want to have a look through the local directory’s file tree.

Before you can run your app you’ll need to install the other requirements, luckily they’ve already been listed in requirements/development.txt by create-aio-app, to install simply run

pip install -r requirements/development.txt

You can then run your app with just:

adev runserver

With that:

  • your app should be being served at localhost:8000 (you can go and play with it in a browser).

  • Your static files are being served at localhost:8001, adev has configured your app to know that so it should be rendering properly.

  • any changes to your app’s code (.py files) should cause the server to reload, changes to any files (.py as well as .jinja, .js, .css etc.) will cause livereload to prompt your browser to reload the required pages.

That’s it, go develop.

Release files for aiohttp-devtools 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiohttp-devtools 1.1.2
File Size Uploaded
aiohttp-devtools-1.1.2.tar.gz 38.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiohttp-devtools 1.1.2
File Interpreter ABI Platform
aiohttp_devtools-1.1.2-py38.py39.py310.py311-none-any.whl Python 3.9, Python 3.8, Python 3.11, Python 3.10 none any Details

Total release size: 70.2 kB

Release files / aiohttp-devtools-1.1.2.tar.gz

Download URL aiohttp-devtools-1.1.2.tar.gz
Size 38.3 kB
Tags Source
SHA-256 checksum
How to use checksums
aae66fc9dd36b6c13e1ca381004dfaa4db6ba0dd50764c8ae3a49c1ed43f9587
BLAKE2b-256 checksum
How to use checksums
ae914e65d0a09fb2d13aa587d50d2ceb72335db5b22adac2106bf7da0d601b63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / aiohttp_devtools-1.1.2-py38.py39.py310.py311-none-any.whl

Download URL aiohttp_devtools-1.1.2-py38.py39.py310.py311-none-any.whl
Size 31.9 kB
Tags Python 3.10 Python 3.11 Python 3.8 Python 3.9
SHA-256 checksum
How to use checksums
d8545e217146df97459b3765fd786c98d0851c79d56162ad8d4145f719ab0391
BLAKE2b-256 checksum
How to use checksums
e6f765968b2654aa699bf09aa5409170774e11e5f702e448ddfb0084cf9577da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1

2 release files

1.0

2 release files

0.13.1

2 release files

0.13

2 release files

0.12

2 release files

0.11

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

0.7.1

2 release files

0.7

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6

2 release files

0.5

2 release files

0.4.1

2 release files

0.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page