chore: bump version to 1.0.35

This commit is contained in:
Jason Jafari 2025-04-01 23:05:04 +00:00
parent 5508bcad66
commit 4d52b17836
5 changed files with 33 additions and 36 deletions

42
DOCS.md
View File

@ -1,13 +1,13 @@
# mlModelSaver documentation # jrjModelRegistry documentation
## [Tutorial youtube](https://www.youtube.com/watch?v=fchTlNk2P8s) ## [Tutorial youtube](https://www.youtube.com/watch?v=fchTlNk2P8s)
Introducing **[mlModelSaver](https://pypi.org/project/mlModelSaver/)** a streamlined Python module designed for data scientists and developers who seek a straightforward solution for model saving and serving. Introducing **[jrjModelRegistry](https://pypi.org/project/jrjModelRegistry/)** a streamlined Python module designed for data scientists and developers who seek a straightforward solution for model saving and serving.
While numerous tools are available for training machine learning models, many lightweight statistical models lack simple, efficient saving mechanisms. Existing enterprise solutions like MLflow are robust but come with considerable complexity. Based on my experience, I saw the need for an abstract model registry concept that simplifies this process. While numerous tools are available for training machine learning models, many lightweight statistical models lack simple, efficient saving mechanisms. Existing enterprise solutions like MLflow are robust but come with considerable complexity. Based on my experience, I saw the need for an abstract model registry concept that simplifies this process.
**[mlModelSaver](https://github.com/smartdev-ca/mlModelSaver)** fills this gap, offering an intuitive way to save machine learning models and transformers. It facilitates seamless integration with frameworks like FastAPI ([Examples](https://github.com/jafarijason/ml_models_deployments)), Flask, and Django, enabling easy deployment and serving of models in production environments. Empower your machine learning workflow with **mlModelSaver** the easy and efficient tool for model management. **[jrjModelRegistry](https://gitea.root.sarava.dev/JRJ/model-registry)** fills this gap, offering an intuitive way to save machine learning models and transformers. It facilitates seamless integration with frameworks like FastAPI ([Examples](https://github.com/jafarijason/ml_models_deployments)), Flask, and Django, enabling easy deployment and serving of models in production environments. Empower your machine learning workflow with **jrjModelRegistry** the easy and efficient tool for model management.
## [Demo](https://ml.jasonjafari.com/docs) ## [Demo](https://ml.jasonjafari.com/docs)
@ -205,20 +205,20 @@ curl --location 'https://ml.jasonjafari.com/model/predict' \
## Installation ## Installation
You can install **mlModelSaver** via pip: You can install **jrjModelRegistry** via pip:
```bash ```bash
pip install mlModelSaver pip install jrjModelRegistry
``` ```
# mlModelSaver Example: Simple Linear Regression # jrjModelRegistry Example: Simple Linear Regression
In this example, we demonstrate how to use **mlModelSaver** to export a simple linear regression model based on a notebook from [ml_models_deployments](https://github.com/jafarijason/ml_models_deployments). In this example, we demonstrate how to use **jrjModelRegistry** to export a simple linear regression model based on a notebook from [ml_models_deployments](https://github.com/jafarijason/ml_models_deployments).
### Example Description ### Example Description
This example builds a simple linear regression model to predict sales based on temperature, advertising, and discount factors. Once the model is fitted and satisfactory, **mlModelSaver** allows you to easily save and deploy the model for use in production environments. This example builds a simple linear regression model to predict sales based on temperature, advertising, and discount factors. Once the model is fitted and satisfactory, **jrjModelRegistry** allows you to easily save and deploy the model for use in production environments.
### Example Code - notebook available [here](https://github.com/jafarijason/ml_models_deployments/blob/master/notebooks/001.ipynb) ### Example Code - notebook available [here](https://github.com/jafarijason/ml_models_deployments/blob/master/notebooks/001.ipynb)
@ -230,14 +230,14 @@ def add_constant_columnTransformer(df):
df_with_const.insert(0, 'const', 1) df_with_const.insert(0, 'const', 1)
return df_with_const return df_with_const
from mlModelSaver import MlModelSaver from jrjModelRegistry import jrjModelRegistry
mlModelSaverInstance = MlModelSaver({ jrjModelRegistryInstance = jrjModelRegistry({
"baseRelativePath": "..", "baseRelativePath": "..",
"modelsFolder": "models" "modelsFolder": "models"
}) })
# Export the model using MlModelSaver # Export the model using jrjModelRegistry
loadedModel = mlModelSaverInstance.exportModel( loadedModel = jrjModelRegistryInstance.exportModel(
# the models is fitted and ready for usage # the models is fitted and ready for usage
simpleLinearRegressionFittedModel, simpleLinearRegressionFittedModel,
{ {
@ -283,7 +283,7 @@ loadedModel.mlModelSavePredict(testDf)
## Supported Models ## Supported Models
Current supported models by **mlModelSaver**: Current supported models by **jrjModelRegistry**:
```python ```python
supportedModels = { supportedModels = {
@ -310,30 +310,30 @@ supportedModels = {
## Next Steps ## Next Steps
- [-] **Support More Models** **WIP**: Extend **mlModelSaver** to support various types of models beyond simple linear regression, such as decision trees, neural networks, and ensemble methods. - [-] **Support More Models** **WIP**: Extend **jrjModelRegistry** to support various types of models beyond simple linear regression, such as decision trees, neural networks, and ensemble methods.
- [-] **Additional Examples**: Provide diverse examples demonstrating the use of **mlModelSaver** with different machine learning models and data preprocessing techniques. - [-] **Additional Examples**: Provide diverse examples demonstrating the use of **jrjModelRegistry** with different machine learning models and data preprocessing techniques.
- [] **Video Tutorial**: Create a comprehensive video tutorial demonstrating how to train models, use **mlModelSaver** for saving and deployment, and integrate with popular frameworks like Flask and FastAPI. - [] **Video Tutorial**: Create a comprehensive video tutorial demonstrating how to train models, use **jrjModelRegistry** for saving and deployment, and integrate with popular frameworks like Flask and FastAPI.
- [] **Save Models to S3**: Implement functionality to save models directly to Amazon S3 for scalable and reliable storage, ensuring robust deployment in cloud environments. - [] **Save Models to S3**: Implement functionality to save models directly to Amazon S3 for scalable and reliable storage, ensuring robust deployment in cloud environments.
### Support More Models ### Support More Models
Expand **mlModelSaver** to handle a variety of machine learning models beyond simple linear regression. Example models could include decision trees, support vector machines, and deep learning models. Ensure that each model type integrates seamlessly with **mlModelSaver**'s saving and deployment functionalities. Expand **jrjModelRegistry** to handle a variety of machine learning models beyond simple linear regression. Example models could include decision trees, support vector machines, and deep learning models. Ensure that each model type integrates seamlessly with **jrjModelRegistry**'s saving and deployment functionalities.
### Save Models to S3 ### Save Models to S3
Enhance **mlModelSaver** to include options for saving models directly to Amazon S3. This feature ensures that models are stored securely and can be accessed from any location, facilitating deployment across distributed systems and cloud environments. Enhance **jrjModelRegistry** to include options for saving models directly to Amazon S3. This feature ensures that models are stored securely and can be accessed from any location, facilitating deployment across distributed systems and cloud environments.
### Additional Examples ### Additional Examples
Include a range of examples demonstrating **mlModelSaver**'s capabilities across different use cases. Examples should cover various scenarios such as regression, classification, and time series forecasting. Provide clear instructions and code snippets for each example, showcasing how to prepare data, train models, and deploy them using **mlModelSaver**. Include a range of examples demonstrating **jrjModelRegistry**'s capabilities across different use cases. Examples should cover various scenarios such as regression, classification, and time series forecasting. Provide clear instructions and code snippets for each example, showcasing how to prepare data, train models, and deploy them using **jrjModelRegistry**.
### Video Tutorial ### Video Tutorial
Produce a video tutorial that guides users through the entire process of using **mlModelSaver**. The tutorial should include steps for training a model, integrating with **mlModelSaver** for saving and loading, and deploying the model using popular web frameworks like Flask or FastAPI. Emphasize best practices and common pitfalls to help users maximize efficiency and reliability in their machine learning projects. Produce a video tutorial that guides users through the entire process of using **jrjModelRegistry**. The tutorial should include steps for training a model, integrating with **jrjModelRegistry** for saving and loading, and deploying the model using popular web frameworks like Flask or FastAPI. Emphasize best practices and common pitfalls to help users maximize efficiency and reliability in their machine learning projects.
These next steps will enhance **mlModelSaver**'s usability and scalability, enabling users to leverage advanced machine learning models effectively in production environments. These next steps will enhance **jrjModelRegistry**'s usability and scalability, enabling users to leverage advanced machine learning models effectively in production environments.

BIN
bun.lockb Executable file

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"name": "mlModelSaver", "name": "mlModelSaver",
"version": "1.0.33", "version": "1.0.35",
"description": "Make life easier for save and serving ml models", "description": "Make life easier for save and serving ml models",
"main": "index.js", "main": "index.js",
"repository": "git@github.com:smartdev-ca/mlModelSaver.git", "repository": "git@github.com:smartdev-ca/mlModelSaver.git",

View File

@ -1,15 +1,15 @@
from setuptools import setup, find_packages from setuptools import setup, find_packages
setup( setup(
name='mlModelSaver', name='jrjModelRegistry',
version='1.0.33', version='1.0.35',
packages=find_packages(), packages=find_packages(),
description='Make life easier for saving and serving ML models', description='Make life easier for saving and serving ML models',
long_description=open('DOCS.md').read(), # Assumes you have a README.md file long_description=open('DOCS.md').read(), # Assumes you have a README.md file
long_description_content_type='text/markdown', # Specify the format of the long description long_description_content_type='text/markdown', # Specify the format of the long description
author='Jason Jafari', author='Jason Jafari',
author_email='me@jasonjafari.com', author_email='me@jasonjafari.com',
url='https://github.com/smartdev-ca/mlModelSaver', # URL to your package repository url='https://gitea.root.sarava.dev/JRJ/model-registry', # URL to your package repository
classifiers=[ classifiers=[
'Development Status :: 5 - Production/Stable', 'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers', 'Intended Audience :: Developers',
@ -21,16 +21,12 @@ setup(
], ],
keywords='machine learning model saving serving', # Keywords for your package keywords='machine learning model saving serving', # Keywords for your package
install_requires=[ install_requires=[
'numpy>=1.26.4',
'pandas>=2.2.2',
'scikit-learn>=1.5.0',
'statsmodels>=0.14.2',
'matplotlib>=3.9.0',
'dill>=0.3.8', 'dill>=0.3.8',
'jaraco.functools>=4.0.1'
], ],
project_urls={ # Optional project_urls={ # Optional
'Documentation': 'https://github.com/smartdev-ca/mlModelSaver/blob/main/DOCS.md', 'Documentation': 'https://gitea.root.sarava.dev/JRJ/model-registry/blob/main/DOCS.md',
'Source': 'https://github.com/smartdev-ca/mlModelSaver', 'Source': 'https://gitea.root.sarava.dev/JRJ/model-registry',
'Tracker': 'https://github.com/smartdev-ca/mlModelSaver/issues', 'Tracker': 'https://gitea.root.sarava.dev/JRJ/model-registry/issues',
}, },
) )

View File

@ -1,8 +1,9 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1 # yarn lockfile v1
# bun ./bun.lockb --hash: C761591D1FEC250A-7b9032bf9bced832-B040692D3DBC6CFD-d4dd2bf021bd4e3f
husky@^9.0.11: husky@^9.0.11:
version "9.0.11" version "9.1.7"
resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" resolved "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz"
integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==