Giter Club home page Giter Club logo

katana's Introduction

Katana Cover

Introduction ๐ŸŒป

Katana project is a template for ASAP ๐Ÿš€ ML application deployment

Features ๐ŸŽ‰

  1. FastAPI inbuilt
  2. Swagger UI and uvicorn integration
  3. Docker ready configuration
  4. Integrated GitHub actions
  5. Production ready code ๐Ÿš€

Set-up Instructions ๐Ÿ”ง

We recommend using flask default serving for development and uvicorn server for production

We included following setup instructions;

  1. Local development
  2. Docker supported deployment

Local Development ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

  1. Clone this repo with [email protected]:shaz13/katana.git
  2. Set up environment using python3 -m venv .env
  3. Activate envrionment using
# Linux / Mac / Unix
$ source .env/bin/activate

# Windows
$ \.env\Scripts\activate
  1. Install requirements using pip install -r requirements.txt
  2. For debugging run from root - python main.py
  3. Deploy using Procfile or bash scripts/launch.sh
  4. Your API is being served at localhost:9000

Docker Setup โ›ด

  1. Clone this repo with [email protected]:shaz13/katana.git
  2. Install docker in your system
  3. Run docker-compose up
  4. Your local port is mapped and being served at localhost:9000

Capture

Contributors ๐Ÿ˜Ž

  1. Mohammad Shahebaz - @shaz13
  2. Aditya Soni - @AdityaSoni19031997

License ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ผ

MIT License

katana's People

Contributors

adityasoni19031997 avatar shaz13 avatar shaz13-socgen avatar ucalyptus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

katana's Issues

Add api versioning and blueprint

Current app base url has no versioning according to swagger design standards. The PR should address it and have current endpoints work with /api/v1 route

Feature Request : Custom Artifacts Upload for Scikit/XGB Inference

  • Lets me upload joblib/pkl file (FEATURE REQUEST) for scikit/xgb trained models.
  • I am allowed to edit a payload json.
  • Hit on Execute to perform inference on my joblib model with the pred_input.json as input and printout status(200 Success) and confidence/other metrics.

The above can be done using GCS where I have to create a bucket and use their AI Platform for prediction phase. However that is not beginner-friendly and requires a lot of preliminary GCP setups and API enabling overheads.

Please look into this @shaz13 @shaz13-socgen @AdityaSoni19031997

Adding docs

  • Adding readthedocs document for the project
  • Setting up docstring auto docs configuration
  • Adding static page and linking the same in bio

Cleaning up Train and Inference

IMO, we have to further clean-up the training and inference part.

Open to debate to have this structure --
current apis --> app (rename)
core folder --> moved to (app/core/)

The current core folder is not accessible from in APIs controls.
Also, its bad practise importing the top-level package. @AdityaSoni19031997

  • Core is exposed in the root. When the part should be hidden in-app/ or similar structure.
    Both in keeping favour of structure and security part.

Let me know if you have any better structure in place

Github Bot Closing Issues often

Need to change action to not close the issue for now. Let us cross issuses #1000 to make closing action.

Need to change this behavior for now

Python version

Specify the python runtime version (3.6, 3.7, 3.8?), and update the runtime.txt for Heroku, and the Dockerfile for local/cloud deployment.

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.