{"id":124902,"url":"https://github.com/unifyai/unify","last_synced_at":"2026-06-02T08:30:35.958Z","repository":{"id":230435461,"uuid":"777502336","full_name":"unifyai/unify","owner":"unifyai","description":"Notion for AI Observability 📊","archived":false,"fork":false,"pushed_at":"2025-10-23T08:53:58.000Z","size":2259,"stargazers_count":309,"open_issues_count":2,"forks_count":32,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-28T22:43:50.891Z","etag":null,"topics":["ai","claude","gpt","gpt-4","llama2","llm","llm-inference","llms","mixtral","openai","python"],"latest_commit_sha":null,"homepage":"https://unify.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unifyai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-26T00:59:24.000Z","updated_at":"2025-10-22T14:12:30.000Z","dependencies_parsed_at":"2024-03-29T18:31:02.139Z","dependency_job_id":"bfd24e6a-c280-4b50-8232-fc6c38cc0d32","html_url":"https://github.com/unifyai/unify","commit_stats":{"total_commits":874,"total_committers":13,"mean_commits":67.23076923076923,"dds":"0.17848970251716245","last_synced_commit":"acd2c9090b541ae4c9793ccd54df320b0ec1e184"},"previous_names":["unifyai/unify-llm-python"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/unifyai/unify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifyai","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281652822,"owners_count":26538323,"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","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"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":{"login":"unifyai","name":"Ivy","uuid":"63879146","kind":"organization","description":"Let's Unify AI","email":"hello@lets-unify.ai","website":"https://lets-unify.ai","location":"United Kingdom","twitter":"letsunifyai","company":null,"icon_url":"https://avatars.githubusercontent.com/u/63879146?v=4","repositories_count":13,"last_synced_at":"2023-03-03T19:43:08.718Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/unifyai","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T05:07:31.816Z","updated_at":"2023-03-03T19:43:08.724Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifyai","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifyai/repositories"},"packages":[{"id":9440735,"name":"unifyai","ecosystem":"pypi","description":"A Python package for interacting with the Unify API","homepage":"https://github.com/unifyai/unify","licenses":"apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/unifyai/unify","keywords_array":[],"namespace":null,"versions_count":210,"first_release_published_at":"2024-04-01T14:12:17.000Z","latest_release_published_at":"2026-01-02T18:23:52.000Z","latest_release_number":"0.9.191","last_synced_at":"2026-03-07T09:07:25.086Z","created_at":"2024-04-01T14:16:31.982Z","updated_at":"2026-03-07T09:07:25.086Z","registry_url":"https://pypi.org/project/unifyai/","install_command":"pip install unifyai --index-url https://pypi.org/simple","documentation_url":"https://unifyai.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14"],"normalized_name":"unifyai","project_status":null},"repo_metadata":{"id":230435461,"uuid":"777502336","full_name":"unifyai/unify","owner":"unifyai","description":"LLMs Run Riot in Production. Get Back in The Driving Seat. Build Your Own Evals, Iterate Quickly, and Go from Prototype to Production in No Time ⚡","archived":false,"fork":false,"pushed_at":"2024-11-08T12:48:56.000Z","size":1297,"stargazers_count":183,"open_issues_count":5,"forks_count":24,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-08T20:45:54.999Z","etag":null,"topics":["ai","claude","gpt","gpt-4","llama2","llm","llm-inference","llms","mixtral","openai","python"],"latest_commit_sha":null,"homepage":"https://unify.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unifyai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-26T00:59:24.000Z","updated_at":"2024-11-08T12:48:59.000Z","dependencies_parsed_at":"2024-03-29T18:31:02.139Z","dependency_job_id":"bfd24e6a-c280-4b50-8232-fc6c38cc0d32","html_url":"https://github.com/unifyai/unify","commit_stats":{"total_commits":874,"total_committers":13,"mean_commits":67.23076923076923,"dds":"0.17848970251716245","last_synced_commit":"acd2c9090b541ae4c9793ccd54df320b0ec1e184"},"previous_names":["unifyai/unify-llm-python"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifyai","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225320966,"owners_count":17456111,"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"},"owner_record":{"login":"unifyai","name":"Ivy","uuid":"63879146","kind":"organization","description":"Let's Unify AI","email":"hello@lets-unify.ai","website":"https://lets-unify.ai","location":"United Kingdom","twitter":"letsunifyai","company":null,"icon_url":"https://avatars.githubusercontent.com/u/63879146?v=4","repositories_count":13,"last_synced_at":"2023-03-03T19:43:08.718Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/unifyai","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T05:07:31.816Z","updated_at":"2023-03-03T19:43:08.724Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifyai","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifyai/repositories"},"tags":[{"name":"0.9.9","sha":"52127848a3f4dd7ec3881f9c9b228dcb46c11f49","kind":"commit","published_at":"2024-11-06T15:50:26.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.9","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.9/manifests"},{"name":"0.9.8","sha":"6a170bdbaf4e01b74ded5eb37292676d2771f23a","kind":"commit","published_at":"2024-10-29T13:25:27.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.8","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.8/manifests"},{"name":"0.9.7","sha":"0e93c8b6ac20f07e33e64f89b0cf5704aa8f5649","kind":"commit","published_at":"2024-10-18T12:40:02.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.7","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.7/manifests"},{"name":"0.9.6","sha":"fd77e3c10cfc5aefce1c6672c3e1d801f2a869f9","kind":"commit","published_at":"2024-09-23T18:03:51.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.6","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"e69ff1dd943e663b8529f27e6b4a996f6fe40363","kind":"commit","published_at":"2024-09-22T18:13:08.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.5","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.5/manifests"},{"name":"0.9.4","sha":"0571034b55b920db83ecc9bb563bcb03bf57c56a","kind":"commit","published_at":"2024-09-13T09:15:52.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.4","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"6a5a469665b5dc21da96e132110dd973bb23f1fd","kind":"commit","published_at":"2024-09-06T09:01:52.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.3","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"6fc8b0d7a89a1eb9adc1cdd6ab8aabf947601ac4","kind":"commit","published_at":"2024-08-09T16:00:26.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.2","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.2/manifests"},{"name":"0.9.1","sha":"dd24ac9cf2ce79d6ae85a398e513a4161dc8c2fa","kind":"commit","published_at":"2024-08-09T12:52:10.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.1","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.1/manifests"},{"name":"0.9.0","sha":"4183086c08a5728ffa13f0acde8b66a9c404a912","kind":"tag","published_at":"2024-08-09T12:51:52.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.9.0","html_url":"https://github.com/unifyai/unify/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.9.0/manifests"},{"name":"0.8.6","sha":"0c96b5281ab1f925718e360f130e589dbd425587","kind":"commit","published_at":"2024-08-02T18:50:18.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.8.6","html_url":"https://github.com/unifyai/unify/releases/tag/0.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.8.6/manifests"},{"name":"0.8.5","sha":"9ae54cce2b5fdcdec6ba27fe8078e28a867882ac","kind":"commit","published_at":"2024-06-21T15:07:37.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.8.5","html_url":"https://github.com/unifyai/unify/releases/tag/0.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.8.5/manifests"},{"name":"0.8.4","sha":"472c88a3ca45233b9405e311f9c80f1f25df3941","kind":"commit","published_at":"2024-06-12T17:05:59.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.8.4","html_url":"https://github.com/unifyai/unify/releases/tag/0.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.8.4/manifests"},{"name":"0.2.1","sha":"ce6dd4ab218a1fb8e6f5e04ac0009b72c51ddac9","kind":"commit","published_at":"2024-06-06T11:34:53.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.2.1","html_url":"https://github.com/unifyai/unify/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"00d23846d004173ec5c5ea41b3b939cc35646328","kind":"commit","published_at":"2024-04-01T17:01:40.000Z","download_url":"https://codeload.github.com/unifyai/unify/tar.gz/0.2.0","html_url":"https://github.com/unifyai/unify/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/tags/0.2.0/manifests"}]},"repo_metadata_updated_at":"2024-11-08T20:38:26.542Z","dependent_packages_count":0,"downloads":3415,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":63.42305323773134,"dependent_packages_count":9.61289834665207,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":36.517975792191706},"purl":"pkg:pypi/unifyai","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/unifyai","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/unifyai","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/unifyai/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-11-08T20:31:29.292Z","issues_count":14,"pull_requests_count":44,"avg_time_to_close_issue":7644969.076923077,"avg_time_to_close_pull_request":54522.275,"issues_closed_count":13,"pull_requests_closed_count":40,"pull_request_authors_count":11,"issue_authors_count":3,"avg_comments_per_issue":0.6428571428571429,"avg_comments_per_pull_request":0.09090909090909091,"merged_pull_requests_count":36,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":14,"past_year_pull_requests_count":44,"past_year_avg_time_to_close_issue":7644969.076923077,"past_year_avg_time_to_close_pull_request":54522.275,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":40,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.6428571428571429,"past_year_avg_comments_per_pull_request":0.09090909090909091,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":36,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/issues","maintainers":[{"login":"tomatillos","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomatillos"},{"login":"Infrared1029","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Infrared1029"},{"login":"vedpatwardhan","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/vedpatwardhan"},{"login":"guillesanbri","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/guillesanbri"},{"login":"iamjameskeane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/iamjameskeane"},{"login":"nassimberrada","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nassimberrada"}],"active_maintainers":[{"login":"tomatillos","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomatillos"},{"login":"Infrared1029","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Infrared1029"},{"login":"vedpatwardhan","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/vedpatwardhan"},{"login":"guillesanbri","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/guillesanbri"},{"login":"iamjameskeane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/iamjameskeane"},{"login":"nassimberrada","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nassimberrada"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/unifyai/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/unifyai/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/unifyai/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/unifyai/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/unifyai/codemeta","maintainers":[{"uuid":"unify","login":"unify","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/unify/","role":"Owner","created_at":"2024-04-01T14:16:33.174Z","updated_at":"2024-04-01T14:16:33.174Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/unify/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":810129,"maintainers_count":342708,"namespaces_count":0,"keywords_count":0,"github":"pypi","metadata":{"funded_packages_count":52540},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-03-07T06:52:41.853Z","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":1640389,"full_name":"unifyai/unify","default_branch":"main","total_commits":1652,"total_committers":14,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":118.0,"dds":0.21489104116222757,"past_year_total_commits":541,"past_year_total_committers":8,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":67.625,"past_year_dds":0.3641404805914972,"last_synced_at":"2026-03-02T03:07:05.435Z","last_synced_commit":"aea139c856aa39031cf710062c728ab7b322c2d4","created_at":"2024-07-25T15:38:52.318Z","updated_at":"2025-12-04T21:13:20.974Z","committers":[{"name":"Daniel Lenton","email":"daniel.lenton11@imperial.ac.uk","login":"djl11","count":1297},{"name":"CatB1t","email":"skytedits@gmail.com","login":"CatB1t","count":143},{"name":"vedpatwardhan","email":"vedpat3@gmail.com","login":"vedpatwardhan","count":92},{"name":"YushaArif99","email":"yushaa799@gmail.com","login":"YushaArif99","count":36},{"name":"Anwaar Khalid","email":"shahanwaar.khalid8@gmail.com","login":"hello-fri-end","count":22},{"name":"guillesanbri","email":"Guillesanbri@hotmail.com","login":"guillesanbri","count":16},{"name":"Tom Edwards","email":"49121269+tomatillos","login":"tomatillos","count":12},{"name":"Infrared1029","email":"60873139+Infrared1029","login":"Infrared1029","count":10},{"name":"jkeane508","email":"jameskeane508@gmail.com","login":"iamjameskeane","count":7},{"name":"nassimberrada","email":"112006029+nassimberrada","login":"nassimberrada","count":7},{"name":"Haris Mahmood","email":"hmahmood.bee16@gmail.com","login":"hmahmood24","count":7},{"name":"JG","email":"67888047+juliagsy","login":"juliagsy","count":1},{"name":"nassimberrada","email":"Nassim","login":null,"count":1},{"name":"Daniel Lenton","email":"djl11@Daniels-MacBook-Pro.local","login":null,"count":1}],"past_year_committers":[{"name":"djl11","email":"dan@unify.ai","login":"djl11","count":344},{"name":"CatB1t","email":"skytedits@gmail.com","login":"CatB1t","count":143},{"name":"YushaArif99","email":"yushaa799@gmail.com","login":"YushaArif99","count":36},{"name":"vedpatwardhan","email":"vedpat3@gmail.com","login":"vedpatwardhan","count":8},{"name":"Haris Mahmood","email":"hmahmood.bee16@gmail.com","login":"hmahmood24","count":7},{"name":"jkeane508","email":"jameskeane508@gmail.com","login":"iamjameskeane","count":1},{"name":"JG","email":"67888047+juliagsy","login":"juliagsy","count":1},{"name":"Daniel Lenton","email":"djl11@Daniels-MacBook-Pro.local","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-01T00:00:08.934Z","repositories_count":6205678,"commits_count":926822422,"contributors_count":35779134,"owners_count":1142821,"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":{"table":{"full_name":"unifyai/unify","html_url":"https://github.com/unifyai/unify","last_synced_at":"2025-11-20T09:04:26.836Z","status":"not_found","issues_count":18,"pull_requests_count":135,"avg_time_to_close_issue":6211676.6875,"avg_time_to_close_pull_request":575854.8620689656,"issues_closed_count":16,"pull_requests_closed_count":116,"pull_request_authors_count":15,"issue_authors_count":6,"avg_comments_per_issue":0.5,"avg_comments_per_pull_request":0.044444444444444446,"merged_pull_requests_count":104,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":60,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":33503.78,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":50,"past_year_pull_request_authors_count":5,"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":49,"created_at":"2024-07-25T15:38:58.226Z","updated_at":"2026-02-02T22:03:02.442Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifyai%2Funify/issues","issue_labels_count":{"table":{"integration":1}},"pull_request_labels_count":{"table":{"enhancement":14,"bug":2}},"issue_author_associations_count":{"table":{"NONE":14,"COLLABORATOR":3,"MEMBER":1}},"pull_request_author_associations_count":{"table":{"COLLABORATOR":77,"MEMBER":33,"CONTRIBUTOR":14,"NONE":11}},"issue_authors":{"table":{"paras55":12,"iamjameskeane":2,"tomatillos":1,"ArmaanjeetSandhu":1,"guillesanbri":1,"jacobweiss2305":1}},"pull_request_authors":{"table":{"CatB1t":50,"tomatillos":19,"Infrared1029":12,"vedpatwardhan":12,"guillesanbri":7,"djl11":6,"hello-fri-end":6,"iamjameskeane":6,"Yara97Mansour":4,"nassimberrada":4,"YushaArif99":2,"shubhamessier":2,"thiwa8":2,"eltociear":2,"juliagsy":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-01T00:00:08.495Z","repositories_count":13519164,"issues_count":35016371,"pull_requests_count":114059323,"authors_count":11176665,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{"enhancement":13}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"COLLABORATOR":50,"MEMBER":6,"NONE":1}},"past_year_issue_authors":{"table":{"ArmaanjeetSandhu":1}},"past_year_pull_request_authors":{"table":{"CatB1t":50,"djl11":6,"juliagsy":1}},"maintainers":[{"table":{"login":"CatB1t","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CatB1t"}},{"table":{"login":"tomatillos","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomatillos"}},{"table":{"login":"vedpatwardhan","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/vedpatwardhan"}},{"table":{"login":"iamjameskeane","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/iamjameskeane"}},{"table":{"login":"guillesanbri","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/guillesanbri"}},{"table":{"login":"Infrared1029","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Infrared1029"}},{"table":{"login":"djl11","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/djl11"}},{"table":{"login":"nassimberrada","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nassimberrada"}},{"table":{"login":"YushaArif99","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/YushaArif99"}},{"table":{"login":"hello-fri-end","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hello-fri-end"}}],"active_maintainers":[{"table":{"login":"CatB1t","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CatB1t"}},{"table":{"login":"djl11","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/djl11"}}]}},"events":{"total":{"ReleaseEvent":4,"DeleteEvent":52,"MemberEvent":2,"PullRequestEvent":74,"ForkEvent":14,"IssuesEvent":3,"WatchEvent":125,"IssueCommentEvent":3,"PushEvent":971,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":6,"CreateEvent":47},"last_year":{"DeleteEvent":48,"PullRequestEvent":49,"ForkEvent":11,"IssuesEvent":1,"WatchEvent":95,"IssueCommentEvent":1,"PushEvent":362,"CreateEvent":32}},"keywords":["ai","claude","gpt","gpt-4","llama2","llm","llm-inference","llms","mixtral","openai","python"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2024-03-29T18:31:00.709Z","updated_at":"2024-03-29T18:31:00.709Z","repository_link":"https://github.com/unifyai/unify/blob/main/.github/workflows/tests.yml","dependencies":[{"id":17112151362,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":17112151363,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":17112151364,"package_name":"knowsuchagency/poetry-install","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2024-03-29T18:31:01.866Z","updated_at":"2024-03-29T18:31:01.866Z","repository_link":"https://github.com/unifyai/unify/blob/main/poetry.lock","dependencies":[{"id":17112151455,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":17112151456,"package_name":"anyio","ecosystem":"pypi","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":17112151457,"package_name":"astor","ecosystem":"pypi","requirements":"0.8.1","direct":false,"kind":"runtime","optional":false},{"id":17112151458,"package_name":"attrs","ecosystem":"pypi","requirements":"23.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151459,"package_name":"autoflake","ecosystem":"pypi","requirements":"1.7.8","direct":false,"kind":"runtime","optional":false},{"id":17112151460,"package_name":"bandit","ecosystem":"pypi","requirements":"1.7.8","direct":false,"kind":"runtime","optional":false},{"id":17112151461,"package_name":"black","ecosystem":"pypi","requirements":"22.12.0","direct":false,"kind":"runtime","optional":false},{"id":17112151462,"package_name":"certifi","ecosystem":"pypi","requirements":"2024.2.2","direct":false,"kind":"runtime","optional":false},{"id":17112151463,"package_name":"cfgv","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":17112151464,"package_name":"click","ecosystem":"pypi","requirements":"8.1.7","direct":false,"kind":"runtime","optional":false},{"id":17112151465,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":17112151466,"package_name":"darglint","ecosystem":"pypi","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":17112151467,"package_name":"distlib","ecosystem":"pypi","requirements":"0.3.8","direct":false,"kind":"runtime","optional":false},{"id":17112151468,"package_name":"distro","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":17112151469,"package_name":"docutils","ecosystem":"pypi","requirements":"0.20.1","direct":false,"kind":"runtime","optional":false},{"id":17112151470,"package_name":"eradicate","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":17112151471,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151472,"package_name":"filelock","ecosystem":"pypi","requirements":"3.13.3","direct":false,"kind":"runtime","optional":false},{"id":17112151473,"package_name":"flake8","ecosystem":"pypi","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":17112151474,"package_name":"flake8-bandit","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":17112151475,"package_name":"flake8-broken-line","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":17112151476,"package_name":"flake8-bugbear","ecosystem":"pypi","requirements":"22.12.6","direct":false,"kind":"runtime","optional":false},{"id":17112151477,"package_name":"flake8-commas","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":17112151478,"package_name":"flake8-comprehensions","ecosystem":"pypi","requirements":"3.14.0","direct":false,"kind":"runtime","optional":false},{"id":17112151479,"package_name":"flake8-debugger","ecosystem":"pypi","requirements":"4.1.2","direct":false,"kind":"runtime","optional":false},{"id":17112151480,"package_name":"flake8-docstrings","ecosystem":"pypi","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":17112151481,"package_name":"flake8-eradicate","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":17112151482,"package_name":"flake8-isort","ecosystem":"pypi","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151483,"package_name":"flake8-polyfill","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":17112151484,"package_name":"flake8-quotes","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":17112151485,"package_name":"flake8-rst-docstrings","ecosystem":"pypi","requirements":"0.2.7","direct":false,"kind":"runtime","optional":false},{"id":17112151486,"package_name":"flake8-string-format","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":17112151487,"package_name":"h11","ecosystem":"pypi","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":17112151488,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":17112151489,"package_name":"httpx","ecosystem":"pypi","requirements":"0.27.0","direct":false,"kind":"runtime","optional":false},{"id":17112151490,"package_name":"identify","ecosystem":"pypi","requirements":"2.5.35","direct":false,"kind":"runtime","optional":false},{"id":17112151491,"package_name":"idna","ecosystem":"pypi","requirements":"3.6","direct":false,"kind":"runtime","optional":false},{"id":17112151492,"package_name":"isort","ecosystem":"pypi","requirements":"5.13.2","direct":false,"kind":"runtime","optional":false},{"id":17112151493,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":17112151494,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":17112151495,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":17112151496,"package_name":"mypy","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":17112151497,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":17112151498,"package_name":"nodeenv","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":17112151499,"package_name":"openai","ecosystem":"pypi","requirements":"1.12.0","direct":false,"kind":"runtime","optional":false},{"id":17112151500,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":17112151501,"package_name":"pbr","ecosystem":"pypi","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":17112151502,"package_name":"pep8-naming","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":17112151503,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151504,"package_name":"pre-commit","ecosystem":"pypi","requirements":"3.7.0","direct":false,"kind":"runtime","optional":false},{"id":17112151505,"package_name":"pycodestyle","ecosystem":"pypi","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":17112151506,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.6.4","direct":false,"kind":"runtime","optional":false},{"id":17112151507,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.16.3","direct":false,"kind":"runtime","optional":false},{"id":17112151508,"package_name":"pydocstyle","ecosystem":"pypi","requirements":"6.3.0","direct":false,"kind":"runtime","optional":false},{"id":17112151509,"package_name":"pyflakes","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":17112151510,"package_name":"pygments","ecosystem":"pypi","requirements":"2.17.2","direct":false,"kind":"runtime","optional":false},{"id":17112151511,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.1","direct":false,"kind":"runtime","optional":false},{"id":17112151512,"package_name":"restructuredtext-lint","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":17112151513,"package_name":"rich","ecosystem":"pypi","requirements":"13.7.1","direct":false,"kind":"runtime","optional":false},{"id":17112151514,"package_name":"setuptools","ecosystem":"pypi","requirements":"69.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151515,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":17112151516,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151517,"package_name":"stevedore","ecosystem":"pypi","requirements":"5.2.0","direct":false,"kind":"runtime","optional":false},{"id":17112151518,"package_name":"tomli","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":17112151519,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.66.2","direct":false,"kind":"runtime","optional":false},{"id":17112151520,"package_name":"types-requests","ecosystem":"pypi","requirements":"2.31.0.20240311","direct":false,"kind":"runtime","optional":false},{"id":17112151521,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.10.0","direct":false,"kind":"runtime","optional":false},{"id":17112151522,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":17112151523,"package_name":"virtualenv","ecosystem":"pypi","requirements":"20.25.1","direct":false,"kind":"runtime","optional":false},{"id":17112151524,"package_name":"wemake-python-styleguide","ecosystem":"pypi","requirements":"0.17.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-03-29T18:31:02.042Z","updated_at":"2024-03-29T18:31:02.042Z","repository_link":"https://github.com/unifyai/unify/blob/main/pyproject.toml","dependencies":[{"id":17112151525,"package_name":"python","ecosystem":"pypi","requirements":"^3.9","direct":true,"kind":"runtime","optional":false},{"id":17112151526,"package_name":"openai","ecosystem":"pypi","requirements":"1.12.0","direct":true,"kind":"runtime","optional":false},{"id":17112151527,"package_name":"flake8","ecosystem":"pypi","requirements":"~4.0.1","direct":true,"kind":"develop","optional":false},{"id":17112151528,"package_name":"mypy","ecosystem":"pypi","requirements":"^1.1.1","direct":true,"kind":"develop","optional":false},{"id":17112151529,"package_name":"isort","ecosystem":"pypi","requirements":"^5.11.4","direct":true,"kind":"develop","optional":false},{"id":17112151530,"package_name":"pre-commit","ecosystem":"pypi","requirements":"^3.0.1","direct":true,"kind":"develop","optional":false},{"id":17112151531,"package_name":"wemake-python-styleguide","ecosystem":"pypi","requirements":"^0.17.0","direct":true,"kind":"develop","optional":false},{"id":17112151532,"package_name":"black","ecosystem":"pypi","requirements":"^22.12.0","direct":true,"kind":"develop","optional":false},{"id":17112151533,"package_name":"autoflake","ecosystem":"pypi","requirements":"^1.6.1","direct":true,"kind":"develop","optional":false},{"id":17112151534,"package_name":"types-requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false}]}],"score":16.515075796702952,"created_at":"2024-07-25T15:26:23.194Z","updated_at":"2026-06-02T08:30:35.958Z","avatar_url":"https://github.com/unifyai.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/124902","html_url":"https://summary.ecosyste.ms/projects/124902"}