Giter Site home page Giter Site logo

an0nym0u5101 / apistar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from encode/apistar

1.0 1.0 0.0 6.7 MB

The Web API toolkit. ๐Ÿ› 

Home Page: https://docs.apistar.com

License: BSD 3-Clause "New" or "Revised" License

Python 58.14% Shell 0.67% HTML 14.36% CSS 19.93% JavaScript 6.91%

apistar's Introduction

API Star

๐Ÿ›  The Web API toolkit. ๐Ÿ› 

Build Status codecov Package version


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:

$ 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:

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:

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.


API Star is BSD licensed code.
Designed & built in Brighton, England.

API Star

apistar's People

Contributors

aartgoossens avatar adevore avatar akalipetis avatar alkovpro avatar alpower avatar anze3db avatar bogdanp avatar ciplazar avatar dorianpula avatar drpoggi avatar ewjoachim avatar hackebrot avatar jairhenrique avatar jeamland avatar jriggins avatar kinabalu avatar kristenwidman avatar maackle avatar mammuth avatar maximilianhurl avatar netoxico avatar perdy avatar pslacerda avatar rhelms avatar rougeth avatar sonictherocketman avatar thedrow avatar thimslugga avatar tomchristie avatar vickumar1981 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.