Giter Site home page Giter Site logo

apinf / openapi-space Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 3.0 71 KB

A backend for storing OpenAPI specifications

Home Page: https://openapi.space

License: European Union Public License 1.1

Python 92.75% Shell 5.62% Makefile 1.62%
open-api swagger-spec

openapi-space's Introduction

OpenAPI space

Build Status

A backend for storing OpenAPI specifications

Setup

  1. Have Python 3.5 or higher installed. Lower python 3.x versions may or may not work.

Automated, dev environment

  1. Run the setup script (./setup.sh)
  2. Run the server (./start.sh)

Automated, Docker

  1. Build the image (docker build . -t openapi-space)
  2. Run docker run -p <port>:80 openapi-space replacing <port> with the port you want the app to be accessible at.
  3. OpenAPI space should now be accessible at http://localhost:<port>

Manual

  1. Install virtualenv
  2. Create a virtualenv (virtualenv -p /path/to/python3 venv)
  3. Enter the virtualenv (source venv/bin/activate)
  4. Install dependencies (pip install -r requirements.txt)
  5. Start the server
    • Development mode: python main.py
    • uWSGI: uwsgi --ini uwsgi.ini

Development Status

Throughput Graph

openapi-space's People

Contributors

bajiat avatar jehugawa avatar mauriciovieira avatar mikeralphson avatar preriasusi avatar tulir avatar xylix avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

openapi-space's Issues

Enable CLA for this project

In order to hold the Copyright to all contributions to this codebase, APInf needs developers to sign a Contributor License Agreement (CLA).

Goal

Require contributors to sign a CLA before accepting contributions to this project. The CLA process should be as simple as possible (read: low friction).

Resources

CLAHub offers an automated CLA checking service for Github projects.

Fix spaces in URL

Currently API URL uses APIs name to generate URL but the spaces remain in the URL, we have to change that.

Rename project

OpenAPI hub is a bit too similar to Swagger Hub, so we've decided that we should rename the project. Suggestions are welcome.

Consider re-licensing as EUPL

@ccsr has expressed interest in re-licensing this project as EUPL. This issue is to discuss the licensing question, and to develop a consensus about the project license choice.

Travis tests don't pass at all

When you run travis, all pytest flake8 tests fail with error "AttributeError: 'NoneType' object has no attribute 'config' ". This is most likely due to conflicting package versions, but after playing for quite a bit with different versions i haven't reached any results. Only possible solution canditate so far is related to pytest-flake8 dependency pycodestyle which doesn't work with all the versions (source: PyCQA/pycodestyle#741).

Add automatic deployment

Automatic deployment similar to the one OpenAPI designer has would probably be useful here too.

Allow login using APInf account

In order to properly integrate designer with APInf, we need to make it possible to log in to space with an APInf account.

Decide on the tools and architecture of the backend

Before doing anything else we should decide a few things:

  • What functionality is needed?
  • How should the backend be structured?
  • What tools should we use?

We'll most likely use Flask for the web server and SQLAlchemy for the database. We'll probably also want to use something like connexion or swagger-py-codegen

For the the server architecture, there are currently two main ideas:

  1. A Git-like server where saved specs are immutable, but anyone can create a new revision based on a saved spec. This approach wouldn't require implementing any authentication.
  2. An open-source implementation of the Swagger Hub spec

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.