{"id":124798,"url":"https://github.com/JamesVorder/python-tddpp","last_synced_at":"2026-06-16T14:30:17.633Z","repository":{"id":248183053,"uuid":"827827364","full_name":"JamesVorder/python-tddpp","owner":"JamesVorder","description":"This LLM generates code based on tests, and makes sure they pass.","archived":false,"fork":false,"pushed_at":"2025-12-06T15:32:20.000Z","size":227,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-09T11:02:54.491Z","etag":null,"topics":["automatic-program-repair","automatic-programming","llama","llm","tdd"],"latest_commit_sha":null,"homepage":"","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/JamesVorder.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":"2024-07-12T13:11:41.000Z","updated_at":"2025-12-06T15:32:17.000Z","dependencies_parsed_at":"2024-07-12T23:12:38.822Z","dependency_job_id":"4093441e-5848-484d-b3b2-896c4ec77b4e","html_url":"https://github.com/JamesVorder/python-tddpp","commit_stats":{"total_commits":24,"total_committers":1,"mean_commits":24.0,"dds":0.0,"last_synced_commit":"33a6079028ee18c6083af49cecc21b347e606024"},"previous_names":["jamesvorder/python-tddpp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/JamesVorder/python-tddpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesVorder","download_url":"https://codeload.github.com/JamesVorder/python-tddpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34285191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"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":"JamesVorder","name":"James Vorderbruggen","uuid":"5509670","kind":"user","description":"","email":"","website":null,"location":"Austin, TX","twitter":null,"company":"@Uplight-Inc ","icon_url":"https://avatars.githubusercontent.com/u/5509670?u=db13fbbefa7a252e1cacd79a52ba3c95210701c7\u0026v=4","repositories_count":29,"last_synced_at":"2023-08-04T02:44:02.783Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/JamesVorder","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T04:17:06.982Z","updated_at":"2023-08-04T02:44:02.886Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesVorder","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesVorder/repositories"},"packages":[],"commits":{"id":1640294,"full_name":"JamesVorder/python-tddpp","default_branch":"main","total_commits":25,"total_committers":2,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":12.5,"dds":0.040000000000000036,"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2026-06-13T13:00:56.372Z","last_synced_commit":"96fadfa535d6f69bbcef972f5512d2e14fc2a72b","created_at":"2024-07-25T15:37:46.803Z","updated_at":"2026-06-13T13:00:56.293Z","committers":[{"name":"James Vorderbruggen","email":"jamesvorder@gmail.com","login":"JamesVorder","count":24},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1}],"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-15T00:00:11.107Z","repositories_count":6259896,"commits_count":882473660,"contributors_count":35087601,"owners_count":1166778,"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":"JamesVorder/python-tddpp","html_url":"https://github.com/JamesVorder/python-tddpp","last_synced_at":"2026-05-26T04:03:19.185Z","status":"error","issues_count":0,"pull_requests_count":10,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":120394.0,"issues_closed_count":0,"pull_requests_closed_count":8,"pull_request_authors_count":2,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.1,"merged_pull_requests_count":8,"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":"2024-07-25T15:37:48.700Z","updated_at":"2026-05-26T04:03:19.185Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesVorder%2Fpython-tddpp/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{}},"pull_request_author_associations_count":{"table":{"OWNER":8,"COLLABORATOR":2}},"issue_authors":{"table":{}},"pull_request_authors":{"table":{"JamesVorder":8,"juandigomez":2}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-09T00:00:17.805Z","repositories_count":14786575,"issues_count":33485642,"pull_requests_count":110238266,"authors_count":11297153,"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":"JamesVorder","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JamesVorder"}},{"table":{"login":"juandigomez","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/juandigomez"}}],"active_maintainers":[]}},"events":{"total":{"ForkEvent":1},"last_year":{}},"keywords":["automatic-program-repair","automatic-programming","llama","llm","tdd"],"dependencies":[{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2024-07-12T23:12:38.138Z","updated_at":"2024-07-12T23:12:38.138Z","repository_link":"https://github.com/JamesVorder/python-tddpp/blob/main/poetry.lock","dependencies":[{"id":19074205925,"package_name":"aiohttp","ecosystem":"pypi","requirements":"3.9.5","direct":false,"kind":"runtime","optional":false},{"id":19074205926,"package_name":"aiosignal","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":19074205927,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":19074205928,"package_name":"anyio","ecosystem":"pypi","requirements":"4.4.0","direct":false,"kind":"runtime","optional":false},{"id":19074205929,"package_name":"async-generator","ecosystem":"pypi","requirements":"1.10","direct":false,"kind":"runtime","optional":false},{"id":19074205930,"package_name":"async-timeout","ecosystem":"pypi","requirements":"4.0.3","direct":false,"kind":"runtime","optional":false},{"id":19074205931,"package_name":"attrs","ecosystem":"pypi","requirements":"23.2.0","direct":false,"kind":"runtime","optional":false},{"id":19074205932,"package_name":"babel","ecosystem":"pypi","requirements":"2.15.0","direct":false,"kind":"runtime","optional":false},{"id":19074205933,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.12.3","direct":false,"kind":"runtime","optional":false},{"id":19074205934,"package_name":"bs4","ecosystem":"pypi","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":19074205935,"package_name":"cachetools","ecosystem":"pypi","requirements":"5.3.3","direct":false,"kind":"runtime","optional":false},{"id":19074205936,"package_name":"certifi","ecosystem":"pypi","requirements":"2024.6.2","direct":false,"kind":"runtime","optional":false},{"id":19074205937,"package_name":"cffi","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":19074205938,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.3.2","direct":false,"kind":"runtime","optional":false},{"id":19074205939,"package_name":"click","ecosystem":"pypi","requirements":"8.1.7","direct":false,"kind":"runtime","optional":false},{"id":19074205940,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":19074205941,"package_name":"coloredlogs","ecosystem":"pypi","requirements":"15.0.1","direct":false,"kind":"runtime","optional":false},{"id":19074205942,"package_name":"colorlog","ecosystem":"pypi","requirements":"6.8.2","direct":false,"kind":"runtime","optional":false},{"id":19074205943,"package_name":"courlan","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":19074205944,"package_name":"cryptography","ecosystem":"pypi","requirements":"42.0.8","direct":false,"kind":"runtime","optional":false},{"id":19074205945,"package_name":"dateparser","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":19074205946,"package_name":"deprecated","ecosystem":"pypi","requirements":"1.2.14","direct":false,"kind":"runtime","optional":false},{"id":19074205947,"package_name":"distro","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":19074205948,"package_name":"docstring-parser","ecosystem":"pypi","requirements":"0.15","direct":false,"kind":"runtime","optional":false},{"id":19074205949,"package_name":"duckduckgo-search","ecosystem":"pypi","requirements":"6.1.7","direct":false,"kind":"runtime","optional":false},{"id":19074205950,"package_name":"faker","ecosystem":"pypi","requirements":"18.13.0","direct":false,"kind":"runtime","optional":false},{"id":19074205951,"package_name":"fakeredis","ecosystem":"pypi","requirements":"2.23.2","direct":false,"kind":"runtime","optional":false},{"id":19074205952,"package_name":"fire","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":19074205953,"package_name":"flatbuffers","ecosystem":"pypi","requirements":"24.3.25","direct":false,"kind":"runtime","optional":false},{"id":19074205954,"package_name":"frozenlist","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":19074205955,"package_name":"google-ai-generativelanguage","ecosystem":"pypi","requirements":"0.6.4","direct":false,"kind":"runtime","optional":false},{"id":19074205956,"package_name":"google-api-core","ecosystem":"pypi","requirements":"2.19.1","direct":false,"kind":"runtime","optional":false},{"id":19074205957,"package_name":"google-api-python-client","ecosystem":"pypi","requirements":"2.135.0","direct":false,"kind":"runtime","optional":false},{"id":19074205958,"package_name":"google-auth","ecosystem":"pypi","requirements":"2.30.0","direct":false,"kind":"runtime","optional":false},{"id":19074205959,"package_name":"google-auth-httplib2","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":19074205960,"package_name":"google-generativeai","ecosystem":"pypi","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":19074205961,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"1.63.2","direct":false,"kind":"runtime","optional":false},{"id":19074205962,"package_name":"groq","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":19074205963,"package_name":"grpcio","ecosystem":"pypi","requirements":"1.64.1","direct":false,"kind":"runtime","optional":false},{"id":19074205964,"package_name":"grpcio-status","ecosystem":"pypi","requirements":"1.62.2","direct":false,"kind":"runtime","optional":false},{"id":19074205965,"package_name":"grpcio-tools","ecosystem":"pypi","requirements":"1.62.2","direct":false,"kind":"runtime","optional":false},{"id":19074205966,"package_name":"h11","ecosystem":"pypi","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":19074205967,"package_name":"h2","ecosystem":"pypi","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":19074205968,"package_name":"halo","ecosystem":"pypi","requirements":"0.0.31","direct":false,"kind":"runtime","optional":false},{"id":19074205969,"package_name":"hpack","ecosystem":"pypi","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":19074205970,"package_name":"htmldate","ecosystem":"pypi","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":19074205971,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":19074205972,"package_name":"httplib2","ecosystem":"pypi","requirements":"0.22.0","direct":false,"kind":"runtime","optional":false},{"id":19074205973,"package_name":"httpx","ecosystem":"pypi","requirements":"0.27.0","direct":false,"kind":"runtime","optional":false},{"id":19074205974,"package_name":"humanfriendly","ecosystem":"pypi","requirements":"10.0","direct":false,"kind":"runtime","optional":false},{"id":19074205975,"package_name":"hyperframe","ecosystem":"pypi","requirements":"6.0.1","direct":false,"kind":"runtime","optional":false},{"id":19074205976,"package_name":"idna","ecosystem":"pypi","requirements":"3.7","direct":false,"kind":"runtime","optional":false},{"id":19074205977,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":19074205978,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.4","direct":false,"kind":"runtime","optional":false},{"id":19074205979,"package_name":"joblib","ecosystem":"pypi","requirements":"1.4.2","direct":false,"kind":"runtime","optional":false},{"id":19074205980,"package_name":"justext","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":19074205981,"package_name":"langroid","ecosystem":"pypi","requirements":"0.2.9","direct":false,"kind":"runtime","optional":false},{"id":19074205982,"package_name":"log-symbols","ecosystem":"pypi","requirements":"0.0.14","direct":false,"kind":"runtime","optional":false},{"id":19074205983,"package_name":"lxml","ecosystem":"pypi","requirements":"4.9.4","direct":false,"kind":"runtime","optional":false},{"id":19074205984,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":19074205985,"package_name":"markupsafe","ecosystem":"pypi","requirements":"2.1.5","direct":false,"kind":"runtime","optional":false},{"id":19074205986,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":19074205987,"package_name":"mpmath","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":19074205988,"package_name":"multidict","ecosystem":"pypi","requirements":"6.0.5","direct":false,"kind":"runtime","optional":false},{"id":19074205989,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":19074205990,"package_name":"nltk","ecosystem":"pypi","requirements":"3.8.1","direct":false,"kind":"runtime","optional":false},{"id":19074205991,"package_name":"numpy","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":19074205992,"package_name":"oauthlib","ecosystem":"pypi","requirements":"3.2.2","direct":false,"kind":"runtime","optional":false},{"id":19074205993,"package_name":"onnxruntime","ecosystem":"pypi","requirements":"1.18.0","direct":false,"kind":"runtime","optional":false},{"id":19074205994,"package_name":"openai","ecosystem":"pypi","requirements":"1.35.7","direct":false,"kind":"runtime","optional":false},{"id":19074205995,"package_name":"orjson","ecosystem":"pypi","requirements":"3.10.5","direct":false,"kind":"runtime","optional":false},{"id":19074205996,"package_name":"packaging","ecosystem":"pypi","requirements":"24.1","direct":false,"kind":"runtime","optional":false},{"id":19074205997,"package_name":"pandas","ecosystem":"pypi","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":19074205998,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":19074205999,"package_name":"portalocker","ecosystem":"pypi","requirements":"2.10.0","direct":false,"kind":"runtime","optional":false},{"id":19074206000,"package_name":"prettytable","ecosystem":"pypi","requirements":"3.10.0","direct":false,"kind":"runtime","optional":false},{"id":19074206001,"package_name":"proto-plus","ecosystem":"pypi","requirements":"1.24.0","direct":false,"kind":"runtime","optional":false},{"id":19074206002,"package_name":"protobuf","ecosystem":"pypi","requirements":"4.25.3","direct":false,"kind":"runtime","optional":false},{"id":19074206003,"package_name":"pyasn1","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":19074206004,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":19074206005,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.22","direct":false,"kind":"runtime","optional":false},{"id":19074206006,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.7.4","direct":false,"kind":"runtime","optional":false},{"id":19074206007,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.18.4","direct":false,"kind":"runtime","optional":false},{"id":19074206008,"package_name":"pygithub","ecosystem":"pypi","requirements":"1.59.1","direct":false,"kind":"runtime","optional":false},{"id":19074206009,"package_name":"pygments","ecosystem":"pypi","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":19074206010,"package_name":"pyjwt","ecosystem":"pypi","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":19074206011,"package_name":"pynacl","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":19074206012,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":19074206013,"package_name":"pyreadline3","ecosystem":"pypi","requirements":"3.4.1","direct":false,"kind":"runtime","optional":false},{"id":19074206014,"package_name":"pyreqwest-impersonate","ecosystem":"pypi","requirements":"0.4.8","direct":false,"kind":"runtime","optional":false},{"id":19074206015,"package_name":"pytest","ecosystem":"pypi","requirements":"8.2.2","direct":false,"kind":"runtime","optional":false},{"id":19074206016,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":19074206017,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":19074206018,"package_name":"python-magic","ecosystem":"pypi","requirements":"0.4.27","direct":false,"kind":"runtime","optional":false},{"id":19074206019,"package_name":"pytz","ecosystem":"pypi","requirements":"2024.1","direct":false,"kind":"runtime","optional":false},{"id":19074206020,"package_name":"pywin32","ecosystem":"pypi","requirements":"306","direct":false,"kind":"runtime","optional":false},{"id":19074206021,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.1","direct":false,"kind":"runtime","optional":false},{"id":19074206022,"package_name":"qdrant-client","ecosystem":"pypi","requirements":"1.9.2","direct":false,"kind":"runtime","optional":false},{"id":19074206023,"package_name":"rank-bm25","ecosystem":"pypi","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":19074206024,"package_name":"rapidfuzz","ecosystem":"pypi","requirements":"3.9.3","direct":false,"kind":"runtime","optional":false},{"id":19074206025,"package_name":"redis","ecosystem":"pypi","requirements":"5.0.7","direct":false,"kind":"runtime","optional":false},{"id":19074206026,"package_name":"regex","ecosystem":"pypi","requirements":"2024.5.15","direct":false,"kind":"runtime","optional":false},{"id":19074206027,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.3","direct":false,"kind":"runtime","optional":false},{"id":19074206028,"package_name":"requests-oauthlib","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":19074206029,"package_name":"rich","ecosystem":"pypi","requirements":"13.7.1","direct":false,"kind":"runtime","optional":false},{"id":19074206030,"package_name":"rsa","ecosystem":"pypi","requirements":"4.9","direct":false,"kind":"runtime","optional":false},{"id":19074206031,"package_name":"setuptools","ecosystem":"pypi","requirements":"70.1.1","direct":false,"kind":"runtime","optional":false},{"id":19074206032,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":19074206033,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":19074206034,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":19074206035,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.5","direct":false,"kind":"runtime","optional":false},{"id":19074206036,"package_name":"spinners","ecosystem":"pypi","requirements":"0.0.24","direct":false,"kind":"runtime","optional":false},{"id":19074206037,"package_name":"sympy","ecosystem":"pypi","requirements":"1.12.1","direct":false,"kind":"runtime","optional":false},{"id":19074206038,"package_name":"termcolor","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":19074206039,"package_name":"thefuzz","ecosystem":"pypi","requirements":"0.20.0","direct":false,"kind":"runtime","optional":false},{"id":19074206040,"package_name":"tiktoken","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":19074206041,"package_name":"tld","ecosystem":"pypi","requirements":"0.13","direct":false,"kind":"runtime","optional":false},{"id":19074206042,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.66.4","direct":false,"kind":"runtime","optional":false},{"id":19074206043,"package_name":"trafilatura","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":19074206044,"package_name":"typer","ecosystem":"pypi","requirements":"0.9.4","direct":false,"kind":"runtime","optional":false},{"id":19074206045,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.12.2","direct":false,"kind":"runtime","optional":false},{"id":19074206046,"package_name":"tzdata","ecosystem":"pypi","requirements":"2024.1","direct":false,"kind":"runtime","optional":false},{"id":19074206047,"package_name":"tzlocal","ecosystem":"pypi","requirements":"5.2","direct":false,"kind":"runtime","optional":false},{"id":19074206048,"package_name":"uritemplate","ecosystem":"pypi","requirements":"4.1.1","direct":false,"kind":"runtime","optional":false},{"id":19074206049,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":19074206050,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.13","direct":false,"kind":"runtime","optional":false},{"id":19074206051,"package_name":"wget","ecosystem":"pypi","requirements":"3.2","direct":false,"kind":"runtime","optional":false},{"id":19074206052,"package_name":"wrapt","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":19074206053,"package_name":"yarl","ecosystem":"pypi","requirements":"1.9.4","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-07-12T23:12:38.603Z","updated_at":"2024-07-12T23:12:38.603Z","repository_link":"https://github.com/JamesVorder/python-tddpp/blob/main/pyproject.toml","dependencies":[{"id":19074206573,"package_name":"python","ecosystem":"pypi","requirements":"^3.11","direct":true,"kind":"runtime","optional":false},{"id":19074206577,"package_name":"langroid","ecosystem":"pypi","requirements":"^0.2.9","direct":true,"kind":"runtime","optional":false},{"id":19074206580,"package_name":"pytest","ecosystem":"pypi","requirements":"^8.2.2","direct":true,"kind":"runtime","optional":false}]}],"score":1.3862943611198906,"created_at":"2024-07-25T15:26:13.782Z","updated_at":"2026-06-16T14:30:17.633Z","avatar_url":"https://github.com/JamesVorder.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/124798","html_url":"https://summary.ecosyste.ms/projects/124798"}