Skip to main content

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

APIHub

APIHub is a platform to dynamically serve API services on-fly. API service workers can be deployed when needed.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

![Product Name Screen Shot][product-screenshot]

Here's a blank template to get started: To avoid retyping too much info. Do a search and replace with your text editor for the following: yifan, apihub, yifan2019, email, APIHub, project_description

Features & TODOs

[X] Security
    [X] authenticate
    [X] admin, manager, user
    [X] user management
    [X] rate limiter
    [ ] register
    [ ] social login
[ ] Subscription
    [-] subscription
    [-] quota
    [X] application token
    [-] daily usage record in redis
[ ] Async/sync API calls
    [ ] api worker reports input/output: describe
    [X] generic worker deployment 
    [ ] auto scaler for api workers

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

  1. Clone the repo
    git clone https://github.com/yifan/apihub.git
    
  2. Install python packages
    poetry install
    

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Testing

  1. Start postgres and redis
    docker compose up
    
  2. Setup environment variables in a local .env file
    cat >.env <<EOF
    DB_URI="postgresql://dbuser:dbpass@localhost:5432/test"
    JWT_SECRET="nosecret"
    REDIS="redis://localhost:6379/1"
    IN_REDIS="redis://localhost:6379/1"
    OUT_REDIS="redis://localhost:6379/1"
    SECURITY_TOKEN_EXPIRES_DAYS=1
    SUBSCRIPTION_TOKEN_EXPIRES_DAYS=1
    EOF
    
  3. Run tests
    poetry run test
    
  4. Shutdown docker services
    docker compose down
    

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Yifan Zhang - @yifan2019 - yzhang@hbku.edu.qa

Project Link: https://github.com/yifan/apihub

Acknowledgements

Copyright (C) 2021, Qatar Computing Research Institute, HBKU

Release files for apihub 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apihub 0.1.0
File Size Uploaded
apihub-0.1.0.tar.gz 17.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apihub 0.1.0
File Interpreter ABI Platform
apihub-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.8 kB

Release files / apihub-0.1.0.tar.gz

Download URL apihub-0.1.0.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d0ac4277728d24d1f516620ffa4c9ab96d7817c5333b3a68659cf1b9619d850e
BLAKE2b-256 checksum
How to use checksums
c94f536ba399862640e09d54b30d4dda0000c14160e9a95592f87757e1437422
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.6 CPython/3.8.2 Darwin/20.4.0

Release files / apihub-0.1.0-py3-none-any.whl

Download URL apihub-0.1.0-py3-none-any.whl
Size 18.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
689cf15a1ab5d70de88c2bb2095cd3cba540ce83105adb7e043084c68aaa0747
BLAKE2b-256 checksum
How to use checksums
6dcc78be8dc4fe5be7e494187a22e9e11a21267327cf67ac83f0bf41794465e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.6 CPython/3.8.2 Darwin/20.4.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page