Skip to main content

Versatile solution for sharing apps through secure URLs

Project description

ModelPark

ModelPark provides a versatile platform to share and manage your ML models directly from your machine, offering a convenient Python API to manage these tasks programmatically, including controlling access and publishing applications.

See ModelPark website and platform for more details.

image

image

Features

  • Share models directly from the Python API.
  • Publish and manage applications using the ModelPark Python API.
  • Configure access management according to your needs through Python methods.

Installation

To install ModelPark, you can use pip:

pip install modelpark

Configuration

Ensure Python and pip are installed on your machine. This API interfaces with the ModelPark CLI but manages interactions programmatically through Python.

Usage

Here's how you can use the ModelPark Python package:

Initialize and Login

from modelpark import ModelPark

mp = ModelPark() # downloads the modelpark CLI binary/ executable to your home folder as "~/modelpark'
mp.login(username="your_username", password="your_password")
mp.init()

clear cache while init (remove existing modelpark CLI binaries from system)

from modelpark import ModelPark

mp = ModelPark(clear_cache=True)

Register an Application

Register an app running on a certain port

mp.register(port=3000, name="my-app", access="public") 
# access='private' if private (not visible/ accessible in modelpark dashboard)

Register a password protected app running on a certain port

mp.register_port(port=3000, name="my-app", access="public", password='123')

Register an app running on a certain port

mp.register_port(port=3000, name="my-app", access="public")

Register a streamlit app that is not run yet (this starts the app as well)

mp.run_with_streamlit_and_register(port=3000, name="my-app", file_path="~/my-app/streamlit-app.py", access="public", framework="streamlit")
# generic registration also works >> 
# mp.register(port=3000, name="my-app", file_path="~/my-app/streamlit-app.py", access="public", framework="streamlit")

Register a streamlit app that is not run yet

mp.register(port=3000, name="my-app", file_path="~/my-app/streamlit-app.py", access="public", framework="streamlit")

Register a Fast API app while deploying

add register_port within startup_event() function in FAST API app

@app.on_event("startup")
async def startup_event():
    mp.register_port(port=5000, name="my-fast-api", access="public") 

List Registered Applications

mp.ls()
# or mp.status()

Make an API Call to a Registered Application

from modelpark import APIManager
mp_api = APIManager()

user_credentials = {'username': 'your_username', 'password': 'your_password'}
app_name = 'my-app'
payload = {'key': 'value'}  # Payload required by the application

# Make the API call
response = mp_api.make_api_call(app_name, user_credentials, payload)
print(response.json())  # Assuming the response is in JSON format

Stop and Logout

mp.stop()
mp.logout()

Kill an Application

mp.kill(name="my-app")

Kill all the registrations in this session

mp.kill(all=True)

This API provides a more Pythonic way of managing your applications with ModelPark compared to using the CLI directly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modelpark-0.1.11.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

modelpark-0.1.11-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file modelpark-0.1.11.tar.gz.

File metadata

  • Download URL: modelpark-0.1.11.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for modelpark-0.1.11.tar.gz
Algorithm Hash digest
SHA256 13a74d763cee9ed64ce49464296ed7b46608f9fe9129bee86133df8ab84fa765
MD5 77d8ac41e129238e5b18d7b9a12c221d
BLAKE2b-256 8be5e3e0939231b89f2afb396fe75cc150ed517d6cfcafe1b761138761568922

See more details on using hashes here.

File details

Details for the file modelpark-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: modelpark-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for modelpark-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 2cd7b64dcacfc4cb8b7a77cf0ca89852106bab0ec45a157dc6037fb906e069f9
MD5 116fb54dfdc99123c8dacfa658dc42b7
BLAKE2b-256 145360806c0a36d27dc31d3a761de3be68e4787fbdb0d85437b913837e0e7039

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page