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.
- 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.
To install ModelPark, you can use pip:
pip install modelpark
Ensure Python and pip are installed on your machine. This API interfaces with the ModelPark CLI but manages interactions programmatically through Python.
Here's how you can use the ModelPark Python package:
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()
from modelpark import ModelPark
mp = ModelPark(clear_cache=True)
mp.register(port=3000, name="my-app", access="public")
# access='private' if private (not visible/ accessible in modelpark dashboard)
mp.register_port(port=3000, name="my-app", access="public", password='123')
mp.register_port(port=3000, name="my-app", access="public")
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")
mp.register(port=3000, name="my-app", file_path="~/my-app/streamlit-app.py", access="public", framework="streamlit")
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")
mp.ls()
# or mp.status()
mp.stop()
mp.logout()
mp.kill(name="my-app")
mp.kill(all=True)
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