{"id":808550,"name":"sklearn-migrator: Cross-version migration of scikit-learn models for reproducible MLOps","description":"sklearn-migrator: Cross-version migration of scikit-learn models for reproducible MLOps - Published in JOSS (2026)","url":"https://github.com/anvaldes/sklearn-migrator","last_synced_at":"2026-05-19T16:32:02.327Z","repository":{"id":304424137,"uuid":"1018753738","full_name":"anvaldes/sklearn-migrator","owner":"anvaldes","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-08T23:46:08.000Z","size":1007,"stargazers_count":11,"open_issues_count":8,"forks_count":2,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2026-05-14T15:10:47.974Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/anvaldes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-13T00:59:39.000Z","updated_at":"2026-05-08T12:43:30.000Z","dependencies_parsed_at":"2025-07-27T09:08:26.819Z","dependency_job_id":"1581ecf9-3c3b-4885-8ed7-1b1ccf434919","html_url":"https://github.com/anvaldes/sklearn-migrator","commit_stats":null,"previous_names":["anvaldes/sklearn-migrator"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/anvaldes/sklearn-migrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaldes","download_url":"https://codeload.github.com/anvaldes/sklearn-migrator/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33224543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T15:49:41.270Z","status":"ssl_error","status_checked_at":"2026-05-19T15:49:22.917Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"owner":{"login":"anvaldes","name":"Alberto Valdés","uuid":"53879188","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/53879188?u=49365f359d23830ec8e00c4e37c9b9105d92d6d1\u0026v=4","repositories_count":1,"last_synced_at":"2023-07-17T03:25:02.423Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/anvaldes","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-07-17T03:25:02.440Z","updated_at":"2023-07-17T03:25:02.440Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaldes","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaldes/repositories"},"packages":[{"id":11907730,"name":"sklearn-migrator","ecosystem":"pypi","description":"A utility to migrate scikit-learn models between versions.","homepage":"https://github.com/anvaldes/sklearn-migrator","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/anvaldes/sklearn-migrator","keywords_array":[],"namespace":null,"versions_count":31,"first_release_published_at":"2025-07-13T18:25:38.000Z","latest_release_published_at":"2026-05-08T12:49:45.000Z","latest_release_number":"0.22.0","last_synced_at":"2026-05-14T15:02:25.571Z","created_at":"2025-07-13T18:45:28.591Z","updated_at":"2026-05-14T15:06:05.098Z","registry_url":"https://pypi.org/project/sklearn-migrator/","install_command":"pip install sklearn-migrator --index-url https://pypi.org/simple","documentation_url":"https://github.com/anvaldes/sklearn-migrator#readme","metadata":{"funding":null,"documentation":"https://github.com/anvaldes/sklearn-migrator#readme","classifiers":["License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"sklearn-migrator","project_status":null},"repo_metadata":{"id":304424137,"uuid":"1018753738","full_name":"anvaldes/sklearn-migrator","owner":"anvaldes","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-06T01:50:44.000Z","size":993,"stargazers_count":11,"open_issues_count":8,"forks_count":1,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2026-05-06T03:29:31.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/anvaldes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-13T00:59:39.000Z","updated_at":"2026-05-06T01:49:25.000Z","dependencies_parsed_at":"2025-07-27T09:08:26.819Z","dependency_job_id":"1581ecf9-3c3b-4885-8ed7-1b1ccf434919","html_url":"https://github.com/anvaldes/sklearn-migrator","commit_stats":null,"previous_names":["anvaldes/sklearn-migrator"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/anvaldes/sklearn-migrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaldes","download_url":"https://codeload.github.com/anvaldes/sklearn-migrator/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33030385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"anvaldes","name":"Alberto Valdés","uuid":"53879188","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/53879188?u=49365f359d23830ec8e00c4e37c9b9105d92d6d1\u0026v=4","repositories_count":1,"last_synced_at":"2023-07-17T03:25:02.423Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/anvaldes","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-07-17T03:25:02.440Z","updated_at":"2023-07-17T03:25:02.440Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaldes","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvaldes/repositories"},"tags":[{"name":"v0.21.1","sha":"e6dce9853d970bc9a9a628e6340f0fc8064e547b","kind":"tag","published_at":"2025-12-13T00:46:58.000Z","download_url":"https://codeload.github.com/anvaldes/sklearn-migrator/tar.gz/v0.21.1","html_url":"https://github.com/anvaldes/sklearn-migrator/releases/tag/v0.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/anvaldes/sklearn-migrator@v0.21.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/tags/v0.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/tags/v0.21.1/manifests"},{"name":"v0.8.3","sha":"d2b13e82a3d6917eb38356b64940dc9f764ca283","kind":"tag","published_at":"2025-08-10T21:23:31.000Z","download_url":"https://codeload.github.com/anvaldes/sklearn-migrator/tar.gz/v0.8.3","html_url":"https://github.com/anvaldes/sklearn-migrator/releases/tag/v0.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/anvaldes/sklearn-migrator@v0.8.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/tags/v0.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/tags/v0.8.3/manifests"}]},"repo_metadata_updated_at":"2026-05-14T15:06:05.098Z","dependent_packages_count":0,"downloads":324,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":49.78811636297624,"dependent_packages_count":8.836285143751843,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.312200753364042},"purl":"pkg:pypi/sklearn-migrator","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/sklearn-migrator","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/sklearn-migrator","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/sklearn-migrator/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-14T15:06:00.466Z","issues_count":1,"pull_requests_count":71,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":406.26984126984127,"issues_closed_count":0,"pull_requests_closed_count":63,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":62,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":71,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":406.26984126984127,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":63,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":62,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/issues","maintainers":[{"login":"anvaldes","count":70,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/anvaldes"}],"active_maintainers":[{"login":"anvaldes","count":70,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/anvaldes"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/sklearn-migrator/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/sklearn-migrator/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/sklearn-migrator/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/sklearn-migrator/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/sklearn-migrator/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/sklearn-migrator/codemeta","maintainers":[{"uuid":"anvaldes","login":"anvaldes","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/anvaldes/","role":"Owner","created_at":"2025-07-13T18:45:44.081Z","updated_at":"2025-07-13T18:45:44.081Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/anvaldes/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":866854,"maintainers_count":370532,"namespaces_count":0,"keywords_count":280639,"github":"pypi","metadata":{"funded_packages_count":53810},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-05-13T05:09:37.527Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":10962693,"full_name":"anvaldes/sklearn-migrator","default_branch":"master","total_commits":117,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":39.0,"dds":0.3589743589743589,"past_year_total_commits":117,"past_year_total_committers":3,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":39.0,"past_year_dds":0.3589743589743589,"last_synced_at":"2026-05-14T15:08:18.443Z","last_synced_commit":"50df42c72ab58abf9ce3b8898e3ede94bd62a770","created_at":"2025-09-06T05:09:00.648Z","updated_at":"2026-05-14T15:08:04.516Z","committers":[{"name":"Alberto Valdes","email":"betovaldes@MacBook-Air-de-Alberto.local","login":null,"count":75},{"name":"Alberto","email":"anvaldes@uc.cl","login":"anvaldes","count":40},{"name":"github-actions","email":"github-actions@github.com","login":"invalid-email-address","count":2}],"past_year_committers":[{"name":"Alberto Valdes","email":"betovaldes@MacBook-Air-de-Alberto.local","login":null,"count":75},{"name":"Alberto","email":"anvaldes@uc.cl","login":"anvaldes","count":40},{"name":"github-actions","email":"github-actions@github.com","login":"invalid-email-address","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-19T00:00:11.117Z","repositories_count":6236479,"commits_count":884127055,"contributors_count":34883326,"owners_count":1154811,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"anvaldes/sklearn-migrator","html_url":"https://github.com/anvaldes/sklearn-migrator","last_synced_at":"2026-05-19T07:05:14.005Z","status":null,"issues_count":1,"pull_requests_count":71,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":406.26984126984127,"issues_closed_count":0,"pull_requests_closed_count":63,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":62,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":71,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":406.26984126984127,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":63,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":62,"created_at":"2025-07-16T13:04:09.497Z","updated_at":"2026-05-19T07:05:14.006Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvaldes%2Fsklearn-migrator/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":1},"pull_request_author_associations_count":{"OWNER":70,"NONE":1},"issue_authors":{"olacognite":1},"pull_request_authors":{"anvaldes":70,"jbytecode":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-19T00:00:20.226Z","repositories_count":14638462,"issues_count":34116471,"pull_requests_count":111711836,"authors_count":11266413,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"OWNER":70,"NONE":1},"past_year_issue_authors":{"olacognite":1},"past_year_pull_request_authors":{"anvaldes":70,"jbytecode":1},"maintainers":[{"login":"anvaldes","count":70,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/anvaldes"}],"active_maintainers":[{"login":"anvaldes","count":70,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/anvaldes"}]},"events":{"total":{"ReleaseEvent":1,"DeleteEvent":36,"MemberEvent":1,"PullRequestEvent":127,"IssuesEvent":2,"WatchEvent":10,"IssueCommentEvent":5,"PushEvent":92,"PullRequestReviewEvent":54,"CreateEvent":33},"last_year":{"ReleaseEvent":1,"DeleteEvent":36,"MemberEvent":1,"PullRequestEvent":127,"IssuesEvent":2,"WatchEvent":10,"IssueCommentEvent":5,"PushEvent":92,"PullRequestReviewEvent":54,"CreateEvent":33}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2025-07-13T03:44:36.112Z","updated_at":"2025-07-13T03:44:36.112Z","repository_link":"https://github.com/anvaldes/sklearn-migrator/blob/dev/setup.py","dependencies":[{"id":24115931802,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=0.21.3","direct":true,"kind":"runtime","optional":false}]}],"score":9.826876450164287,"created_at":"2026-05-19T16:30:12.902Z","updated_at":"2026-05-19T16:32:02.362Z","avatar_url":"https://github.com/anvaldes.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":324,"funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.17917931"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/808550","html_url":"https://science.ecosyste.ms/projects/808550","bibtex_url":"https://science.ecosyste.ms/projects/808550/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/808550/export.apalike"}