{"id":808438,"name":"ect: A Python Package for the Euler Characteristic Transform","description":"ect: A Python Package for the Euler Characteristic Transform - Published in JOSS (2026)","url":"https://github.com/munchlab/ect","last_synced_at":"2026-04-24T18:01:28.927Z","repository":{"id":237716917,"uuid":"794670685","full_name":"MunchLab/ect","owner":"MunchLab","description":"Python package for computing the Euler Characteristic Transform (ECT)","archived":false,"fork":false,"pushed_at":"2026-04-20T21:12:40.000Z","size":25574,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-20T23:15:37.861Z","etag":null,"topics":["ect","euler-characteristic-transform","python","tda","tda-python","topological-data-analysis","visualization"],"latest_commit_sha":null,"homepage":"https://munchlab.github.io/ect/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MunchLab.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":".github/CODEOWNERS","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-05-01T17:50:59.000Z","updated_at":"2026-04-03T16:36:30.000Z","dependencies_parsed_at":"2024-05-03T02:36:19.344Z","dependency_job_id":"83dab0f0-6793-4ec2-b9ae-f05f737f928f","html_url":"https://github.com/MunchLab/ect","commit_stats":null,"previous_names":["munchlab/ect"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MunchLab/ect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MunchLab","download_url":"https://codeload.github.com/MunchLab/ect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32234730,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"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":"MunchLab","name":"MunchLab","uuid":"101412825","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/101412825?v=4","repositories_count":2,"last_synced_at":"2023-08-07T18:29:47.252Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/MunchLab","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-02-23T01:42:44.087Z","updated_at":"2023-08-07T18:29:47.426Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MunchLab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MunchLab/repositories"},"packages":[{"id":9976500,"name":"ect","ecosystem":"pypi","description":"A python package for computing the Euler Characteristic Transform","homepage":"https://munchlab.github.io/ect","licenses":"GNU General Public License v3 (GPLv3)","normalized_licenses":["GPL-2.0"],"repository_url":"https://github.com/MunchLab/ect","keywords_array":[],"namespace":null,"versions_count":20,"first_release_published_at":"2024-05-14T17:54:43.000Z","latest_release_published_at":"2026-04-01T19:35:57.000Z","latest_release_number":"1.3.0","last_synced_at":"2026-04-06T19:46:06.057Z","created_at":"2024-05-14T18:01:47.052Z","updated_at":"2026-04-06T19:46:17.417Z","registry_url":"https://pypi.org/project/ect/","install_command":"pip install ect --index-url https://pypi.org/simple","documentation_url":"https://ect.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: GNU General Public License v3 (GPLv3)","Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"ect","project_status":null},"repo_metadata":{"id":237716917,"uuid":"794670685","full_name":"MunchLab/ect","owner":"MunchLab","description":"Code for computing the Euler Characteristic Transform (ECT)","archived":false,"fork":false,"pushed_at":"2025-09-15T20:14:51.000Z","size":93766,"stargazers_count":3,"open_issues_count":8,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-15T22:22:12.748Z","etag":null,"topics":["ect","euler-characteristic-transform","python","tda","tda-python","topological-data-analysis","visualization"],"latest_commit_sha":null,"homepage":"https://munchlab.github.io/ect/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MunchLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.html","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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-05-01T17:50:59.000Z","updated_at":"2025-09-02T19:54:55.000Z","dependencies_parsed_at":"2024-05-03T02:36:19.344Z","dependency_job_id":"83dab0f0-6793-4ec2-b9ae-f05f737f928f","html_url":"https://github.com/MunchLab/ect","commit_stats":null,"previous_names":["munchlab/ect"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MunchLab/ect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MunchLab","download_url":"https://codeload.github.com/MunchLab/ect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275910645,"owners_count":25550818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-19T02:00:09.700Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"MunchLab","name":"MunchLab","uuid":"101412825","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/101412825?v=4","repositories_count":2,"last_synced_at":"2023-08-07T18:29:47.252Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/MunchLab","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-02-23T01:42:44.087Z","updated_at":"2023-08-07T18:29:47.426Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MunchLab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MunchLab/repositories"},"tags":[{"name":"v0.1.9","sha":"0adb32f394fb2b6b1497824d1fe9782b82cd72a5","kind":"commit","published_at":"2025-01-13T21:30:41.000Z","download_url":"https://codeload.github.com/MunchLab/ect/tar.gz/v0.1.9","html_url":"https://github.com/MunchLab/ect/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/MunchLab/ect@v0.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/tags/v0.1.9/manifests"}]},"repo_metadata_updated_at":"2026-04-06T19:46:17.389Z","dependent_packages_count":0,"downloads":233,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":61.84935346077275,"dependent_packages_count":9.376235483887973,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":35.61279447233036},"purl":"pkg:pypi/ect","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/ect","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/ect","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/ect/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-20T17:23:18.394Z","issues_count":20,"pull_requests_count":34,"avg_time_to_close_issue":6593638.625,"avg_time_to_close_pull_request":210347.4642857143,"issues_closed_count":8,"pull_requests_closed_count":28,"pull_request_authors_count":3,"issue_authors_count":3,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.14705882352941177,"merged_pull_requests_count":26,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":6,"past_year_pull_requests_count":20,"past_year_avg_time_to_close_issue":13749666.0,"past_year_avg_time_to_close_pull_request":388692.35714285716,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":14,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.15,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":14,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/issues","maintainers":[{"login":"Yemeen","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Yemeen"},{"login":"yemeen","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yemeen"}],"active_maintainers":[{"login":"Yemeen","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Yemeen"},{"login":"yemeen","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yemeen"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ect/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ect/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ect/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ect/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ect/codemeta","maintainers":[{"uuid":"lizliz","login":"lizliz","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/lizliz/","role":null,"created_at":"2024-05-14T18:03:01.840Z","updated_at":"2024-05-14T18:03:01.840Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/lizliz/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":848807,"maintainers_count":362673,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","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":10871492,"full_name":"MunchLab/ect","default_branch":"master","total_commits":197,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":65.66666666666667,"dds":0.3857868020304569,"past_year_total_commits":96,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":48.0,"past_year_dds":0.10416666666666663,"last_synced_at":"2026-02-11T06:01:36.407Z","last_synced_commit":"79e027811570a042ca276260c811755f72900f94","created_at":"2025-09-03T02:53:34.258Z","updated_at":"2026-02-11T06:01:25.595Z","committers":[{"name":"yemeen","email":"yemeen.ayub.14@cnu.edu","login":"yemeen","count":121},{"name":"Liz Munch","email":"muncheli@msu.edu","login":"lizliz","count":75},{"name":"Sarah McGuire","email":"60892301+sarah-mcguire","login":"sarah-mcguire","count":1}],"past_year_committers":[{"name":"yemeen","email":"yemeen.ayub.14@cnu.edu","login":"yemeen","count":86},{"name":"Liz Munch","email":"muncheli@msu.edu","login":"lizliz","count":10}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-24T00:00:07.454Z","repositories_count":6217673,"commits_count":899274819,"contributors_count":34905182,"owners_count":1144956,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"MunchLab/ect","html_url":"https://github.com/MunchLab/ect","last_synced_at":"2026-04-21T00:03:51.661Z","status":null,"issues_count":22,"pull_requests_count":43,"avg_time_to_close_issue":10458882.545454545,"avg_time_to_close_pull_request":437996.1621621622,"issues_closed_count":11,"pull_requests_closed_count":37,"pull_request_authors_count":3,"issue_authors_count":3,"avg_comments_per_issue":0.045454545454545456,"avg_comments_per_pull_request":0.13953488372093023,"merged_pull_requests_count":33,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":5424810.0,"past_year_avg_time_to_close_pull_request":56548.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":8,"created_at":"2025-08-29T12:00:00.778Z","updated_at":"2026-04-21T00:03:51.661Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/MunchLab%2Fect/issues","issue_labels_count":{"documentation":3,"enhancement":2,"question":1},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":16,"COLLABORATOR":4,"MEMBER":2},"pull_request_author_associations_count":{"MEMBER":20,"CONTRIBUTOR":15,"COLLABORATOR":8},"issue_authors":{"lizliz":16,"Yemeen":4,"yemeen":2},"pull_request_authors":{"yemeen":17,"lizliz":15,"Yemeen":11},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-24T00:00:07.455Z","repositories_count":14385638,"issues_count":34459885,"pull_requests_count":112843508,"authors_count":11244279,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"CONTRIBUTOR":2},"past_year_pull_request_author_associations_count":{"MEMBER":12},"past_year_issue_authors":{"lizliz":2},"past_year_pull_request_authors":{"yemeen":12},"maintainers":[{"login":"yemeen","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yemeen"},{"login":"Yemeen","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Yemeen"}],"active_maintainers":[{"login":"yemeen","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yemeen"}]},"events":{"total":{"DeleteEvent":27,"PullRequestEvent":46,"ForkEvent":1,"IssuesEvent":29,"WatchEvent":2,"IssueCommentEvent":10,"PushEvent":129,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":23,"CreateEvent":30},"last_year":{"DeleteEvent":12,"PullRequestEvent":18,"ForkEvent":1,"IssuesEvent":18,"WatchEvent":2,"IssueCommentEvent":4,"PushEvent":59,"PullRequestReviewCommentEvent":1,"PullRequestReviewEvent":10,"CreateEvent":13}},"keywords":["ect","euler-characteristic-transform","python","tda","tda-python","topological-data-analysis","visualization"],"dependencies":[{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-05-03T02:36:18.571Z","updated_at":"2024-05-03T02:36:18.571Z","repository_link":"https://github.com/MunchLab/ect/blob/main/setup.py","dependencies":[{"id":17862636011,"package_name":"list","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17862636930,"package_name":"networkx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17862636931,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17862636932,"package_name":"numba","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17862636933,"package_name":"pathlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17862636934,"package_name":"argparse","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17862636935,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":8.499843553081124,"created_at":"2026-04-24T18:00:08.624Z","updated_at":"2026-04-24T18:01:28.952Z","avatar_url":"https://github.com/MunchLab.png","language":"Jupyter Notebook","category":null,"sub_category":null,"monthly_downloads":233,"funding_links":[],"readme_doi_urls":["https://doi.org/10.1080/00029890.2024.2409616"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/808438","html_url":"https://science.ecosyste.ms/projects/808438"}