{"id":15158077,"url":"https://github.com/mitchmedeiros/mlcompare","last_synced_at":"2026-02-02T18:02:35.637Z","repository":{"id":250942358,"uuid":"822060926","full_name":"MitchMedeiros/MLCompare","owner":"MitchMedeiros","description":"Quickly compare machine learning models across libraries and datasets.","archived":false,"fork":false,"pushed_at":"2024-10-22T21:50:33.000Z","size":16672,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T21:11:08.313Z","etag":null,"topics":["huggingface-datasets","kaggle","machine-learning","openml","pytorch","scikit-learn","xgboost"],"latest_commit_sha":null,"homepage":"https://mlcompare.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MitchMedeiros.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-30T07:42:28.000Z","updated_at":"2024-10-22T15:20:44.000Z","dependencies_parsed_at":"2024-07-31T00:20:09.172Z","dependency_job_id":"b0a9f867-d027-4ab0-abb7-e6740c877322","html_url":"https://github.com/MitchMedeiros/MLCompare","commit_stats":{"total_commits":134,"total_committers":1,"mean_commits":134.0,"dds":0.0,"last_synced_commit":"ba36fffa4158e47f5d0b4965b33993cc3576200a"},"previous_names":["mitchmedeiros/mlcompare"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/MitchMedeiros/MLCompare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchMedeiros%2FMLCompare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchMedeiros%2FMLCompare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchMedeiros%2FMLCompare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchMedeiros%2FMLCompare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MitchMedeiros","download_url":"https://codeload.github.com/MitchMedeiros/MLCompare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchMedeiros%2FMLCompare/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261391997,"owners_count":23151708,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["huggingface-datasets","kaggle","machine-learning","openml","pytorch","scikit-learn","xgboost"],"created_at":"2024-09-26T20:22:59.507Z","updated_at":"2026-02-02T18:02:35.567Z","avatar_url":"https://github.com/MitchMedeiros.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://d1nheu3uhuz51e.cloudfront.net/mlcompare/logo_text_1k.png\" width=\"500\" alt=\"MLCompare Logo\"\u003e\n\u003c/p\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://pypi.org/project/mlcompare\"\u003e\u003cimg \n    alt=\"Supported Python Versions\"\n    src=\"https://img.shields.io/pypi/pyversions/mlcompare?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjAxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI1NSI%2BPGRlZnM%2BPGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1B5dGhvbjAiIHgxPSIxMi45NTklIiB4Mj0iNzkuNjM5JSIgeTE9IjEyLjAzOSUiIHkyPSI3OC4yMDElIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjMzg3ZWI4Ii8%2BPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMzY2OTk0Ii8%2BPC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImxvZ29zUHl0aG9uMSIgeDE9IjE5LjEyOCUiIHgyPSI5MC43NDIlIiB5MT0iMjAuNTc5JSIgeTI9Ijg4LjQyOSUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNmZmUwNTIiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmMzMzEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zUHl0aG9uMCkiIGQ9Ik0xMjYuOTE2LjA3MmMtNjQuODMyIDAtNjAuNzg0IDI4LjExNS02MC43ODQgMjguMTE1bC4wNzIgMjkuMTI4aDYxLjg2OHY4Ljc0NUg0MS42MzFTLjE0NSA2MS4zNTUuMTQ1IDEyNi43N2MwIDY1LjQxNyAzNi4yMSA2My4wOTcgMzYuMjEgNjMuMDk3aDIxLjYxdi0zMC4zNTZzLTEuMTY1LTM2LjIxIDM1LjYzMi0zNi4yMWg2MS4zNjJzMzQuNDc1LjU1NyAzNC40NzUtMzMuMzE5VjMzLjk3UzE5NC42Ny4wNzIgMTI2LjkxNi4wNzJNOTIuODAyIDE5LjY2YTExLjEyIDExLjEyIDAgMCAxIDExLjEzIDExLjEzYTExLjEyIDExLjEyIDAgMCAxLTExLjEzIDExLjEzYTExLjEyIDExLjEyIDAgMCAxLTExLjEzLTExLjEzYTExLjEyIDExLjEyIDAgMCAxIDExLjEzLTExLjEzIi8%2BPHBhdGggZmlsbD0idXJsKCNsb2dvc1B5dGhvbjEpIiBkPSJNMTI4Ljc1NyAyNTQuMTI2YzY0LjgzMiAwIDYwLjc4NC0yOC4xMTUgNjAuNzg0LTI4LjExNWwtLjA3Mi0yOS4xMjdIMTI3LjZ2LTguNzQ1aDg2LjQ0MXM0MS40ODYgNC43MDUgNDEuNDg2LTYwLjcxMmMwLTY1LjQxNi0zNi4yMS02My4wOTYtMzYuMjEtNjMuMDk2aC0yMS42MXYzMC4zNTVzMS4xNjUgMzYuMjEtMzUuNjMyIDM2LjIxaC02MS4zNjJzLTM0LjQ3NS0uNTU3LTM0LjQ3NSAzMy4zMnY1Ni4wMTNzLTUuMjM1IDMzLjg5NyA2Mi41MTggMzMuODk3bTM0LjExNC0xOS41ODZhMTEuMTIgMTEuMTIgMCAwIDEtMTEuMTMtMTEuMTNhMTEuMTIgMTEuMTIgMCAwIDEgMTEuMTMtMTEuMTMxYTExLjEyIDExLjEyIDAgMCAxIDExLjEzIDExLjEzYTExLjEyIDExLjEyIDAgMCAxLTExLjEzIDExLjEzIi8%2BPC9zdmc%2B\u0026labelColor=blue\u0026color=yellow\u0026label=Python\"\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/mlcompare/\"\u003e\u003cimg \n    alt=\"PyPI - Version\"\n    src=\"https://img.shields.io/pypi/v/mlcompare?logo=pypi\u0026label=PyPi\u0026labelColor=white\u0026color=blue\"\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/mlcompare/\"\u003e\u003cimg \n    alt=\"PyPI - License\"\n    src=\"https://img.shields.io/pypi/l/mlcompare?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzk3OTc5NyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNNC41IDEzLjVoN004LjAxIDF2MTIuMDZNMS41IDMuNWgzbDEuNS0xaDRsMS41IDFoM00uNSAxMEwzIDQuNDhMNS41IDEwQzQgMTEgMiAxMSAuNSAxMG0xMCAwTDEzIDQuNDhMMTUuNSAxMGMtMS41IDEtMy41IDEtNSAwIi8%2BPC9zdmc%2B\u0026labelColor=darkred\u0026color=lightgrey\u0026label=License\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.pepy.tech/projects/MLCompare\"\u003e\u003cimg \n    alt=\"Pepy Total Downlods\"\n    src=\"https://img.shields.io/pepy/dt/MLCompare?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxnIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBzdHJva2U9IiMxQUZGOUYiIGQ9Ik0zMS4yNSAyOS4xNjdMMjUgMzUuNDE3bC02LjI1LTYuMjVtNi4yNSA2LjI1VjYuMjUiLz48cGF0aCBzdHJva2U9IiMxQUZGOUYiIGQ9Ik04LjMzMyAzNS40MTd2Ni4yNWEyLjA4MyAyLjA4MyAwIDAgMCAyLjA4NCAyLjA4M2gyOS4xNjZhMi4wODMgMi4wODMgMCAwIDAgMi4wODQtMi4wODN2LTYuMjUiLz48L2c%2BPC9zdmc%2B\u0026label=Downloads\u0026labelColor=grey\u0026color=lightgreen\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003ca href=\"https://mlcompare.readthedocs.io/en/latest/api_reference\"\u003e\u003cimg\n    alt=\"Read the Docs\"\n    src=\"https://img.shields.io/readthedocs/mlcompare?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGZpbGw9IiM5MGNhZjkiIGQ9Ik00MCA0NUg4VjNoMjJsMTAgMTB6Ii8%2BPHBhdGggZmlsbD0iI2UxZjVmZSIgZD0iTTM4LjUgMTRIMjlWNC41eiIvPjxwYXRoIGZpbGw9IiMxOTc2ZDIiIGQ9Ik0xNiAyMWgxN3YySDE2em0wIDRoMTN2MkgxNnptMCA0aDE3djJIMTZ6bTAgNGgxM3YySDE2eiIvPjwvc3ZnPg%3D%3D\u0026labelColor=white\u0026label=Docs\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/MitchMedeiros/MLCompare/actions/workflows/lint.yml\"\u003e\u003cimg\n    alt=\"GitHub Actions Workflow Status\"\n    src=\"https://img.shields.io/github/actions/workflow/status/MitchMedeiros/MLCompare/lint.yml?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IiNlMzI0MDAiIGQ9Im0xMS4wNzUgMTQuOTVsMS44NS0yLjUyNWwxLjgyNSAyLjUyNUwxOCAxMC41MjVMMTYuNCA5LjM1bC0xLjY1IDIuMjI1TDEyLjkgOS4wNWwtMS44MjUgMi41MjVsLTEuODUtMi41MjVMNiAxMy40NzVsMS42IDEuMTc1bDEuNjI1LTIuMjI1ek0xMiAyMnEtMi4wNzUgMC0zLjktLjc4OHQtMy4xNzUtMi4xMzdUMi43ODggMTUuOVQyIDEydC43ODgtMy45dDIuMTM3LTMuMTc1VDguMSAyLjc4OFQxMiAydDMuOS43ODh0My4xNzUgMi4xMzdUMjEuMjEzIDguMVQyMiAxMnQtLjc4OCAzLjl0LTIuMTM3IDMuMTc1dC0zLjE3NSAyLjEzOFQxMiAyMm0wLTJxMy4zNSAwIDUuNjc1LTIuMzI1VDIwIDEydC0yLjMyNS01LjY3NVQxMiA0VDYuMzI1IDYuMzI1VDQgMTJ0Mi4zMjUgNS42NzVUMTIgMjBtMC04Ii8%2BPC9zdmc%2B\u0026label=Lint\u0026labelColor=lightgreen\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/MitchMedeiros/MLCompare/actions/workflows/unit-tests.yml\"\u003e\u003cimg\n    alt=\"GitHub Actions status (MacOS Unit Tests)\"\n    src=\"https://img.shields.io/github/actions/workflow/status/MitchMedeiros/MLCompare/unit-tests.yml?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI%2BPHBhdGggZmlsbD0iIzY5Njk2OSIgZD0iTTMxLjUxMiAzMC4zOThoNjEuMzA0YTMuMDA2IDMuMDA2IDAgMCAxIDAgNi4wMTJIMzEuNTEyYTMuMDA3IDMuMDA3IDAgMCAxLTMuMDA0LTMuMDA0YTMuMDEgMy4wMSAwIDAgMSAzLjAwNC0zLjAwOG0wIDAiLz48cGF0aCBmaWxsPSIjMDA5ZmUzIiBkPSJNMzIuMDQ3IDI0LjMySDQ0LjM3djIuODQ0SDMyLjA0N3ptMCAwIi8%2BPHBhdGggZmlsbD0iI2M3ZDMwMiIgZD0iTTQ4LjE2OCAyNC4zMmgxMi4zMjR2Mi44NDRINDguMTY4em0wIDAiLz48cGF0aCBmaWxsPSIjZjA3ZTE2IiBkPSJNNjQuMDcgMjQuMzJoMTIuMzI4djIuODQ0SDY0LjA3em0wIDAiLz48cGF0aCBmaWxsPSIjZGYyODE1IiBkPSJNNzkuOTEgMjQuMzJoMTIuMzI0djIuODQ0SDc5Ljkxem0wIDE1LjIyaDEyLjMyNHYyMC44MzVINzkuOTF6bTAgMCIvPjxwYXRoIGZpbGw9IiNmMDdlMTYiIGQ9Ik02NC4wNyAzOS41NGgxMi4zNTJ2MzMuODQ3SDY0LjA3em0wIDAiLz48cGF0aCBmaWxsPSIjYzdkMzAyIiBkPSJNNDguMTY4IDM5LjU0aDEyLjMyNHY1MC42OThINDguMTY4em0wIDAiLz48cGF0aCBmaWxsPSIjMDA5ZmUzIiBkPSJNMzIuMDQ3IDM5LjU0SDQ0LjM3djYxLjc5MkgzMi4wNDd6bTAgMCIvPjwvc3ZnPg%3D%3D\u0026label=Unit%20Tests\u0026labelColor=darkgreen\"\u003e\u003c/a\u003e\n\u003ca href=\"https://app.codecov.io/gh/MitchMedeiros/MLCompare\"\u003e\u003cimg\n    alt=\"Code Coverage\"\n    src=\"https://img.shields.io/codecov/c/github/MitchMedeiros/MLCompare?logo=codecov\u0026labelColor=black\u0026label=Coverage\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\nMLCompare is a Python package for running model comparison pipelines, with the aim of being both simple and flexible. It supports multiple popular ML libraries, retrieval from multiple online dataset repositories, common data processing steps, and results visualization. Additionally, it allows for using your own models and datasets within the pipelines.\n\n\u003ctable align=\"center\"\u003e\n    \u003ctr\u003e\n        \u003cth\u003e\u003cdiv align=\"center\"\u003eLibraries\u003c/div\u003e\u003c/th\u003e\n        \u003cth\u003e\u003cdiv align=\"center\"\u003eDatasets\u003c/div\u003e\u003c/th\u003e\n        \u003cth\u003e\u003cdiv align=\"center\"\u003eData Processing\u003c/div\u003e\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd valign=\"top\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eScikit-learn\u003c/li\u003e\n                \u003cli\u003eXGBoost\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n        \u003ctd valign=\"top\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eKaggle\u003c/li\u003e\n                \u003cli\u003eOpenML\u003c/li\u003e\n                \u003cli\u003eHugging Face\u003c/li\u003e\n                \u003cli\u003elocally saved\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n        \u003ctd valign=\"top\"\u003e\n            \u003cul\u003e\n                \u003cli\u003etrain-test split\u003c/li\u003e\n                \u003cli\u003edrop columns\u003c/li\u003e\n                \u003cli\u003ehandle NaNs: \u003ci\u003edrop\u003c/i\u003e | \u003ci\u003eforward-fill\u003c/i\u003e | \u003ci\u003ebackward-fill\u003c/i\u003e\u003c/li\u003e\n                \u003cli\u003eencoders: \u003ci\u003eOneHot\u003c/i\u003e | \u003ci\u003eOrdinal\u003c/i\u003e | \u003ci\u003eTarget\u003c/i\u003e | \u003ci\u003eLabel\u003c/i\u003e\u003c/li\u003e\n                \u003cli\u003escalers: \u003ci\u003eStandard\u003c/i\u003e | \u003ci\u003eMinMax\u003c/i\u003e | \u003ci\u003eMaxAbs\u003c/i\u003e | \u003ci\u003eRobust\u003c/i\u003e\u003c/li\u003e\n                \u003cli\u003etransformers: \u003ci\u003eQuantile\u003c/i\u003e | \u003ci\u003ePower\u003c/i\u003e | \u003ci\u003eNormalizer\u003c/i\u003e\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ch2\u003eInstalling\u003c/h2\u003e\n\nIt is recommended to create a new virtual environment. Example with Conda:\n\n```console\nconda create -n compare_env python==3.11.9\nconda activate compare_env\n```\n\nInstall this library with pip:\n\n```console\npip install mlcompare\n```\n\nNote that for MacOS, both XGBoost and LightGBM require `libomp`. It can be installed with \u003ca href=\"https://brew.sh\"\u003eHomebrew\u003c/a\u003e:\n\n```console\nbrew install libomp\n```\n\n\u003ch2\u003eA Simple Example\u003c/h2\u003e\n\nRunning a pipeline with multiple datasets and models is done by creating a list of dictionaries for each and providing them to a pipeline function.\n\nThe below example downloads a dataset from OpenML and Kaggle, one-hot encodes some of the columns in the Kaggle dataset, and trains and evaluates a Random Forest and XGBoost model on them.\n\n```python\nimport mlcompare\n\ndatasets = [\n    {\n        \"type\": \"openml\",\n        \"id\": 8,\n        \"target\": \"drinks\",\n    },\n    {\n        \"type\": \"kaggle\",\n        \"user\": \"gorororororo23\",\n        \"dataset\": \"plant-growth-data-classification\",\n        \"file\": \"plant_growth_data.csv\",\n        \"target\": \"Growth_Milestone\",\n        \"oneHotEncode\": [\"Soil_Type\", \"Water_Frequency\", \"Fertilizer_Type\"],\n    }\n]\n\nmodels = [\n    {\n        \"library\": \"sklearn\",\n        \"name\": \"RandomForestRegressor\",\n    },\n    {\n        \"library\": \"xgboost\",\n        \"name\": \"XGBRegressor\",\n        \"params\": {\"num_leaves\": 40, \"n_estimators\": 200}\n    }\n]\n\nmlcompare.full_pipeline(datasets, models, \"regression\")\n```\n\nIn the case of the XGBoost model some non-default parameter values were used.\n\n\u003ch2\u003ePlanned Additions\u003c/h2\u003e\n\n\u003ch3\u003eVersion 1.3\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eLightGBM support\u003c/li\u003e\n    \u003cli\u003eCatBoost support\u003c/li\u003e\n    \u003cli\u003eModel results graphing and visualization\u003c/li\u003e\n    \u003cli\u003eImproved documentation\u003c/li\u003e\n    \u003cli\u003eSupport for presplit data\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eVersion 1.4\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003ePyTorch support\u003c/li\u003e\n    \u003cli\u003eTensorFlow support\u003c/li\u003e\n    \u003cli\u003eAdditional dataset sources\u003c/li\u003e\n    \u003cli\u003eBuilt-in model and dataset collections for quick testing of similar model types/datasets\u003c/li\u003e\n    \u003cli\u003eOptional pipeline caching\u003c/li\u003e\n    \u003cli\u003eOptional trained model saving\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eVersion 1.5\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eS3 Support\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchmedeiros%2Fmlcompare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitchmedeiros%2Fmlcompare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchmedeiros%2Fmlcompare/lists"}