Socket
Socket
Sign inDemoInstall

modelpark

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

modelpark

Versatile solution for sharing apps through secure URLs


Maintainers
1

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.

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

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()

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)

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'
extension = 'api_extension' # or None
password = 'psw' # or None if no password protection
request_payload = {'key': 'value'}  # Payload required by the application

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

# get an access token to hit a modelpark api endpoint

import requests

expire ='7d' # x days or None
password = '1234' # or None if no password protection
auth_token = mp_api.get_auth_token(user_credentials)
access_token = mp_api.get_access_token(app_name, auth_token, password=password, expire=expire)

headers = {
    "x-access-token": access_token}

query = {'key': 'value'} 

requests.get(url, headers=headers, params=query).json()

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc