inboard


Nameinboard JSON
Version 0.68.0 PyPI version JSON
download
home_pageNone
SummaryDocker images and utilities to power your Python APIs and help you ship faster.
upload_time2024-04-27 02:23:14
maintainerNone
docs_urlNone
authorNone
requires_python<4,>=3.8.1
licenseNone
keywords asgi docker fastapi gunicorn uvicorn
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🚢 inboard 🐳

<img src="https://raw.githubusercontent.com/br3ndonland/inboard/develop/docs/assets/images/inboard-logo.svg" alt="inboard logo" width="90%" />

_Docker images and utilities to power your Python APIs and help you ship faster._

[![PyPI](https://img.shields.io/pypi/v/inboard?color=success)](https://pypi.org/project/inboard/)
[![GitHub Container Registry](https://img.shields.io/badge/github%20container%20registry-inboard-success)](https://github.com/br3ndonland/inboard/pkgs/container/inboard)
[![coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=pytest&logoColor=white)](https://coverage.readthedocs.io/en/latest/)
[![ci](https://github.com/br3ndonland/inboard/workflows/ci/badge.svg)](https://github.com/br3ndonland/inboard/actions)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/ef2798f758e03fa659d1ba2973ddd59515400978/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

[![Mentioned in Awesome FastAPI](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/mjhea0/awesome-fastapi)

## Description

This repository provides [Docker images](https://github.com/br3ndonland/inboard/pkgs/container/inboard) and a [PyPI package](https://pypi.org/project/inboard/) with useful utilities for Python web servers. It runs [Uvicorn with Gunicorn](https://www.uvicorn.org/), and can be used to build applications with [Starlette](https://www.starlette.io/) and [FastAPI](https://fastapi.tiangolo.com/).

## Justification

_Why use this project?_ You might want to try out inboard because it:

- **Offers a Python package and Docker images that work together**. Python packages and Docker images don't automatically share the same versioning systems, but inboard can help with this. You might install the Python package with a minor version constraint. You can also pull the corresponding Docker image by specifying the minor version in the Docker tag (`FROM ghcr.io/br3ndonland/inboard:<version>`).
- **Tests everything**. inboard performs unit testing of 100% of the Python code, and also runs smoke tests of the Docker images each time they are built.
- **Sets sane defaults, but allows configuration**. Configure a variety of settings with environment variables. Or run it as-is and it just works.
- **Configures logging extensibly**. inboard simplifies logging by handling all its Python log streams with a single logging config. It also offers the ability to filter health check endpoints out of the access logs. Don't like it? No problem. You can easily extend or override the logging behavior.

## Quickstart

[Get started with Docker](https://www.docker.com/get-started), pull and run an image, and try an API endpoint.

```sh
docker pull ghcr.io/br3ndonland/inboard
docker run -d -p 80:80 ghcr.io/br3ndonland/inboard
http :80  # HTTPie: https://httpie.io/
```

## Documentation

Documentation is built with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/), deployed on [Vercel](https://vercel.com/), and available at [inboard.bws.bio](https://inboard.bws.bio) and [inboard.vercel.app](https://inboard.vercel.app).

[Vercel build configuration](https://vercel.com/docs/build-step):

- Build command: `python3 -m pip install mkdocs-material && mkdocs build --site-dir public`
- Output directory: `public` (default)

[Vercel site configuration](https://vercel.com/docs/configuration) is specified in _vercel.json_.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "inboard",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.8.1",
    "maintainer_email": null,
    "keywords": "asgi, docker, fastapi, gunicorn, uvicorn",
    "author": null,
    "author_email": "Brendon Smith <bws@bws.bio>",
    "download_url": "https://files.pythonhosted.org/packages/4e/a3/9e53face86cfea50a9e259439ebe566b7620c617cace631d7745821cf696/inboard-0.68.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\udea2 inboard \ud83d\udc33\n\n<img src=\"https://raw.githubusercontent.com/br3ndonland/inboard/develop/docs/assets/images/inboard-logo.svg\" alt=\"inboard logo\" width=\"90%\" />\n\n_Docker images and utilities to power your Python APIs and help you ship faster._\n\n[![PyPI](https://img.shields.io/pypi/v/inboard?color=success)](https://pypi.org/project/inboard/)\n[![GitHub Container Registry](https://img.shields.io/badge/github%20container%20registry-inboard-success)](https://github.com/br3ndonland/inboard/pkgs/container/inboard)\n[![coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=pytest&logoColor=white)](https://coverage.readthedocs.io/en/latest/)\n[![ci](https://github.com/br3ndonland/inboard/workflows/ci/badge.svg)](https://github.com/br3ndonland/inboard/actions)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/ef2798f758e03fa659d1ba2973ddd59515400978/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n[![Mentioned in Awesome FastAPI](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/mjhea0/awesome-fastapi)\n\n## Description\n\nThis repository provides [Docker images](https://github.com/br3ndonland/inboard/pkgs/container/inboard) and a [PyPI package](https://pypi.org/project/inboard/) with useful utilities for Python web servers. It runs [Uvicorn with Gunicorn](https://www.uvicorn.org/), and can be used to build applications with [Starlette](https://www.starlette.io/) and [FastAPI](https://fastapi.tiangolo.com/).\n\n## Justification\n\n_Why use this project?_ You might want to try out inboard because it:\n\n- **Offers a Python package and Docker images that work together**. Python packages and Docker images don't automatically share the same versioning systems, but inboard can help with this. You might install the Python package with a minor version constraint. You can also pull the corresponding Docker image by specifying the minor version in the Docker tag (`FROM ghcr.io/br3ndonland/inboard:<version>`).\n- **Tests everything**. inboard performs unit testing of 100% of the Python code, and also runs smoke tests of the Docker images each time they are built.\n- **Sets sane defaults, but allows configuration**. Configure a variety of settings with environment variables. Or run it as-is and it just works.\n- **Configures logging extensibly**. inboard simplifies logging by handling all its Python log streams with a single logging config. It also offers the ability to filter health check endpoints out of the access logs. Don't like it? No problem. You can easily extend or override the logging behavior.\n\n## Quickstart\n\n[Get started with Docker](https://www.docker.com/get-started), pull and run an image, and try an API endpoint.\n\n```sh\ndocker pull ghcr.io/br3ndonland/inboard\ndocker run -d -p 80:80 ghcr.io/br3ndonland/inboard\nhttp :80  # HTTPie: https://httpie.io/\n```\n\n## Documentation\n\nDocumentation is built with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/), deployed on [Vercel](https://vercel.com/), and available at [inboard.bws.bio](https://inboard.bws.bio) and [inboard.vercel.app](https://inboard.vercel.app).\n\n[Vercel build configuration](https://vercel.com/docs/build-step):\n\n- Build command: `python3 -m pip install mkdocs-material && mkdocs build --site-dir public`\n- Output directory: `public` (default)\n\n[Vercel site configuration](https://vercel.com/docs/configuration) is specified in _vercel.json_.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Docker images and utilities to power your Python APIs and help you ship faster.",
    "version": "0.68.0",
    "project_urls": {
        "Docker": "https://github.com/br3ndonland/inboard/pkgs/container/inboard",
        "Documentation": "https://inboard.bws.bio",
        "Homepage": "https://github.com/br3ndonland/inboard",
        "Repository": "https://github.com/br3ndonland/inboard"
    },
    "split_keywords": [
        "asgi",
        " docker",
        " fastapi",
        " gunicorn",
        " uvicorn"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7927b9fb9310f7a7e2f7265332fd5a95d7965dda06a0389e186ad75c3af10472",
                "md5": "e4cff4dff8e2ee6261b7765fffcd533c",
                "sha256": "b24d6f71aca732e87dc46e9de884696f83b71d9288662ef075181cb074d9b1d3"
            },
            "downloads": -1,
            "filename": "inboard-0.68.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e4cff4dff8e2ee6261b7765fffcd533c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.8.1",
            "size": 15917,
            "upload_time": "2024-04-27T02:23:12",
            "upload_time_iso_8601": "2024-04-27T02:23:12.421474Z",
            "url": "https://files.pythonhosted.org/packages/79/27/b9fb9310f7a7e2f7265332fd5a95d7965dda06a0389e186ad75c3af10472/inboard-0.68.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ea39e53face86cfea50a9e259439ebe566b7620c617cace631d7745821cf696",
                "md5": "b7f37a53cd47cc52a53c4b292f2d7b9d",
                "sha256": "837bf72eb57403d5762fa9a04122c953fafa1da6baf95b4050167fb8a28ff041"
            },
            "downloads": -1,
            "filename": "inboard-0.68.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b7f37a53cd47cc52a53c4b292f2d7b9d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.8.1",
            "size": 13338,
            "upload_time": "2024-04-27T02:23:14",
            "upload_time_iso_8601": "2024-04-27T02:23:14.918216Z",
            "url": "https://files.pythonhosted.org/packages/4e/a3/9e53face86cfea50a9e259439ebe566b7620c617cace631d7745821cf696/inboard-0.68.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-27 02:23:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "br3ndonland",
    "github_project": "inboard",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "inboard"
}
        
Elapsed time: 0.47328s