{"id":371860,"url":"https://github.com/slamer59/mcp-python-refactoring","last_synced_at":"2026-08-25T14:04:06.535Z","repository":{"id":312536766,"uuid":"1047840381","full_name":"slamer59/mcp-python-refactoring","owner":"slamer59","description":null,"archived":false,"fork":false,"pushed_at":"2026-07-29T15:56:49.000Z","size":403,"stargazers_count":13,"open_issues_count":3,"forks_count":6,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-08-06T10:38:22.375Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slamer59.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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2025-08-31T11:02:23.000Z","updated_at":"2026-07-29T15:58:22.000Z","dependencies_parsed_at":"2026-08-06T04:39:19.072Z","dependency_job_id":"3d6a49b1-2d9b-4627-a7af-8099c951c2ee","html_url":"https://github.com/slamer59/mcp-python-refactoring","commit_stats":null,"previous_names":["slamer59/mcp-python-refactoring"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/slamer59/mcp-python-refactoring","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamer59","download_url":"https://codeload.github.com/slamer59/mcp-python-refactoring/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36345966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"slamer59","name":"Thomas PEDOT","uuid":"25283272","kind":"user","description":"","email":"","website":null,"location":"Toulouse, FRANCE","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/25283272?u=319338f4c3e5e983f4b8c83e1e65674c2f0cdbd9\u0026v=4","repositories_count":44,"last_synced_at":"2024-04-16T01:19:59.538Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/slamer59","funding_links":[],"total_stars":8,"followers":8,"following":10,"created_at":"2023-08-24T17:14:10.618Z","updated_at":"2024-04-16T01:20:01.225Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamer59","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamer59/repositories"},"packages":[{"id":12057482,"name":"mcp-python-refactoring","ecosystem":"pypi","description":"MCP tool to guide Python code refactoring without automatic changes","homepage":"https://github.com/slamer59/mcp-python-refactoring","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/slamer59/mcp-python-refactoring","keywords_array":["ai-assistant","code-analysis","mcp","python","refactoring"],"namespace":null,"versions_count":1,"first_release_published_at":"2025-08-31T11:21:12.000Z","latest_release_published_at":"2025-08-31T11:21:12.000Z","latest_release_number":"0.1.0","last_synced_at":"2026-08-24T13:34:36.360Z","created_at":"2025-08-31T11:31:12.330Z","updated_at":"2026-08-24T13:34:36.366Z","registry_url":"https://pypi.org/project/mcp-python-refactoring/","install_command":"pip install mcp-python-refactoring --index-url https://pypi.org/simple","documentation_url":"https://mcp-python-refactoring.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 4 - Beta","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.13","Topic :: Software Development :: Code Generators","Topic :: Software Development :: Quality Assurance"],"normalized_name":"mcp-python-refactoring","project_status":null},"repo_metadata":{"id":312536766,"uuid":"1047840381","full_name":"slamer59/mcp-python-refactoring","owner":"slamer59","description":null,"archived":false,"fork":false,"pushed_at":"2026-07-29T15:56:49.000Z","size":403,"stargazers_count":13,"open_issues_count":3,"forks_count":6,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-08-06T10:38:22.375Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slamer59.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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2025-08-31T11:02:23.000Z","updated_at":"2026-07-29T15:58:22.000Z","dependencies_parsed_at":"2026-08-06T04:39:19.072Z","dependency_job_id":"3d6a49b1-2d9b-4627-a7af-8099c951c2ee","html_url":"https://github.com/slamer59/mcp-python-refactoring","commit_stats":null,"previous_names":["slamer59/mcp-python-refactoring"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/slamer59/mcp-python-refactoring","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamer59","download_url":"https://codeload.github.com/slamer59/mcp-python-refactoring/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36345966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"slamer59","name":"Thomas PEDOT","uuid":"25283272","kind":"user","description":"","email":"","website":null,"location":"Toulouse, FRANCE","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/25283272?u=319338f4c3e5e983f4b8c83e1e65674c2f0cdbd9\u0026v=4","repositories_count":44,"last_synced_at":"2024-04-16T01:19:59.538Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/slamer59","funding_links":[],"total_stars":8,"followers":8,"following":10,"created_at":"2023-08-24T17:14:10.618Z","updated_at":"2024-04-16T01:20:01.225Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamer59","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamer59/repositories"},"tags":[{"name":"v1.0.0","sha":"f00bfcaafc2abc7bab4f2f014fca9b87ed66471e","kind":"commit","published_at":"2025-08-31T11:02:17.000Z","download_url":"https://codeload.github.com/slamer59/mcp-python-refactoring/tar.gz/v1.0.0","html_url":"https://github.com/slamer59/mcp-python-refactoring/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/slamer59/mcp-python-refactoring@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-08-23T13:46:02.713Z","dependent_packages_count":0,"downloads":39,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":48.56513088164889,"dependent_packages_count":8.618208585969,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":28.591669733808946},"purl":"pkg:pypi/mcp-python-refactoring","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/mcp-python-refactoring","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/mcp-python-refactoring","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/mcp-python-refactoring/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-23T13:03:40.853Z","issues_count":1,"pull_requests_count":5,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":957205.6666666666,"issues_closed_count":0,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":1,"bot_issues_count":1,"bot_pull_requests_count":5,"past_year_issues_count":1,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":957205.6666666666,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"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":1,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mcp-python-refactoring/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mcp-python-refactoring/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mcp-python-refactoring/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mcp-python-refactoring/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mcp-python-refactoring/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mcp-python-refactoring/codemeta","maintainers":[{"uuid":"Teepeetlse","login":"Teepeetlse","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/Teepeetlse/","role":"Owner","created_at":"2025-08-31T12:11:25.730Z","updated_at":"2025-08-31T12:11:25.730Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Teepeetlse/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930641,"maintainers_count":399816,"namespaces_count":0,"keywords_count":311995,"github":"pypi","metadata":{"funded_packages_count":58611,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-25T05:06:24.344Z","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":11391814,"full_name":"slamer59/mcp-python-refactoring","default_branch":"master","total_commits":29,"total_committers":2,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":14.5,"dds":0.03448275862068961,"past_year_total_commits":29,"past_year_total_committers":2,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":14.5,"past_year_dds":0.03448275862068961,"last_synced_at":"2026-08-19T11:04:28.773Z","last_synced_commit":"af9d508d1f7d92c41897aac2723aa89073f0a645","created_at":"2025-09-28T13:10:55.033Z","updated_at":"2026-08-19T11:04:27.685Z","committers":[{"name":"Thomas PEDOT","email":"thomas.pedot@gmail.com","login":"slamer59","count":28},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":1}],"past_year_committers":[{"name":"Thomas PEDOT","email":"thomas.pedot@gmail.com","login":"slamer59","count":28},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-20T00:00:10.776Z","repositories_count":6752313,"commits_count":978410056,"contributors_count":41242979,"owners_count":1359078,"committers_count":3353170,"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":"slamer59/mcp-python-refactoring","html_url":"https://github.com/slamer59/mcp-python-refactoring","last_synced_at":"2026-08-24T13:33:44.480Z","status":null,"issues_count":1,"pull_requests_count":5,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":957205.6666666666,"issues_closed_count":0,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":1,"bot_issues_count":1,"bot_pull_requests_count":5,"past_year_issues_count":1,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":957205.6666666666,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"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":1,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":1,"created_at":"2026-04-19T08:22:04.094Z","updated_at":"2026-08-24T13:33:44.480Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamer59%2Fmcp-python-refactoring/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{"CONTRIBUTOR":1}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":5}},"issue_authors":{"table":{"renovate[bot]":1}},"pull_request_authors":{"table":{"renovate[bot]":5}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-25T00:00:09.459Z","repositories_count":16355184,"issues_count":42497104,"pull_requests_count":136066256,"authors_count":11525578,"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":{"CONTRIBUTOR":1}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":5}},"past_year_issue_authors":{"table":{"renovate[bot]":1}},"past_year_pull_request_authors":{"table":{"renovate[bot]":5}},"maintainers":[],"active_maintainers":[]}},"events":{"total":{"PullRequestEvent":1,"ForkEvent":2,"WatchEvent":6,"PushEvent":14,"CreateEvent":3},"last_year":{"PullRequestEvent":1,"ForkEvent":2,"WatchEvent":6,"PushEvent":14,"CreateEvent":3}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"tests/fixtures/security_test_code/requirements_vulnerable.txt","sha":null,"kind":"manifest","created_at":"2026-08-06T04:39:18.498Z","updated_at":"2026-08-06T04:39:18.498Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/tests/fixtures/security_test_code/requirements_vulnerable.txt","dependencies":[{"id":25904868700,"package_name":"requests","ecosystem":"pypi","requirements":"==2.25.1","direct":true,"kind":"test","optional":false},{"id":25904868701,"package_name":"Pillow","ecosystem":"pypi","requirements":"==8.0.0","direct":true,"kind":"test","optional":false},{"id":25904868702,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.1","direct":true,"kind":"test","optional":false},{"id":25904868703,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==2.10.1","direct":true,"kind":"test","optional":false},{"id":25904868704,"package_name":"Django","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"test","optional":false},{"id":25904868705,"package_name":"Flask","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"test","optional":false},{"id":25904868706,"package_name":"cryptography","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"test","optional":false},{"id":25904868707,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.25.8","direct":true,"kind":"test","optional":false},{"id":25904868708,"package_name":"setuptools","ecosystem":"pypi","requirements":"==50.0.0","direct":true,"kind":"test","optional":false},{"id":25904868709,"package_name":"lxml","ecosystem":"pypi","requirements":"==4.5.0","direct":true,"kind":"test","optional":false}]},{"ecosystem":"npm","filepath":"bun.lock","sha":null,"kind":"lockfile","created_at":"2026-08-06T04:39:16.461Z","updated_at":"2026-08-06T04:39:16.461Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/bun.lock","dependencies":[{"id":25904867977,"package_name":"@hono/node-server","ecosystem":"npm","requirements":"1.19.14","direct":false,"kind":"runtime","optional":false},{"id":25904867978,"package_name":"@modelcontextprotocol/sdk","ecosystem":"npm","requirements":"1.29.0","direct":false,"kind":"runtime","optional":false},{"id":25904867979,"package_name":"accepts","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904867980,"package_name":"ajv","ecosystem":"npm","requirements":"8.20.0","direct":false,"kind":"runtime","optional":false},{"id":25904867981,"package_name":"ajv-formats","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904867982,"package_name":"body-parser","ecosystem":"npm","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":25904867983,"package_name":"bytes","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904867984,"package_name":"call-bind-apply-helpers","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904867985,"package_name":"call-bound","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":25904867986,"package_name":"content-disposition","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904867987,"package_name":"content-type","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":25904867988,"package_name":"cookie","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":25904867989,"package_name":"cookie-signature","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":25904867990,"package_name":"cors","ecosystem":"npm","requirements":"2.8.6","direct":false,"kind":"runtime","optional":false},{"id":25904867991,"package_name":"cross-spawn","ecosystem":"npm","requirements":"7.0.6","direct":false,"kind":"runtime","optional":false},{"id":25904867992,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"runtime","optional":false},{"id":25904867993,"package_name":"depd","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904867994,"package_name":"dunder-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904867995,"package_name":"ee-first","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904867996,"package_name":"encodeurl","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904867997,"package_name":"es-define-property","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904867998,"package_name":"es-errors","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25904867999,"package_name":"es-object-atoms","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868000,"package_name":"escape-html","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":25904868016,"package_name":"etag","ecosystem":"npm","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":25904868017,"package_name":"eventsource","ecosystem":"npm","requirements":"3.0.7","direct":false,"kind":"runtime","optional":false},{"id":25904868018,"package_name":"eventsource-parser","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868019,"package_name":"express","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":25904868020,"package_name":"express-rate-limit","ecosystem":"npm","requirements":"8.5.2","direct":false,"kind":"runtime","optional":false},{"id":25904868021,"package_name":"fast-deep-equal","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"runtime","optional":false},{"id":25904868034,"package_name":"fast-uri","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868035,"package_name":"finalhandler","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904868036,"package_name":"forwarded","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868037,"package_name":"fresh","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868038,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868061,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25904868062,"package_name":"get-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868063,"package_name":"gopd","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868102,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868103,"package_name":"hasown","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":25904868104,"package_name":"hono","ecosystem":"npm","requirements":"4.12.23","direct":false,"kind":"runtime","optional":false},{"id":25904868105,"package_name":"http-errors","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868158,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":25904868159,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":25904868160,"package_name":"ip-address","ecosystem":"npm","requirements":"10.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868161,"package_name":"ipaddr.js","ecosystem":"npm","requirements":"1.9.1","direct":false,"kind":"runtime","optional":false},{"id":25904868162,"package_name":"is-promise","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868163,"package_name":"isexe","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868164,"package_name":"jose","ecosystem":"npm","requirements":"6.2.3","direct":false,"kind":"runtime","optional":false},{"id":25904868165,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868166,"package_name":"json-schema-typed","ecosystem":"npm","requirements":"8.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868167,"package_name":"math-intrinsics","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868168,"package_name":"media-typer","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868169,"package_name":"merge-descriptors","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868170,"package_name":"mime-db","ecosystem":"npm","requirements":"1.54.0","direct":false,"kind":"runtime","optional":false},{"id":25904868171,"package_name":"mime-types","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868172,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":25904868173,"package_name":"negotiator","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868174,"package_name":"object-assign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904868175,"package_name":"object-inspect","ecosystem":"npm","requirements":"1.13.4","direct":false,"kind":"runtime","optional":false},{"id":25904868178,"package_name":"on-finished","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":25904868179,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":25904868180,"package_name":"parseurl","ecosystem":"npm","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":25904868291,"package_name":"path-key","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904868292,"package_name":"path-to-regexp","ecosystem":"npm","requirements":"8.4.2","direct":false,"kind":"runtime","optional":false},{"id":25904868293,"package_name":"pkce-challenge","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868294,"package_name":"proxy-addr","ecosystem":"npm","requirements":"2.0.7","direct":false,"kind":"runtime","optional":false},{"id":25904868295,"package_name":"qs","ecosystem":"npm","requirements":"6.15.2","direct":false,"kind":"runtime","optional":false},{"id":25904868296,"package_name":"range-parser","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":25904868297,"package_name":"raw-body","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868298,"package_name":"require-from-string","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868299,"package_name":"router","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868300,"package_name":"safer-buffer","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868301,"package_name":"send","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":25904868302,"package_name":"serve-static","ecosystem":"npm","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":25904868303,"package_name":"setprototypeof","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868305,"package_name":"shebang-command","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868317,"package_name":"shebang-regex","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868318,"package_name":"side-channel","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868319,"package_name":"side-channel-list","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868320,"package_name":"side-channel-map","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868321,"package_name":"side-channel-weakmap","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868322,"package_name":"statuses","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868323,"package_name":"toidentifier","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868324,"package_name":"type-is","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868325,"package_name":"unpipe","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868326,"package_name":"vary","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868327,"package_name":"which","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868328,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868329,"package_name":"zod","ecosystem":"npm","requirements":"3.25.76","direct":false,"kind":"runtime","optional":false},{"id":25904868330,"package_name":"zod-to-json-schema","ecosystem":"npm","requirements":"3.25.2","direct":false,"kind":"runtime","optional":false},{"id":25904868331,"package_name":"http-errors","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868332,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":25904868333,"package_name":"raw-body","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868334,"package_name":"statuses","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":25904868335,"package_name":"content-type","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2026-08-06T04:39:17.561Z","updated_at":"2026-08-06T04:39:17.561Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/package.json","dependencies":[{"id":25904868460,"package_name":"@modelcontextprotocol/sdk","ecosystem":"npm","requirements":"^1.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yml","sha":null,"kind":"manifest","created_at":"2026-08-06T04:39:16.302Z","updated_at":"2026-08-06T04:39:16.302Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/.github/workflows/publish.yml","dependencies":[{"id":25904867939,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25904867956,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25904867957,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v8.1.0","direct":true,"kind":"composite","optional":false},{"id":25904867958,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-06T04:39:18.681Z","updated_at":"2026-08-06T04:39:18.681Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/uv.lock","dependencies":[{"id":25904868765,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":25904868766,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":25904868767,"package_name":"anyio","ecosystem":"pypi","requirements":"4.14.2","direct":false,"kind":"runtime","optional":false},{"id":25904868768,"package_name":"ast-serialize","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":25904868769,"package_name":"attrs","ecosystem":"pypi","requirements":"26.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868770,"package_name":"bandit","ecosystem":"pypi","requirements":"1.9.4","direct":false,"kind":"runtime","optional":false},{"id":25904868771,"package_name":"boolean-py","ecosystem":"pypi","requirements":"5.0","direct":false,"kind":"runtime","optional":false},{"id":25904868772,"package_name":"cachecontrol","ecosystem":"pypi","requirements":"0.14.4","direct":false,"kind":"runtime","optional":false},{"id":25904868773,"package_name":"certifi","ecosystem":"pypi","requirements":"2026.7.22","direct":false,"kind":"runtime","optional":false},{"id":25904868774,"package_name":"cffi","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868775,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.9","direct":false,"kind":"runtime","optional":false},{"id":25904868776,"package_name":"click","ecosystem":"pypi","requirements":"8.4.2","direct":false,"kind":"runtime","optional":false},{"id":25904868777,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":25904868778,"package_name":"complexipy","ecosystem":"pypi","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868779,"package_name":"coverage","ecosystem":"pypi","requirements":"7.15.2","direct":false,"kind":"runtime","optional":false},{"id":25904868780,"package_name":"cryptography","ecosystem":"pypi","requirements":"49.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868781,"package_name":"cyclonedx-python-lib","ecosystem":"pypi","requirements":"11.11.0","direct":false,"kind":"runtime","optional":false},{"id":25904868782,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":25904868801,"package_name":"duckdb","ecosystem":"pypi","requirements":"1.5.5","direct":false,"kind":"runtime","optional":false},{"id":25904868802,"package_name":"execnet","ecosystem":"pypi","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868803,"package_name":"fastapi","ecosystem":"pypi","requirements":"0.141.0","direct":false,"kind":"runtime","optional":false},{"id":25904868804,"package_name":"filelock","ecosystem":"pypi","requirements":"3.32.0","direct":false,"kind":"runtime","optional":false},{"id":25904868805,"package_name":"h11","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":25904868806,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":25904868807,"package_name":"httpx","ecosystem":"pypi","requirements":"0.28.1","direct":false,"kind":"runtime","optional":false},{"id":25904868808,"package_name":"httpx-sse","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"runtime","optional":false},{"id":25904868809,"package_name":"idna","ecosystem":"pypi","requirements":"3.18","direct":false,"kind":"runtime","optional":false},{"id":25904868810,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":25904868811,"package_name":"jedi","ecosystem":"pypi","requirements":"0.20.0","direct":false,"kind":"runtime","optional":false},{"id":25904868812,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.26.0","direct":false,"kind":"runtime","optional":false},{"id":25904868813,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2025.9.1","direct":false,"kind":"runtime","optional":false},{"id":25904868814,"package_name":"libcst","ecosystem":"pypi","requirements":"1.8.6","direct":false,"kind":"runtime","optional":false},{"id":25904868815,"package_name":"librt","ecosystem":"pypi","requirements":"0.13.0","direct":false,"kind":"runtime","optional":false},{"id":25904868816,"package_name":"license-expression","ecosystem":"pypi","requirements":"30.4.4","direct":false,"kind":"runtime","optional":false},{"id":25904868817,"package_name":"mando","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":25904868818,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868819,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25904868820,"package_name":"mcp","ecosystem":"pypi","requirements":"1.29.0","direct":false,"kind":"runtime","optional":false},{"id":25904868821,"package_name":"mcp-python-refactoring","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868822,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868823,"package_name":"msgpack","ecosystem":"pypi","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":25904868824,"package_name":"mypy","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":25904868825,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868826,"package_name":"packageurl-python","ecosystem":"pypi","requirements":"0.17.6","direct":false,"kind":"runtime","optional":false},{"id":25904868827,"package_name":"packaging","ecosystem":"pypi","requirements":"26.2","direct":false,"kind":"runtime","optional":false},{"id":25904868828,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.7","direct":false,"kind":"runtime","optional":false},{"id":25904868829,"package_name":"pathspec","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904868830,"package_name":"pip","ecosystem":"pypi","requirements":"26.1.2","direct":false,"kind":"runtime","optional":false},{"id":25904868831,"package_name":"pip-api","ecosystem":"pypi","requirements":"0.0.34","direct":false,"kind":"runtime","optional":false},{"id":25904868832,"package_name":"pip-audit","ecosystem":"pypi","requirements":"2.10.1","direct":false,"kind":"runtime","optional":false},{"id":25904868833,"package_name":"pip-requirements-parser","ecosystem":"pypi","requirements":"32.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868834,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.11.0","direct":false,"kind":"runtime","optional":false},{"id":25904868835,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":25904868836,"package_name":"psutil","ecosystem":"pypi","requirements":"7.2.2","direct":false,"kind":"runtime","optional":false},{"id":25904868837,"package_name":"py-serializable","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":25904868838,"package_name":"pycparser","ecosystem":"pypi","requirements":"3.0","direct":false,"kind":"runtime","optional":false},{"id":25904868839,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.13.4","direct":false,"kind":"runtime","optional":false},{"id":25904868840,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.46.4","direct":false,"kind":"runtime","optional":false},{"id":25904868841,"package_name":"pydantic-settings","ecosystem":"pypi","requirements":"2.14.2","direct":false,"kind":"runtime","optional":false},{"id":25904868842,"package_name":"pygments","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":25904868843,"package_name":"pyjwt","ecosystem":"pypi","requirements":"2.13.0","direct":false,"kind":"runtime","optional":false},{"id":25904868844,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.3.2","direct":false,"kind":"runtime","optional":false},{"id":25904868845,"package_name":"pyrefly","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904868846,"package_name":"pytest","ecosystem":"pypi","requirements":"9.1.1","direct":false,"kind":"runtime","optional":false},{"id":25904868847,"package_name":"pytest-asyncio","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":25904868848,"package_name":"pytest-xdist","ecosystem":"pypi","requirements":"3.8.0","direct":false,"kind":"runtime","optional":false},{"id":25904868849,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":25904868850,"package_name":"python-multipart","ecosystem":"pypi","requirements":"0.0.32","direct":false,"kind":"runtime","optional":false},{"id":25904868851,"package_name":"pytoolconfig","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25904868852,"package_name":"pywin32","ecosystem":"pypi","requirements":"312","direct":false,"kind":"runtime","optional":false},{"id":25904868853,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":25904868854,"package_name":"pyyaml-ft","ecosystem":"pypi","requirements":"8.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868855,"package_name":"radon","ecosystem":"pypi","requirements":"6.0.1","direct":false,"kind":"runtime","optional":false},{"id":25904868856,"package_name":"referencing","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":25904868857,"package_name":"refurb","ecosystem":"pypi","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":25904868858,"package_name":"requests","ecosystem":"pypi","requirements":"2.34.2","direct":false,"kind":"runtime","optional":false},{"id":25904868859,"package_name":"rich","ecosystem":"pypi","requirements":"15.0.0","direct":false,"kind":"runtime","optional":false},{"id":25904868860,"package_name":"rope","ecosystem":"pypi","requirements":"1.14.0","direct":false,"kind":"runtime","optional":false},{"id":25904868861,"package_name":"rpds-py","ecosystem":"pypi","requirements":"2026.6.3","direct":false,"kind":"runtime","optional":false},{"id":25904868862,"package_name":"shellingham","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"runtime","optional":false},{"id":25904868863,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":25904868864,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":25904868865,"package_name":"sse-starlette","ecosystem":"pypi","requirements":"3.4.6","direct":false,"kind":"runtime","optional":false},{"id":25904868866,"package_name":"starlette","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25904868867,"package_name":"stevedore","ecosystem":"pypi","requirements":"5.9.0","direct":false,"kind":"runtime","optional":false},{"id":25904868891,"package_name":"tomli","ecosystem":"pypi","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":25904868892,"package_name":"tomli-w","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":25904868893,"package_name":"typer","ecosystem":"pypi","requirements":"0.27.0","direct":false,"kind":"runtime","optional":false},{"id":25904868894,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.16.0","direct":false,"kind":"runtime","optional":false},{"id":25904868895,"package_name":"typing-inspection","ecosystem":"pypi","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":25904868896,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":25904868897,"package_name":"uvicorn","ecosystem":"pypi","requirements":"0.52.0","direct":false,"kind":"runtime","optional":false},{"id":25904868898,"package_name":"vulture","ecosystem":"pypi","requirements":"2.16","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2026-08-06T04:39:16.407Z","updated_at":"2026-08-06T04:39:16.407Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/Dockerfile","dependencies":[{"id":25904867969,"package_name":"python","ecosystem":"docker","requirements":"3.13-slim","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-08-06T04:39:17.769Z","updated_at":"2026-08-06T04:39:17.769Z","repository_link":"https://github.com/slamer59/mcp-python-refactoring/blob/main/pyproject.toml","dependencies":[{"id":25904868602,"package_name":"rope","ecosystem":"pypi","requirements":"\u003e=1.11.0","direct":true,"kind":"runtime","optional":false},{"id":25904868603,"package_name":"radon","ecosystem":"pypi","requirements":"\u003e=6.0.1","direct":true,"kind":"runtime","optional":false},{"id":25904868604,"package_name":"vulture","ecosystem":"pypi","requirements":"\u003e=2.10","direct":true,"kind":"runtime","optional":false},{"id":25904868605,"package_name":"jedi","ecosystem":"pypi","requirements":"\u003e=0.19.1","direct":true,"kind":"runtime","optional":false},{"id":25904868606,"package_name":"libcst","ecosystem":"pypi","requirements":"\u003e=1.1.0","direct":true,"kind":"runtime","optional":false},{"id":25904868607,"package_name":"mccabe","ecosystem":"pypi","requirements":"\u003e=0.7.0","direct":true,"kind":"runtime","optional":false},{"id":25904868608,"package_name":"mcp","ecosystem":"pypi","requirements":"\u003e=1.13.1,\u003c2.0.0","direct":true,"kind":"runtime","optional":false},{"id":25904868609,"package_name":"fastapi","ecosystem":"pypi","requirements":"\u003e=0.104.0","direct":true,"kind":"runtime","optional":false},{"id":25904868610,"package_name":"uvicorn","ecosystem":"pypi","requirements":"\u003e=0.24.0","direct":true,"kind":"runtime","optional":false},{"id":25904868611,"package_name":"pyrefly","ecosystem":"pypi","requirements":"\u003e=0.30.0","direct":true,"kind":"runtime","optional":false},{"id":25904868612,"package_name":"complexipy","ecosystem":"pypi","requirements":"\u003e=4.0.2","direct":true,"kind":"runtime","optional":false},{"id":25904868613,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=8.4.1","direct":true,"kind":"runtime","optional":false},{"id":25904868614,"package_name":"duckdb","ecosystem":"pypi","requirements":"\u003e=1.3.2","direct":true,"kind":"runtime","optional":false},{"id":25904868615,"package_name":"pydantic","ecosystem":"pypi","requirements":"\u003e=2.11.7","direct":true,"kind":"runtime","optional":false},{"id":25904868628,"package_name":"click","ecosystem":"pypi","requirements":"\u003e=8.0.0","direct":true,"kind":"runtime","optional":false},{"id":25904868629,"package_name":"rich","ecosystem":"pypi","requirements":"\u003e=13.0.0","direct":true,"kind":"runtime","optional":false},{"id":25904868630,"package_name":"coverage","ecosystem":"pypi","requirements":"\u003e=7.0.0","direct":true,"kind":"runtime","optional":false},{"id":25904868631,"package_name":"psutil","ecosystem":"pypi","requirements":"\u003e=5.9.0","direct":true,"kind":"runtime","optional":false},{"id":25904868632,"package_name":"pytest-xdist","ecosystem":"pypi","requirements":"\u003e=3.8.0","direct":true,"kind":"runtime","optional":false},{"id":25904868633,"package_name":"bandit","ecosystem":"pypi","requirements":"\u003e=1.7.0","direct":true,"kind":"runtime","optional":false},{"id":25904868634,"package_name":"pip-audit","ecosystem":"pypi","requirements":"\u003e=2.6.0","direct":true,"kind":"runtime","optional":false},{"id":25904868635,"package_name":"refurb","ecosystem":"pypi","requirements":"\u003e=2.0.0","direct":true,"kind":"runtime","optional":false},{"id":25904868648,"package_name":"mypy","ecosystem":"pypi","requirements":"\u003e=1.17.1","direct":true,"kind":"runtime","optional":false}]}],"score":7.154615356913663,"created_at":"2026-05-04T06:49:31.347Z","updated_at":"2026-08-25T14:04:06.542Z","avatar_url":"https://github.com/slamer59.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/371860","html_url":"https://summary.ecosyste.ms/projects/371860"}