Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/encode/apistar
The Web API toolkit. ðŸ›
https://github.com/encode/apistar
api python rest
Last synced: 3 months ago
JSON representation
The Web API toolkit. ðŸ›
- Host: GitHub
- URL: https://github.com/encode/apistar
- Owner: encode
- License: bsd-3-clause
- Archived: true
- Created: 2017-03-17T15:42:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-02-24T05:00:58.000Z (almost 3 years ago)
- Last Synced: 2024-09-21T15:44:40.314Z (3 months ago)
- Topics: api, python, rest
- Language: Python
- Homepage: https://docs.apistar.com
- Size: 6.54 MB
- Stars: 5,573
- Watchers: 167
- Forks: 411
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-wiki-IT - encode/apistar
- awesome-python-web-frameworks - API star - a framework-agnostic toolkit for working with OpenAPI or Swagger schemas. (REST frameworks / More)
- awesome-rest - apistar - A smart Web API framework, designed for Python 3. (Servers / Python)
- starred-awesome - apistar - A smart Web API framework, for Python 3. 🌟 (Python)
- awesome - apistar - The Web API toolkit. 🛠(Python)
- awesome-starred - encode/apistar - The Web API toolkit. 🛠(python)
README
🛠The Web API toolkit. ðŸ›
---
**Community:** https://discuss.apistar.org 🤔 💠🤓 💬 😎
**Documentation:** https://docs.apistar.com 📘
**Requirements:** Python 3.6+
---
API Star is a toolkit for working with OpenAPI or Swagger schemas. It allows you to:
* Build API documentation, with a selection of available themes.
* Validate API schema documents, and provide contextual errors.
* Make API requests using the dynamic client library.You can use it to build static documentation, integrate it within a Web framework,
or use it as the client library for interacting with other APIs.## Quickstart
Install API Star:
```bash
$ pip3 install apistar
```Let's take a look at some of the functionality the toolkit provides...
We'll start by creating an OpenAPI schema, `schema.yaml`:
```yaml
openapi: 3.0.0
info:
title: Widget API
version: '1.0'
description: An example API for widgets
servers:
- url: https://www.example.org/
paths:
/widgets:
get:
summary: List all the widgets.
operationId: listWidgets
parameters:
- in: query
name: search
description: Filter widgets by this search term.
schema:
type: string
```Let's also create a configuration file `apistar.yml`:
```yaml
schema:
path: schema.yaml
format: openapi
```We're now ready to start using the `apistar` command line tool.
We can validate our OpenAPI schema:
```
$ apistar validate
✓ Valid OpenAPI schema.
```Or build developer documentation for our API:
```
$ apistar docs --serve
✓ Documentation available at "http://127.0.0.1:8000/" (Ctrl+C to quit)
```We can also make API requests to the server referenced in the schema:
```
$ apistar request listWidgets search=cogwheel
```## Where did the server go?
With version 0.6 onwards the API Star project is being focused as a
framework-agnostic suite of API tooling. The plan is to build out this
functionality in a way that makes it appropriate for use either as a stand-alone
tool, or together with a large range of frameworks.The 0.5 branch remains available on GitHub, and can be installed from PyPI
with `pip install apistar==0.5.41`. Any further development of the API Star
server would likely need to be against a fork of that, under a new maintainer.If you're looking for a high-performance Python-based async framework, then
I would instead recommend [Starlette](https://www.starlette.io/).---
API Star is BSD licensed code.
Designed & built in Brighton, England.