{"id":390024,"url":"https://github.com/KatherLab/ToolMaker","last_synced_at":"2026-10-24T22:32:56.530Z","repository":{"id":278458656,"uuid":"933726772","full_name":"KatherLab/ToolMaker","owner":"KatherLab","description":"Turn GitHub repositories into LLM tools. (ACL 2025)","archived":false,"fork":false,"pushed_at":"2025-05-16T22:33:33.000Z","size":2427,"stargazers_count":85,"open_issues_count":1,"forks_count":19,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-10-14T08:28:17.127Z","etag":null,"topics":["agents","function-calling","llm-agents","medicine","pathology","radiology","tool-creation","tool-use"],"latest_commit_sha":null,"homepage":"https://georg.woelflein.eu/toolmaker","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KatherLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-02-16T15:01:05.000Z","updated_at":"2026-10-14T04:32:04.000Z","dependencies_parsed_at":"2025-03-28T17:36:02.052Z","dependency_job_id":"f2e98610-a6a4-45bf-90d4-2b812a60f00a","html_url":"https://github.com/KatherLab/ToolMaker","commit_stats":null,"previous_names":["katherlab/toolmaker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KatherLab/ToolMaker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KatherLab","download_url":"https://codeload.github.com/KatherLab/ToolMaker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":345082042,"owners_count":38475281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-22T02:00:06.372Z","response_time":122,"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":"KatherLab","name":"Kather Lab at EKFZ / TU Dresden","uuid":"81960081","kind":"organization","description":"","email":null,"website":"www.kather.ai","location":"Germany","twitter":"jnkath","company":null,"icon_url":"https://avatars.githubusercontent.com/u/81960081?v=4","repositories_count":16,"last_synced_at":"2026-10-23T19:40:00.620Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/KatherLab","funding_links":[],"total_stars":null,"followers":251,"following":0,"created_at":"2022-11-16T02:04:59.316Z","updated_at":"2026-10-23T19:40:00.648Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KatherLab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KatherLab/repositories"},"packages":[],"commits":{"id":13849180,"full_name":"katherlab/toolmaker","default_branch":"main","total_commits":22,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":11.0,"dds":0.045454545454545414,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-10-23T19:32:50.060Z","last_synced_commit":"b0d883d9d6d047e01f4142d402491d109edabe02","created_at":"2026-10-18T06:46:18.803Z","updated_at":"2026-10-23T19:32:50.043Z","committers":[{"name":"Georg Wölflein","email":"georgw7777@gmail.com","login":"georg-wolflein","count":21},{"name":"pravintargaryen","email":"pravinmd94@gmail.com","login":"pravintargaryen","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/katherlab%2Ftoolmaker/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-24T00:00:24.146Z","repositories_count":8568332,"commits_count":1302858643,"contributors_count":59784023,"owners_count":1842616,"committers_count":3887139,"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":"KatherLab/ToolMaker","html_url":"https://github.com/KatherLab/ToolMaker","last_synced_at":"2026-10-23T19:32:52.271Z","status":null,"issues_count":1,"pull_requests_count":4,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":395189.0,"issues_closed_count":0,"pull_requests_closed_count":4,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":7.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":4,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2025-08-30T19:39:19.285Z","updated_at":"2026-10-23T19:32:52.271Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatherLab%2FToolMaker/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{"CONTRIBUTOR":1}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":2,"NONE":1,"COLLABORATOR":1}},"issue_authors":{"table":{"pravintargaryen":1}},"pull_request_authors":{"table":{"georg-wolflein":2,"pravintargaryen":2}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-24T00:00:07.219Z","repositories_count":18200028,"issues_count":49067859,"pull_requests_count":151047267,"authors_count":12105700,"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":{}},"past_year_issue_author_associations_count":{"table":{}},"past_year_pull_request_author_associations_count":{"table":{}},"past_year_issue_authors":{"table":{}},"past_year_pull_request_authors":{"table":{}},"maintainers":[{"table":{"login":"georg-wolflein","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/georg-wolflein"}}],"active_maintainers":[]}},"events":{"total":{"CreateEvent":2,"DeleteEvent":1,"ForkEvent":6,"IssueCommentEvent":5,"PullRequestEvent":4,"PushEvent":33,"WatchEvent":41},"last_year":{"ForkEvent":1,"WatchEvent":6}},"keywords":["agents","function-calling","llm-agents","medicine","pathology","radiology","tool-creation","tool-use"],"dependencies":[{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2025-02-19T22:38:01.597Z","updated_at":"2025-02-19T22:38:01.597Z","repository_link":"https://github.com/KatherLab/ToolMaker/blob/main/pyproject.toml","dependencies":[{"id":21950263873,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"\u003e=4.12.3","direct":true,"kind":"runtime","optional":false},{"id":21950263874,"package_name":"docker","ecosystem":"pypi","requirements":"\u003e=7.1.0","direct":true,"kind":"runtime","optional":false},{"id":21950263875,"package_name":"fastapi","ecosystem":"pypi","requirements":"\u003e=0.115.2","direct":true,"kind":"runtime","optional":false},{"id":21950263876,"package_name":"gdown","ecosystem":"pypi","requirements":"\u003e=5.2.0","direct":true,"kind":"runtime","optional":false},{"id":21950263877,"package_name":"jinja2","ecosystem":"pypi","requirements":"\u003e=3.1.4","direct":true,"kind":"runtime","optional":false},{"id":21950263878,"package_name":"litellm","ecosystem":"pypi","requirements":"\u003e=1.60.8","direct":true,"kind":"runtime","optional":false},{"id":21950263879,"package_name":"loguru","ecosystem":"pypi","requirements":"\u003e=0.7.2","direct":true,"kind":"runtime","optional":false},{"id":21950263880,"package_name":"markdown","ecosystem":"pypi","requirements":"\u003e=3.7","direct":true,"kind":"runtime","optional":false},{"id":21950263881,"package_name":"markupsafe","ecosystem":"pypi","requirements":"\u003e=3.0.2","direct":true,"kind":"runtime","optional":false},{"id":21950263882,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.10.0","direct":true,"kind":"runtime","optional":false},{"id":21950263883,"package_name":"nbconvert","ecosystem":"pypi","requirements":"\u003e=7.16.4","direct":true,"kind":"runtime","optional":false},{"id":21950263884,"package_name":"nbformat","ecosystem":"pypi","requirements":"\u003e=5.10.4","direct":true,"kind":"runtime","optional":false},{"id":21950263885,"package_name":"networkx","ecosystem":"pypi","requirements":"\u003e=3.4.2","direct":true,"kind":"runtime","optional":false},{"id":21950263886,"package_name":"openai","ecosystem":"pypi","requirements":"\u003e=1.58.1","direct":true,"kind":"runtime","optional":false},{"id":21950263887,"package_name":"pydantic","ecosystem":"pypi","requirements":"\u003e=2.9.2","direct":true,"kind":"runtime","optional":false},{"id":21950263888,"package_name":"pydot","ecosystem":"pypi","requirements":"\u003e=3.0.4","direct":true,"kind":"runtime","optional":false},{"id":21950263889,"package_name":"pyte","ecosystem":"pypi","requirements":"\u003e=0.8.2","direct":true,"kind":"runtime","optional":false},{"id":21950263932,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"\u003e=1.0.1","direct":true,"kind":"runtime","optional":false},{"id":21950263933,"package_name":"pyyaml","ecosystem":"pypi","requirements":"\u003e=6.0.2","direct":true,"kind":"runtime","optional":false},{"id":21950263934,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.32.3","direct":true,"kind":"runtime","optional":false},{"id":21950263935,"package_name":"tenacity","ecosystem":"pypi","requirements":"\u003e=9.0.0","direct":true,"kind":"runtime","optional":false},{"id":21950263936,"package_name":"typer","ecosystem":"pypi","requirements":"\u003e=0.15.1","direct":true,"kind":"runtime","optional":false},{"id":21950263937,"package_name":"uvicorn","ecosystem":"pypi","requirements":"\u003e=0.32.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2025-02-19T22:38:01.897Z","updated_at":"2025-02-19T22:38:01.897Z","repository_link":"https://github.com/KatherLab/ToolMaker/blob/main/uv.lock","dependencies":[{"id":21950263938,"package_name":"aiohappyeyeballs","ecosystem":"pypi","requirements":"2.4.4","direct":false,"kind":"runtime","optional":false},{"id":21950263939,"package_name":"aiohttp","ecosystem":"pypi","requirements":"3.11.11","direct":false,"kind":"runtime","optional":false},{"id":21950263940,"package_name":"aiosignal","ecosystem":"pypi","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":21950263941,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":21950263942,"package_name":"anyio","ecosystem":"pypi","requirements":"4.8.0","direct":false,"kind":"runtime","optional":false},{"id":21950263943,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":21950263944,"package_name":"asttokens","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":21950263945,"package_name":"attrs","ecosystem":"pypi","requirements":"24.3.0","direct":false,"kind":"runtime","optional":false},{"id":21950263946,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.12.3","direct":false,"kind":"runtime","optional":false},{"id":21950263947,"package_name":"bleach","ecosystem":"pypi","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":21950263948,"package_name":"certifi","ecosystem":"pypi","requirements":"2024.12.14","direct":false,"kind":"runtime","optional":false},{"id":21950263949,"package_name":"cffi","ecosystem":"pypi","requirements":"1.17.1","direct":false,"kind":"runtime","optional":false},{"id":21950263950,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.1","direct":false,"kind":"runtime","optional":false},{"id":21950263951,"package_name":"click","ecosystem":"pypi","requirements":"8.1.8","direct":false,"kind":"runtime","optional":false},{"id":21950263952,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":21950263953,"package_name":"comm","ecosystem":"pypi","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":21950263954,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":21950263955,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":21950263956,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.8.12","direct":false,"kind":"runtime","optional":false},{"id":21950263957,"package_name":"decorator","ecosystem":"pypi","requirements":"5.1.1","direct":false,"kind":"runtime","optional":false},{"id":21950263958,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":21950263959,"package_name":"distro","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":21950263960,"package_name":"docker","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":21950263961,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":21950263962,"package_name":"executing","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":21950263963,"package_name":"fastapi","ecosystem":"pypi","requirements":"0.115.7","direct":false,"kind":"runtime","optional":false},{"id":21950263964,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.21.1","direct":false,"kind":"runtime","optional":false},{"id":21950263965,"package_name":"filelock","ecosystem":"pypi","requirements":"3.17.0","direct":false,"kind":"runtime","optional":false},{"id":21950263966,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.55.5","direct":false,"kind":"runtime","optional":false},{"id":21950263967,"package_name":"frozenlist","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":21950263968,"package_name":"fsspec","ecosystem":"pypi","requirements":"2024.12.0","direct":false,"kind":"runtime","optional":false},{"id":21950263969,"package_name":"gdown","ecosystem":"pypi","requirements":"5.2.0","direct":false,"kind":"runtime","optional":false},{"id":21950263970,"package_name":"h11","ecosystem":"pypi","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":21950263971,"package_name":"h5py","ecosystem":"pypi","requirements":"3.12.1","direct":false,"kind":"runtime","optional":false},{"id":21950263972,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.7","direct":false,"kind":"runtime","optional":false},{"id":21950263973,"package_name":"httpx","ecosystem":"pypi","requirements":"0.27.2","direct":false,"kind":"runtime","optional":false},{"id":21950263974,"package_name":"huggingface-hub","ecosystem":"pypi","requirements":"0.27.1","direct":false,"kind":"runtime","optional":false},{"id":21950263975,"package_name":"idna","ecosystem":"pypi","requirements":"3.10","direct":false,"kind":"runtime","optional":false},{"id":21950263976,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"8.6.1","direct":false,"kind":"runtime","optional":false},{"id":21950263977,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":21950263978,"package_name":"ipykernel","ecosystem":"pypi","requirements":"6.29.5","direct":false,"kind":"runtime","optional":false},{"id":21950263979,"package_name":"ipython","ecosystem":"pypi","requirements":"8.31.0","direct":false,"kind":"runtime","optional":false},{"id":21950263980,"package_name":"jedi","ecosystem":"pypi","requirements":"0.19.2","direct":false,"kind":"runtime","optional":false},{"id":21950263981,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":21950263982,"package_name":"jiter","ecosystem":"pypi","requirements":"0.8.2","direct":false,"kind":"runtime","optional":false},{"id":21950263983,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.23.0","direct":false,"kind":"runtime","optional":false},{"id":21950263984,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2024.10.1","direct":false,"kind":"runtime","optional":false},{"id":21950263985,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"8.6.3","direct":false,"kind":"runtime","optional":false},{"id":21950263986,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.7.2","direct":false,"kind":"runtime","optional":false},{"id":21950263987,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":21950263988,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.8","direct":false,"kind":"runtime","optional":false},{"id":21950263989,"package_name":"litellm","ecosystem":"pypi","requirements":"1.60.8","direct":false,"kind":"runtime","optional":false},{"id":21950263990,"package_name":"loguru","ecosystem":"pypi","requirements":"0.7.3","direct":false,"kind":"runtime","optional":false},{"id":21950263991,"package_name":"markdown","ecosystem":"pypi","requirements":"3.7","direct":false,"kind":"runtime","optional":false},{"id":21950263992,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":21950263993,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":21950263994,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.10.0","direct":false,"kind":"runtime","optional":false},{"id":21950263995,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.1.7","direct":false,"kind":"runtime","optional":false},{"id":21950263996,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":21950263997,"package_name":"mistune","ecosystem":"pypi","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":21950263998,"package_name":"multidict","ecosystem":"pypi","requirements":"6.1.0","direct":false,"kind":"runtime","optional":false},{"id":21950263999,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.10.2","direct":false,"kind":"runtime","optional":false},{"id":21950264000,"package_name":"nbconvert","ecosystem":"pypi","requirements":"7.16.5","direct":false,"kind":"runtime","optional":false},{"id":21950264001,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.10.4","direct":false,"kind":"runtime","optional":false},{"id":21950264002,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":21950264003,"package_name":"networkx","ecosystem":"pypi","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":21950264004,"package_name":"numpy","ecosystem":"pypi","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":21950264005,"package_name":"openai","ecosystem":"pypi","requirements":"1.61.1","direct":false,"kind":"runtime","optional":false},{"id":21950264006,"package_name":"openpyxl","ecosystem":"pypi","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":21950264007,"package_name":"packaging","ecosystem":"pypi","requirements":"24.2","direct":false,"kind":"runtime","optional":false},{"id":21950264008,"package_name":"pandas","ecosystem":"pypi","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":21950264009,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":21950264010,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.4","direct":false,"kind":"runtime","optional":false},{"id":21950264011,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":21950264012,"package_name":"pillow","ecosystem":"pypi","requirements":"11.1.0","direct":false,"kind":"runtime","optional":false},{"id":21950264013,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.3.6","direct":false,"kind":"runtime","optional":false},{"id":21950264014,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":21950264015,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.50","direct":false,"kind":"runtime","optional":false},{"id":21950264016,"package_name":"propcache","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":21950264017,"package_name":"psutil","ecosystem":"pypi","requirements":"6.1.1","direct":false,"kind":"runtime","optional":false},{"id":21950264018,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":21950264019,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":21950264020,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.22","direct":false,"kind":"runtime","optional":false},{"id":21950264021,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.10.5","direct":false,"kind":"runtime","optional":false},{"id":21950264022,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.27.2","direct":false,"kind":"runtime","optional":false},{"id":21950264023,"package_name":"pydot","ecosystem":"pypi","requirements":"3.0.4","direct":false,"kind":"runtime","optional":false},{"id":21950264024,"package_name":"pygments","ecosystem":"pypi","requirements":"2.19.1","direct":false,"kind":"runtime","optional":false},{"id":21950264025,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.2.1","direct":false,"kind":"runtime","optional":false},{"id":21950264026,"package_name":"pysocks","ecosystem":"pypi","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":21950264027,"package_name":"pyte","ecosystem":"pypi","requirements":"0.8.2","direct":false,"kind":"runtime","optional":false},{"id":21950264028,"package_name":"pytest","ecosystem":"pypi","requirements":"8.3.4","direct":false,"kind":"runtime","optional":false},{"id":21950264029,"package_name":"pytest-asyncio","ecosystem":"pypi","requirements":"0.25.2","direct":false,"kind":"runtime","optional":false},{"id":21950264030,"package_name":"pytest-lazy-fixtures","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":21950264031,"package_name":"pytest-mock","ecosystem":"pypi","requirements":"3.14.0","direct":false,"kind":"runtime","optional":false},{"id":21950264032,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":21950264033,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":21950264034,"package_name":"pytz","ecosystem":"pypi","requirements":"2024.2","direct":false,"kind":"runtime","optional":false},{"id":21950264035,"package_name":"pywin32","ecosystem":"pypi","requirements":"308","direct":false,"kind":"runtime","optional":false},{"id":21950264036,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.2","direct":false,"kind":"runtime","optional":false},{"id":21950264037,"package_name":"pyzmq","ecosystem":"pypi","requirements":"26.2.0","direct":false,"kind":"runtime","optional":false},{"id":21950264038,"package_name":"referencing","ecosystem":"pypi","requirements":"0.36.1","direct":false,"kind":"runtime","optional":false},{"id":21950264039,"package_name":"regex","ecosystem":"pypi","requirements":"2024.11.6","direct":false,"kind":"runtime","optional":false},{"id":21950264040,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.3","direct":false,"kind":"runtime","optional":false},{"id":21950264041,"package_name":"rich","ecosystem":"pypi","requirements":"13.9.4","direct":false,"kind":"runtime","optional":false},{"id":21950264042,"package_name":"rpds-py","ecosystem":"pypi","requirements":"0.22.3","direct":false,"kind":"runtime","optional":false},{"id":21950264043,"package_name":"shellingham","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"runtime","optional":false},{"id":21950264044,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":21950264045,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":21950264046,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.6","direct":false,"kind":"runtime","optional":false},{"id":21950264047,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":21950264048,"package_name":"starlette","ecosystem":"pypi","requirements":"0.45.2","direct":false,"kind":"runtime","optional":false},{"id":21950264049,"package_name":"tenacity","ecosystem":"pypi","requirements":"9.0.0","direct":false,"kind":"runtime","optional":false},{"id":21950264050,"package_name":"tiktoken","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":21950264051,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":21950264052,"package_name":"tokenizers","ecosystem":"pypi","requirements":"0.21.0","direct":false,"kind":"runtime","optional":false},{"id":21950264053,"package_name":"toolmaker","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":21950264055,"package_name":"tornado","ecosystem":"pypi","requirements":"6.4.2","direct":false,"kind":"runtime","optional":false},{"id":21950264056,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.67.1","direct":false,"kind":"runtime","optional":false},{"id":21950264057,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.14.3","direct":false,"kind":"runtime","optional":false},{"id":21950264058,"package_name":"typer","ecosystem":"pypi","requirements":"0.15.1","direct":false,"kind":"runtime","optional":false},{"id":21950264059,"package_name":"types-beautifulsoup4","ecosystem":"pypi","requirements":"4.12.0.20241020","direct":false,"kind":"runtime","optional":false},{"id":21950264066,"package_name":"types-html5lib","ecosystem":"pypi","requirements":"1.1.11.20241018","direct":false,"kind":"runtime","optional":false},{"id":21950264067,"package_name":"types-markdown","ecosystem":"pypi","requirements":"3.7.0.20241204","direct":false,"kind":"runtime","optional":false},{"id":21950264073,"package_name":"types-pyyaml","ecosystem":"pypi","requirements":"6.0.12.20241230","direct":false,"kind":"runtime","optional":false},{"id":21950264074,"package_name":"types-requests","ecosystem":"pypi","requirements":"2.32.0.20241016","direct":false,"kind":"runtime","optional":false},{"id":21950264075,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.12.2","direct":false,"kind":"runtime","optional":false},{"id":21950264076,"package_name":"tzdata","ecosystem":"pypi","requirements":"2025.1","direct":false,"kind":"runtime","optional":false},{"id":21950264077,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":21950264078,"package_name":"uvicorn","ecosystem":"pypi","requirements":"0.34.0","direct":false,"kind":"runtime","optional":false},{"id":21950264079,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.13","direct":false,"kind":"runtime","optional":false},{"id":21950264080,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":21950264081,"package_name":"win32-setctime","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":21950264082,"package_name":"yarl","ecosystem":"pypi","requirements":"1.18.3","direct":false,"kind":"runtime","optional":false},{"id":21950264083,"package_name":"zipp","ecosystem":"pypi","requirements":"3.21.0","direct":false,"kind":"runtime","optional":false}]}],"score":5.147494476813453,"created_at":"2026-10-22T16:16:04.726Z","updated_at":"2026-10-24T22:32:56.530Z","avatar_url":"https://github.com/KatherLab.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/390024","html_url":"https://summary.ecosyste.ms/projects/390024"}