{"id":78331,"name":null,"description":"Data retrieval for AI agents","url":"https://github.com/kruskal-labs/toolfront","last_synced_at":"2025-09-08T21:19:19.311Z","repository":{"id":298450895,"uuid":"999999816","full_name":"kruskal-labs/toolfront","owner":"kruskal-labs","description":"Data retrieval for AI agents","archived":false,"fork":false,"pushed_at":"2025-09-06T18:57:26.000Z","size":1842,"stargazers_count":497,"open_issues_count":6,"forks_count":38,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-09-07T11:50:24.934Z","etag":null,"topics":["agent","analytics","artificial-intelligence","bigquery","data-analysis","data-engineering","data-science","database","databricks","dataops","information-extraction","information-retrieval","machine-learning","mcp","mlops","mysql","python","snowflake","sql","sqlite"],"latest_commit_sha":null,"homepage":"","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/kruskal-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2025-06-11T05:50:09.000Z","updated_at":"2025-09-07T11:15:37.000Z","dependencies_parsed_at":"2025-07-21T08:09:19.334Z","dependency_job_id":"f08f55de-fc0a-4e57-a9a5-cb4161696bad","html_url":"https://github.com/kruskal-labs/toolfront","commit_stats":null,"previous_names":["kruskal-labs/toolfront"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/kruskal-labs/toolfront","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruskal-labs","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231511,"owners_count":25245625,"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-09-08T02:00:09.813Z","response_time":121,"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":"kruskal-labs","name":"Kruskal","uuid":"198645179","kind":"organization","description":"","email":null,"website":null,"location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/198645179?v=4","repositories_count":1,"last_synced_at":"2025-06-11T07:20:19.626Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kruskal-labs","funding_links":[],"total_stars":1,"followers":0,"following":0,"created_at":"2025-06-11T07:20:19.648Z","updated_at":"2025-06-11T07:20:19.648Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruskal-labs","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruskal-labs/repositories"},"packages":[{"id":11791058,"name":"toolfront","ecosystem":"pypi","description":"ToolFront helps you retrieve information from large databases, APIs, and documents with AI.","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/kruskal-labs/toolfront","keywords_array":[],"namespace":null,"versions_count":22,"first_release_published_at":"2025-06-11T18:16:44.000Z","latest_release_published_at":"2025-09-06T18:57:23.000Z","latest_release_number":"0.2.14","last_synced_at":"2025-09-06T19:16:19.670Z","created_at":"2025-06-11T18:32:14.145Z","updated_at":"2025-09-08T00:40:57.576Z","registry_url":"https://pypi.org/project/toolfront/","install_command":"pip install toolfront --index-url https://pypi.org/simple","documentation_url":"https://toolfront.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only"],"normalized_name":"toolfront","project_status":null},"repo_metadata":{"id":298450895,"uuid":"999999816","full_name":"kruskal-labs/toolfront","owner":"kruskal-labs","description":"Data retrieval for AI agents","archived":false,"fork":false,"pushed_at":"2025-09-06T18:57:26.000Z","size":1842,"stargazers_count":497,"open_issues_count":6,"forks_count":38,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-09-07T11:50:24.934Z","etag":null,"topics":["agent","analytics","artificial-intelligence","bigquery","data-analysis","data-engineering","data-science","database","databricks","dataops","information-extraction","information-retrieval","machine-learning","mcp","mlops","mysql","python","snowflake","sql","sqlite"],"latest_commit_sha":null,"homepage":"","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/kruskal-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2025-06-11T05:50:09.000Z","updated_at":"2025-09-07T11:15:37.000Z","dependencies_parsed_at":"2025-07-21T08:09:19.334Z","dependency_job_id":"f08f55de-fc0a-4e57-a9a5-cb4161696bad","html_url":"https://github.com/kruskal-labs/toolfront","commit_stats":null,"previous_names":["kruskal-labs/toolfront"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/kruskal-labs/toolfront","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruskal-labs","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274117519,"owners_count":25225103,"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-09-07T02:00:09.463Z","response_time":67,"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":"kruskal-labs","name":"Kruskal","uuid":"198645179","kind":"organization","description":"","email":null,"website":null,"location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/198645179?v=4","repositories_count":1,"last_synced_at":"2025-06-11T07:20:19.626Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kruskal-labs","funding_links":[],"total_stars":1,"followers":0,"following":0,"created_at":"2025-06-11T07:20:19.648Z","updated_at":"2025-06-11T07:20:19.648Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruskal-labs","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruskal-labs/repositories"},"tags":[{"name":"v0.2.11","sha":"2e2083a9b79f5f6cafd93027117ccba1ce1e8435","kind":"commit","published_at":"2025-08-23T22:17:48.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.11","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.11/manifests"},{"name":"v0.2.10","sha":"da53e0823faeb1ca3fc9ccaf3c8a54b8f406761d","kind":"commit","published_at":"2025-08-15T18:24:56.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.10","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.10/manifests"},{"name":"v0.2.9","sha":"873d9231abc321484a92efbb08e5ce5977c04f6e","kind":"commit","published_at":"2025-08-06T01:10:48.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.9","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.9/manifests"},{"name":"v0.2.8","sha":"3318b14dcf971fc30b5c60eb66704ab6b9ef34e7","kind":"commit","published_at":"2025-07-31T02:08:06.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.8","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.8/manifests"},{"name":"v0.2.4","sha":"2d73622530040800c7f4b7202e867cdfe4368ab9","kind":"commit","published_at":"2025-07-30T00:52:14.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.4","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.4/manifests"},{"name":"v0.2.2","sha":"0262dafb0ca979347823b377a3ba559479f8e454","kind":"commit","published_at":"2025-07-30T00:31:42.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.2","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"3bccaafc374e9e87ab3e0cd02e8268498fba2179","kind":"commit","published_at":"2025-07-28T18:38:04.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.1","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"78e20c995d440bfd62952648b3232d2ef4c7bcd1","kind":"commit","published_at":"2025-07-23T20:25:46.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.2.0","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.2.0/manifests"},{"name":"v0.1.11","sha":"a6ed8557c0b2fa0023c04bf3d99b22017eddf730","kind":"commit","published_at":"2025-07-12T03:20:48.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.11","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.11/manifests"},{"name":"v0.1.10","sha":"075a1b7800048e31d7cdc37064b741a5894e6aef","kind":"commit","published_at":"2025-07-11T03:49:56.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.10","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.10/manifests"},{"name":"v0.1.9","sha":"1846a1bb901d953fe3e758046d816150742a8746","kind":"commit","published_at":"2025-07-07T20:27:48.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.9","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"f18346fa8f26473d42504782e6d3a67bfb29778f","kind":"commit","published_at":"2025-07-07T02:32:00.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.8","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"f6574746a36890bb92159cca293f970269dd60ea","kind":"commit","published_at":"2025-07-03T00:16:56.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.7","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"960d835e8d42a965505c8941174dcbe15565f453","kind":"commit","published_at":"2025-06-26T13:08:02.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.6","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"89c1f730550fe54101ff87ad8ea76d2ee9ed5710","kind":"commit","published_at":"2025-06-26T01:18:26.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.5","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.5/manifests"},{"name":"v0.1.2","sha":"db40fe81f8fa2e3e05d0d48b094b78fa8aabb87b","kind":"commit","published_at":"2025-06-19T12:21:27.000Z","download_url":"https://codeload.github.com/kruskal-labs/toolfront/tar.gz/v0.1.2","html_url":"https://github.com/kruskal-labs/toolfront/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kruskal-labs/toolfront@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/tags/v0.1.2/manifests"}]},"repo_metadata_updated_at":"2025-09-08T00:40:57.576Z","dependent_packages_count":0,"downloads":1055,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":50.75093957791269,"dependent_packages_count":9.007516623301532,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.87922810060711},"purl":"pkg:pypi/toolfront","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/toolfront","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/toolfront","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/toolfront/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-07T07:52:06.325Z","issues_count":15,"pull_requests_count":53,"avg_time_to_close_issue":136806.85714285713,"avg_time_to_close_pull_request":29062.28205128205,"issues_closed_count":7,"pull_requests_closed_count":39,"pull_request_authors_count":3,"issue_authors_count":7,"avg_comments_per_issue":0.6,"avg_comments_per_pull_request":0.03773584905660377,"merged_pull_requests_count":35,"bot_issues_count":1,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":53,"past_year_avg_time_to_close_issue":136806.85714285713,"past_year_avg_time_to_close_pull_request":29062.28205128205,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":39,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.6,"past_year_avg_comments_per_pull_request":0.03773584905660377,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":35,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/toolfront/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/toolfront/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/toolfront/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/toolfront/related_packages","maintainers":[{"uuid":"safranchik","login":"safranchik","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/safranchik/","role":"Owner","created_at":"2025-07-11T04:16:22.569Z","updated_at":"2025-07-11T04:16:22.569Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/safranchik/packages"},{"uuid":"gavin-kruskal","login":"gavin-kruskal","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/gavin-kruskal/","role":"Owner","created_at":"2025-06-11T18:35:27.623Z","updated_at":"2025-06-11T18:35:27.623Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/gavin-kruskal/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":726284,"maintainers_count":308824,"namespaces_count":0,"keywords_count":238245,"github":"pypi","metadata":{"funded_packages_count":50579},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-08T05:32:36.857Z","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":10405357,"full_name":"kruskal-labs/toolfront","default_branch":"master","committers":null,"total_commits":null,"total_committers":null,"total_bot_commits":null,"total_bot_committers":null,"mean_commits":null,"dds":null,"past_year_committers":null,"past_year_total_commits":null,"past_year_total_committers":null,"past_year_total_bot_commits":null,"past_year_total_bot_committers":null,"past_year_mean_commits":null,"past_year_dds":null,"last_synced_at":null,"last_synced_commit":null,"created_at":"2025-06-20T09:00:45.597Z","updated_at":"2025-06-20T09:00:45.597Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5491971,"commits_count":855149458,"contributors_count":31219150,"owners_count":911999,"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":"kruskal-labs/toolfront","html_url":"https://github.com/kruskal-labs/toolfront","last_synced_at":"2025-09-07T07:52:06.325Z","status":null,"issues_count":15,"pull_requests_count":53,"avg_time_to_close_issue":136806.85714285713,"avg_time_to_close_pull_request":29062.28205128205,"issues_closed_count":7,"pull_requests_closed_count":39,"pull_request_authors_count":3,"issue_authors_count":7,"avg_comments_per_issue":0.6,"avg_comments_per_pull_request":0.03773584905660377,"merged_pull_requests_count":35,"bot_issues_count":1,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":53,"past_year_avg_time_to_close_issue":136806.85714285713,"past_year_avg_time_to_close_pull_request":29062.28205128205,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":39,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.6,"past_year_avg_comments_per_pull_request":0.03773584905660377,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":35,"created_at":"2025-06-20T09:00:48.941Z","updated_at":"2025-09-07T07:52:06.327Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruskal-labs%2Ftoolfront/issues","issue_labels_count":{"enhancement":3,"documentation":1,"sdk":1},"pull_request_labels_count":{"documentation":3,"enhancement":1},"issue_author_associations_count":{"CONTRIBUTOR":9,"NONE":6},"pull_request_author_associations_count":{"CONTRIBUTOR":51,"NONE":2},"issue_authors":{"antidmg":9,"fleetimee":1,"linear[bot]":1,"spideystreet":1,"im360john":1,"abbott":1,"max-winderbaum":1},"pull_request_authors":{"antidmg":34,"safranchik":17,"seanchen1991":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:17.013Z","repositories_count":10171813,"issues_count":31942582,"pull_requests_count":100134560,"authors_count":10732619,"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":{"enhancement":3,"documentation":1,"sdk":1},"past_year_pull_request_labels_count":{"documentation":3,"enhancement":1},"past_year_issue_author_associations_count":{"CONTRIBUTOR":9,"NONE":6},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":51,"NONE":2},"past_year_issue_authors":{"antidmg":9,"abbott":1,"fleetimee":1,"im360john":1,"linear[bot]":1,"max-winderbaum":1,"spideystreet":1},"past_year_pull_request_authors":{"antidmg":34,"safranchik":17,"seanchen1991":2},"maintainers":[],"active_maintainers":[]},"events":{"total":{"CreateEvent":46,"ReleaseEvent":8,"IssuesEvent":19,"WatchEvent":302,"DeleteEvent":25,"IssueCommentEvent":12,"PushEvent":214,"PullRequestReviewEvent":9,"PullRequestReviewCommentEvent":5,"PullRequestEvent":50,"ForkEvent":25},"last_year":{"CreateEvent":46,"ReleaseEvent":8,"IssuesEvent":19,"WatchEvent":302,"DeleteEvent":25,"IssueCommentEvent":12,"PushEvent":214,"PullRequestReviewEvent":9,"PullRequestReviewCommentEvent":5,"PullRequestEvent":50,"ForkEvent":25}},"keywords":["agent","analytics","artificial-intelligence","bigquery","data-analysis","data-engineering","data-science","database","databricks","dataops","information-extraction","information-retrieval","machine-learning","mcp","mlops","mysql","python","snowflake","sql","sqlite"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2025-06-19T00:23:12.949Z","updated_at":"2025-06-19T00:23:12.949Z","repository_link":"https://github.com/kruskal-labs/toolfront/blob/main/.github/workflows/test.yml","dependencies":[{"id":23694177926,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23694177927,"package_name":"useblacksmith/setup-uv","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23694177928,"package_name":"postgres","ecosystem":"actions","requirements":"15","direct":true,"kind":"docker","optional":false},{"id":23694177929,"package_name":"mysql","ecosystem":"actions","requirements":"8.0","direct":true,"kind":"docker","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2025-06-19T00:23:13.294Z","updated_at":"2025-06-19T00:23:13.294Z","repository_link":"https://github.com/kruskal-labs/toolfront/blob/main/Dockerfile","dependencies":[{"id":23694177930,"package_name":"python","ecosystem":"docker","requirements":"3.11.11-slim","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2025-06-19T00:23:13.348Z","updated_at":"2025-06-19T00:23:13.348Z","repository_link":"https://github.com/kruskal-labs/toolfront/blob/main/pyproject.toml","dependencies":[{"id":23694177931,"package_name":"aiohttp","ecosystem":"pypi","requirements":"\u003e=3.11.18","direct":true,"kind":"runtime","optional":false},{"id":23694177932,"package_name":"aiomysql","ecosystem":"pypi","requirements":"\u003e=0.2.0","direct":true,"kind":"runtime","optional":false},{"id":23694177933,"package_name":"aiosqlite","ecosystem":"pypi","requirements":"\u003e=0.21.0","direct":true,"kind":"runtime","optional":false},{"id":23694177934,"package_name":"alembic","ecosystem":"pypi","requirements":"\u003e=1.16.0","direct":true,"kind":"runtime","optional":false},{"id":23694177935,"package_name":"async-lru","ecosystem":"pypi","requirements":"\u003e=2.0.5","direct":true,"kind":"runtime","optional":false},{"id":23694177936,"package_name":"asyncpg","ecosystem":"pypi","requirements":"\u003e=0.30.0","direct":true,"kind":"runtime","optional":false},{"id":23694177937,"package_name":"click","ecosystem":"pypi","requirements":"\u003e=8.1.8","direct":true,"kind":"runtime","optional":false},{"id":23694177938,"package_name":"db-dtypes","ecosystem":"pypi","requirements":"\u003e=1.4.3","direct":true,"kind":"runtime","optional":false},{"id":23694177939,"package_name":"duckdb","ecosystem":"pypi","requirements":"\u003e=1.2.2","direct":true,"kind":"runtime","optional":false},{"id":23694177940,"package_name":"duckdb-engine","ecosystem":"pypi","requirements":"\u003e=0.17.0","direct":true,"kind":"runtime","optional":false},{"id":23694177941,"package_name":"google-cloud-bigquery","ecosystem":"pypi","requirements":"\u003e=3.32.0","direct":true,"kind":"runtime","optional":false},{"id":23694177942,"package_name":"google-cloud-bigquery-storage","ecosystem":"pypi","requirements":"\u003e=2.32.0","direct":true,"kind":"runtime","optional":false},{"id":23694177943,"package_name":"greenlet","ecosystem":"pypi","requirements":"\u003e=3.2.2","direct":true,"kind":"runtime","optional":false},{"id":23694177944,"package_name":"httpx","ecosystem":"pypi","requirements":"\u003e=0.28.1","direct":true,"kind":"runtime","optional":false},{"id":23694177945,"package_name":"jellyfish","ecosystem":"pypi","requirements":"\u003e=1.2.0","direct":true,"kind":"runtime","optional":false},{"id":23694177946,"package_name":"mcp","ecosystem":"pypi","requirements":"[cli]\u003e=1.9.0","direct":true,"kind":"runtime","optional":false},{"id":23694177947,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.24.0","direct":true,"kind":"runtime","optional":false},{"id":23694177948,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=2.2.3","direct":true,"kind":"runtime","optional":false},{"id":23694177949,"package_name":"psycopg2","ecosystem":"pypi","requirements":"\u003e=2.9.10","direct":true,"kind":"runtime","optional":false},{"id":23694177950,"package_name":"pyarrow","ecosystem":"pypi","requirements":"\u003c19.0.0","direct":true,"kind":"runtime","optional":false},{"id":23694177951,"package_name":"pydantic","ecosystem":"pypi","requirements":"\u003e=2.11.4","direct":true,"kind":"runtime","optional":false},{"id":23694177952,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=8.3.5","direct":true,"kind":"runtime","optional":false},{"id":23694177953,"package_name":"python-decouple","ecosystem":"pypi","requirements":"\u003e=3.8","direct":true,"kind":"runtime","optional":false},{"id":23694177954,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=1.6.1","direct":true,"kind":"runtime","optional":false},{"id":23694177955,"package_name":"snowflake-sqlalchemy","ecosystem":"pypi","requirements":"\u003e=1.7.3","direct":true,"kind":"runtime","optional":false},{"id":23694177956,"package_name":"sqlalchemy-bigquery","ecosystem":"pypi","requirements":"\u003e=1.14.1","direct":true,"kind":"runtime","optional":false},{"id":23694177957,"package_name":"sqlalchemy-utils","ecosystem":"pypi","requirements":"\u003e=0.41.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2025-06-19T00:23:13.663Z","updated_at":"2025-06-19T00:23:13.663Z","repository_link":"https://github.com/kruskal-labs/toolfront/blob/main/uv.lock","dependencies":[{"id":23694177964,"package_name":"aiohappyeyeballs","ecosystem":"pypi","requirements":"2.6.1","direct":false,"kind":"runtime","optional":false},{"id":23694177965,"package_name":"aiohttp","ecosystem":"pypi","requirements":"3.11.18","direct":false,"kind":"runtime","optional":false},{"id":23694177966,"package_name":"aiomysql","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":23694177967,"package_name":"aiosignal","ecosystem":"pypi","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":23694177968,"package_name":"aiosqlite","ecosystem":"pypi","requirements":"0.21.0","direct":false,"kind":"runtime","optional":false},{"id":23694177969,"package_name":"alembic","ecosystem":"pypi","requirements":"1.16.1","direct":false,"kind":"runtime","optional":false},{"id":23694177970,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":23694177971,"package_name":"anyio","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":23694177972,"package_name":"asn1crypto","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":23694177973,"package_name":"async-lru","ecosystem":"pypi","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":23694177974,"package_name":"asyncpg","ecosystem":"pypi","requirements":"0.30.0","direct":false,"kind":"runtime","optional":false},{"id":23694177975,"package_name":"attrs","ecosystem":"pypi","requirements":"25.3.0","direct":false,"kind":"runtime","optional":false},{"id":23694177976,"package_name":"boto3","ecosystem":"pypi","requirements":"1.38.18","direct":false,"kind":"runtime","optional":false},{"id":23694177977,"package_name":"botocore","ecosystem":"pypi","requirements":"1.38.18","direct":false,"kind":"runtime","optional":false},{"id":23694177978,"package_name":"cachetools","ecosystem":"pypi","requirements":"5.5.2","direct":false,"kind":"runtime","optional":false},{"id":23694177979,"package_name":"certifi","ecosystem":"pypi","requirements":"2025.4.26","direct":false,"kind":"runtime","optional":false},{"id":23694177980,"package_name":"cffi","ecosystem":"pypi","requirements":"1.17.1","direct":false,"kind":"runtime","optional":false},{"id":23694177981,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":23694177982,"package_name":"click","ecosystem":"pypi","requirements":"8.1.8","direct":false,"kind":"runtime","optional":false},{"id":23694177983,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":23694177984,"package_name":"cryptography","ecosystem":"pypi","requirements":"45.0.1","direct":false,"kind":"runtime","optional":false},{"id":23694177985,"package_name":"db-dtypes","ecosystem":"pypi","requirements":"1.4.3","direct":false,"kind":"runtime","optional":false},{"id":23694177986,"package_name":"duckdb","ecosystem":"pypi","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":23694177987,"package_name":"duckdb-engine","ecosystem":"pypi","requirements":"0.17.0","direct":false,"kind":"runtime","optional":false},{"id":23694177988,"package_name":"filelock","ecosystem":"pypi","requirements":"3.18.0","direct":false,"kind":"runtime","optional":false},{"id":23694177989,"package_name":"frozenlist","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":23694177990,"package_name":"google-api-core","ecosystem":"pypi","requirements":"2.24.2","direct":false,"kind":"runtime","optional":false},{"id":23694177991,"package_name":"google-auth","ecosystem":"pypi","requirements":"2.40.1","direct":false,"kind":"runtime","optional":false},{"id":23694177992,"package_name":"google-cloud-bigquery","ecosystem":"pypi","requirements":"3.32.0","direct":false,"kind":"runtime","optional":false},{"id":23694177993,"package_name":"google-cloud-bigquery-storage","ecosystem":"pypi","requirements":"2.32.0","direct":false,"kind":"runtime","optional":false},{"id":23694177994,"package_name":"google-cloud-core","ecosystem":"pypi","requirements":"2.4.3","direct":false,"kind":"runtime","optional":false},{"id":23694177995,"package_name":"google-crc32c","ecosystem":"pypi","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":23694177996,"package_name":"google-resumable-media","ecosystem":"pypi","requirements":"2.7.2","direct":false,"kind":"runtime","optional":false},{"id":23694177997,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"1.70.0","direct":false,"kind":"runtime","optional":false},{"id":23694177998,"package_name":"greenlet","ecosystem":"pypi","requirements":"3.2.2","direct":false,"kind":"runtime","optional":false},{"id":23694177999,"package_name":"grpcio","ecosystem":"pypi","requirements":"1.71.0","direct":false,"kind":"runtime","optional":false},{"id":23694178000,"package_name":"grpcio-status","ecosystem":"pypi","requirements":"1.71.0","direct":false,"kind":"runtime","optional":false},{"id":23694178001,"package_name":"h11","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":23694178002,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":23694178003,"package_name":"httpx","ecosystem":"pypi","requirements":"0.28.1","direct":false,"kind":"runtime","optional":false},{"id":23694178004,"package_name":"httpx-sse","ecosystem":"pypi","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":23694178005,"package_name":"idna","ecosystem":"pypi","requirements":"3.10","direct":false,"kind":"runtime","optional":false},{"id":23694178006,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":23694178007,"package_name":"jellyfish","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":23694178008,"package_name":"jmespath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":23694178009,"package_name":"joblib","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":23694178010,"package_name":"mako","ecosystem":"pypi","requirements":"1.3.10","direct":false,"kind":"runtime","optional":false},{"id":23694178011,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":23694178012,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":23694178013,"package_name":"mcp","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":23694178014,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":23694178015,"package_name":"multidict","ecosystem":"pypi","requirements":"6.4.3","direct":false,"kind":"runtime","optional":false},{"id":23694178016,"package_name":"numpy","ecosystem":"pypi","requirements":"2.2.6","direct":false,"kind":"runtime","optional":false},{"id":23694178017,"package_name":"packaging","ecosystem":"pypi","requirements":"24.2","direct":false,"kind":"runtime","optional":false},{"id":23694178018,"package_name":"pandas","ecosystem":"pypi","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":23694178019,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.3.8","direct":false,"kind":"runtime","optional":false},{"id":23694178020,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":23694178021,"package_name":"propcache","ecosystem":"pypi","requirements":"0.3.1","direct":false,"kind":"runtime","optional":false},{"id":23694178022,"package_name":"proto-plus","ecosystem":"pypi","requirements":"1.26.1","direct":false,"kind":"runtime","optional":false},{"id":23694178023,"package_name":"protobuf","ecosystem":"pypi","requirements":"5.29.4","direct":false,"kind":"runtime","optional":false},{"id":23694178024,"package_name":"psycopg2","ecosystem":"pypi","requirements":"2.9.10","direct":false,"kind":"runtime","optional":false},{"id":23694178025,"package_name":"pyarrow","ecosystem":"pypi","requirements":"18.1.0","direct":false,"kind":"runtime","optional":false},{"id":23694178026,"package_name":"pyasn1","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":23694178027,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":23694178028,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.22","direct":false,"kind":"runtime","optional":false},{"id":23694178029,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.11.4","direct":false,"kind":"runtime","optional":false},{"id":23694178030,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.33.2","direct":false,"kind":"runtime","optional":false},{"id":23694178031,"package_name":"pydantic-settings","ecosystem":"pypi","requirements":"2.9.1","direct":false,"kind":"runtime","optional":false},{"id":23694178032,"package_name":"pygments","ecosystem":"pypi","requirements":"2.19.1","direct":false,"kind":"runtime","optional":false},{"id":23694178033,"package_name":"pyjwt","ecosystem":"pypi","requirements":"2.10.1","direct":false,"kind":"runtime","optional":false},{"id":23694178034,"package_name":"pymysql","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":23694178035,"package_name":"pyopenssl","ecosystem":"pypi","requirements":"25.1.0","direct":false,"kind":"runtime","optional":false},{"id":23694178036,"package_name":"pytest","ecosystem":"pypi","requirements":"8.3.5","direct":false,"kind":"runtime","optional":false},{"id":23694178037,"package_name":"pytest-asyncio","ecosystem":"pypi","requirements":"0.26.0","direct":false,"kind":"runtime","optional":false},{"id":23694178038,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":23694178039,"package_name":"python-decouple","ecosystem":"pypi","requirements":"3.8","direct":false,"kind":"runtime","optional":false},{"id":23694178040,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":23694178041,"package_name":"python-multipart","ecosystem":"pypi","requirements":"0.0.20","direct":false,"kind":"runtime","optional":false},{"id":23694178042,"package_name":"pytz","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":23694178043,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.3","direct":false,"kind":"runtime","optional":false},{"id":23694178044,"package_name":"rich","ecosystem":"pypi","requirements":"14.0.0","direct":false,"kind":"runtime","optional":false},{"id":23694178045,"package_name":"rsa","ecosystem":"pypi","requirements":"4.9.1","direct":false,"kind":"runtime","optional":false},{"id":23694178046,"package_name":"ruff","ecosystem":"pypi","requirements":"0.11.13","direct":false,"kind":"runtime","optional":false},{"id":23694178047,"package_name":"s3transfer","ecosystem":"pypi","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":23694178048,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":23694178049,"package_name":"scipy","ecosystem":"pypi","requirements":"1.15.3","direct":false,"kind":"runtime","optional":false},{"id":23694178050,"package_name":"shellingham","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"runtime","optional":false},{"id":23694178051,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":23694178052,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":23694178053,"package_name":"snowflake-connector-python","ecosystem":"pypi","requirements":"3.15.0","direct":false,"kind":"runtime","optional":false},{"id":23694178054,"package_name":"snowflake-sqlalchemy","ecosystem":"pypi","requirements":"1.7.3","direct":false,"kind":"runtime","optional":false},{"id":23694178055,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":23694178056,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"2.0.41","direct":false,"kind":"runtime","optional":false},{"id":23694178057,"package_name":"sqlalchemy-bigquery","ecosystem":"pypi","requirements":"1.14.1","direct":false,"kind":"runtime","optional":false},{"id":23694178058,"package_name":"sqlalchemy-utils","ecosystem":"pypi","requirements":"0.41.2","direct":false,"kind":"runtime","optional":false},{"id":23694178059,"package_name":"sse-starlette","ecosystem":"pypi","requirements":"2.3.5","direct":false,"kind":"runtime","optional":false},{"id":23694178060,"package_name":"starlette","ecosystem":"pypi","requirements":"0.46.2","direct":false,"kind":"runtime","optional":false},{"id":23694178061,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false},{"id":23694178062,"package_name":"tomlkit","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":23694178063,"package_name":"toolfront","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":23694178069,"package_name":"typer","ecosystem":"pypi","requirements":"0.15.4","direct":false,"kind":"runtime","optional":false},{"id":23694178070,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.13.2","direct":false,"kind":"runtime","optional":false},{"id":23694178071,"package_name":"typing-inspection","ecosystem":"pypi","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":23694178072,"package_name":"tzdata","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":23694178073,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":23694178074,"package_name":"uvicorn","ecosystem":"pypi","requirements":"0.34.2","direct":false,"kind":"runtime","optional":false},{"id":23694178075,"package_name":"yarl","ecosystem":"pypi","requirements":"1.20.0","direct":false,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2025-09-08T20:55:17.715Z","updated_at":"2025-10-07T08:28:01.203Z","avatar_url":"https://github.com/kruskal-labs.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":1055,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/78331","html_url":"https://science.ecosyste.ms/projects/78331"}