Metadata-Version: 2.1
Name: bocadillo
Version: 0.16.2
Summary: Fast, highly-concurrent and scalable web APIs for everyone
Home-page: https://bocadilloproject.github.io
Author: Florimond Manca
Author-email: florimond.manca@gmail.com
License: MIT
Project-URL: Source, https://github.com/bocadilloproject/bocadillo
Project-URL: Documentation, https://bocadilloproject.github.io
Project-URL: Changelog, https://github.com/bocadilloproject/bocadillo/blob/master/CHANGELOG.md
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: starlette (<0.13,>=0.12)
Requires-Dist: uvicorn (<0.9,>=0.7)
Requires-Dist: typesystem (>=0.2.2)
Requires-Dist: jinja2 (>=2.10.1)
Requires-Dist: whitenoise
Requires-Dist: requests
Requires-Dist: python-multipart
Requires-Dist: websockets (>=6.0)
Requires-Dist: aiodine (<2.0,>=1.2.5)
Provides-Extra: files
Requires-Dist: aiofiles ; extra == 'files'
Provides-Extra: full
Requires-Dist: aiofiles ; extra == 'full'
Requires-Dist: itsdangerous ; extra == 'full'
Provides-Extra: sessions
Requires-Dist: itsdangerous ; extra == 'sessions'

<p align="center">
    <img src="https://github.com/bocadilloproject/bocadillo/blob/master/.github/banner.png?raw=true">
</p>

<p align="center">
    <a href="https://travis-ci.org/bocadilloproject/bocadillo">
        <img src="https://img.shields.io/travis/bocadilloproject/bocadillo.svg" alt="Build status"/>
    </a>
    <a href="https://codecov.io/gh/bocadilloproject/bocadillo">
        <img src="https://codecov.io/gh/bocadilloproject/bocadillo/branch/master/graph/badge.svg" alt="Test coverage"/>
    </a>
    <a href="https://pypi.org/project/bocadillo">
        <img src="https://img.shields.io/pypi/v/bocadillo.svg" alt="pypi version">
    </a>
    <a href="https://github.com/ambv/black">
        <img src="https://img.shields.io/badge/code_style-black-000000.svg" alt="code style">
    </a>
</p>

<p align="center">
    <a href="https://twitter.com/bocadillopy">
        <img src="https://img.shields.io/twitter/follow/bocadillopy.svg?label=%40bocadillopy&style=social" alt="@bocadillopy on Twitter">
    </a>
    &nbsp;
    <a href="https://saythanks.io/to/florimondmanca">
        <img src="https://img.shields.io/badge/Say_Thanks-!-1EAEDB.svg" alt="Say Thanks!">
    </a>
</p>

---

Documentation: [https://bocadilloproject.github.io][docs]

[docs]: https://bocadilloproject.github.io

---

Bocadillo is a **Python async web framework** that makes building performant and highly concurrent web APIs fun and accessible to everyone.

## Requirements

Python 3.6+

## Installation

```bash
pip install bocadillo
```

## Example

```python
from bocadillo import App, configure

app = App()
configure(app)

@app.route("/")
async def index(req, res):
    res.json = {"hello": "world"}
```

Save this as `app.py`, then start a [uvicorn](https://www.uvicorn.org) server (hot reload enabled!):

```bash
uvicorn app:app --reload
```

Say hello!

```bash
$ curl http://localhost:8000
{"hello": "world"}
```

Ready to dive in? [Visit the documentation site][docs].

## Changelog

All changes to Bocadillo are recorded in the [changelog](https://github.com/bocadilloproject/bocadillo/blob/master/CHANGELOG.md). To see what's coming in the next release, read the [Unreleased](https://github.com/bocadilloproject/bocadillo/blob/master/CHANGELOG.md#unreleased) section.

Release notes may also be published as blog posts on the [Official Bocadillo blog](https://bocadilloproject.github.io/blog).

## Contributing

Found a bug? A typo? Want to help build a new feature? We'd love to see your contributions! There are also many ways to contribute that don't include code: helping with issues, laying out new ideas, improving docs, etc.

Check out our [Contributing guide](https://github.com/bocadilloproject/bocadillo/blob/master/CONTRIBUTING.md) to get started.

By the way, here's our Contributor Hall of Fame. 👨‍💻👩‍💻

[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/0)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/0)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/1)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/1)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/2)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/2)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/3)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/3)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/4)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/4)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/5)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/5)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/6)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/6)[![](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/images/7)](https://sourcerer.io/fame/florimondmanca/bocadilloproject/bocadillo/links/7)

## Credits

Logo designed by Florimond Manca. Sandwich icon designed by [macrovector](http://macrovector.com).


