{"id":180441,"name":null,"description":"An open-source digital pathology based rapid image annotation tool","url":"https://github.com/choosehappy/quickannotator","last_synced_at":"2025-09-10T00:43:55.777Z","repository":{"id":38405658,"uuid":"322341050","full_name":"choosehappy/QuickAnnotator","owner":"choosehappy","description":"An open-source digital pathology based rapid image annotation tool","archived":false,"fork":false,"pushed_at":"2025-07-28T20:55:47.000Z","size":15434,"stargazers_count":82,"open_issues_count":37,"forks_count":27,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-29T22:35:31.822Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/choosehappy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2020-12-17T15:48:29.000Z","updated_at":"2025-08-21T14:43:45.000Z","dependencies_parsed_at":"2024-04-09T18:45:50.932Z","dependency_job_id":"4e4c6dcc-4db2-451d-aab4-fc224313423c","html_url":"https://github.com/choosehappy/QuickAnnotator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/choosehappy/QuickAnnotator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/choosehappy","download_url":"https://codeload.github.com/choosehappy/QuickAnnotator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274390719,"owners_count":25276408,"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-09T02:00:10.223Z","response_time":80,"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":"choosehappy","name":null,"uuid":"9681868","kind":"user","description":null,"email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/9681868?v=4","repositories_count":8,"last_synced_at":"2023-02-27T16:30:20.068Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/choosehappy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-10T23:42:13.909Z","updated_at":"2023-02-27T16:30:20.101Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/choosehappy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/choosehappy/repositories"},"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"choosehappy/QuickAnnotator","html_url":"https://github.com/choosehappy/QuickAnnotator","last_synced_at":"2025-08-31T10:06:55.190Z","status":null,"issues_count":16,"pull_requests_count":31,"avg_time_to_close_issue":2616005.5,"avg_time_to_close_pull_request":805712.15,"issues_closed_count":10,"pull_requests_closed_count":20,"pull_request_authors_count":2,"issue_authors_count":2,"avg_comments_per_issue":2.4375,"avg_comments_per_pull_request":0.8709677419354839,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":16,"past_year_pull_requests_count":31,"past_year_avg_time_to_close_issue":2616005.5,"past_year_avg_time_to_close_pull_request":805712.15,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":20,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":2.4375,"past_year_avg_comments_per_pull_request":0.8709677419354839,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":19,"created_at":"2025-08-29T15:18:07.967Z","updated_at":"2025-09-03T04:30:36.452Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/choosehappy%2FQuickAnnotator/issues","issue_labels_count":{"enhancement":20,"v2.0":20,"refactor":1,"high priority":1,"blocker":1,"bug":1},"pull_request_labels_count":{"enhancement":1,"v2.0":1},"issue_author_associations_count":{"COLLABORATOR":26,"OWNER":1,"NONE":1},"pull_request_author_associations_count":{"COLLABORATOR":32,"NONE":3},"issue_authors":{"jacksonjacobs1":26,"dig1998":1,"choosehappy":1},"pull_request_authors":{"jacksonjacobs1":30,"nanli-emory":4,"naguileraleal":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-10T00:00:25.260Z","repositories_count":10197920,"issues_count":32218736,"pull_requests_count":101730964,"authors_count":10741929,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"enhancement":20,"v2.0":20,"refactor":1,"high priority":1,"blocker":1,"bug":1},"past_year_pull_request_labels_count":{"enhancement":1,"v2.0":1},"past_year_issue_author_associations_count":{"COLLABORATOR":26,"NONE":1,"OWNER":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":32},"past_year_issue_authors":{"jacksonjacobs1":26,"choosehappy":1,"dig1998":1},"past_year_pull_request_authors":{"jacksonjacobs1":30,"nanli-emory":2},"maintainers":[{"login":"jacksonjacobs1","count":56,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jacksonjacobs1"},{"login":"nanli-emory","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nanli-emory"},{"login":"choosehappy","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/choosehappy"}],"active_maintainers":[{"login":"jacksonjacobs1","count":56,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jacksonjacobs1"},{"login":"nanli-emory","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nanli-emory"},{"login":"choosehappy","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/choosehappy"}]},"events":{"total":{"CreateEvent":3,"CommitCommentEvent":33,"IssuesEvent":43,"WatchEvent":5,"MemberEvent":1,"IssueCommentEvent":103,"PushEvent":74,"PullRequestReviewEvent":237,"PullRequestReviewCommentEvent":292,"PullRequestEvent":59},"last_year":{"CreateEvent":3,"CommitCommentEvent":33,"IssuesEvent":43,"WatchEvent":5,"MemberEvent":1,"IssueCommentEvent":103,"PushEvent":74,"PullRequestReviewEvent":237,"PullRequestReviewCommentEvent":292,"PullRequestEvent":59}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"cuda_11/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-26T23:12:10.812Z","updated_at":"2022-08-26T23:12:10.812Z","repository_link":"https://github.com/choosehappy/QuickAnnotator/blob/main/cuda_11/requirements.txt","dependencies":[{"id":2862174709,"package_name":"Flask_SQLAlchemy","ecosystem":"pypi","requirements":"==2.4.4","direct":true,"kind":"runtime","optional":false},{"id":2862174714,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.20.3","direct":true,"kind":"runtime","optional":false},{"id":2862174716,"package_name":"scikit-image","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":2862174718,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==0.24.0","direct":true,"kind":"runtime","optional":false},{"id":2862174720,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"==4.5.3.56","direct":true,"kind":"runtime","optional":false},{"id":2862174721,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":2862174723,"package_name":"requests","ecosystem":"pypi","requirements":"==2.25.1","direct":true,"kind":"runtime","optional":false},{"id":2862174725,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"==1.3.22","direct":true,"kind":"runtime","optional":false},{"id":2862174727,"package_name":"torch","ecosystem":"pypi","requirements":"==1.8.1","direct":true,"kind":"runtime","optional":false},{"id":2862174728,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":2862174730,"package_name":"torchaudio","ecosystem":"pypi","requirements":"===0.8.1","direct":true,"kind":"runtime","optional":false},{"id":2862174732,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":2862174734,"package_name":"Flask_Restless","ecosystem":"pypi","requirements":"==0.17.0","direct":true,"kind":"runtime","optional":false},{"id":2862174736,"package_name":"Flask","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":2862174738,"package_name":"umap-learn","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":2862174740,"package_name":"Pillow","ecosystem":"pypi","requirements":"==8.1.2","direct":true,"kind":"runtime","optional":false},{"id":2862174741,"package_name":"ttach","ecosystem":"pypi","requirements":"==0.0.2","direct":true,"kind":"runtime","optional":false},{"id":2862174743,"package_name":"albumentations","ecosystem":"pypi","requirements":"==0.4.3","direct":true,"kind":"runtime","optional":false},{"id":2862174745,"package_name":"config","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":2862174747,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":2862174749,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":2862174750,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-02-03T22:16:18.207Z","updated_at":"2023-02-03T22:16:18.207Z","repository_link":"https://github.com/choosehappy/QuickAnnotator/blob/main/Dockerfile","dependencies":[{"id":7339961042,"package_name":"nvidia/cuda","ecosystem":"docker","requirements":"11.0.3-cudnn8-devel-ubuntu20.04","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"cuda_11/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-02-03T22:16:18.252Z","updated_at":"2023-02-03T22:16:18.252Z","repository_link":"https://github.com/choosehappy/QuickAnnotator/blob/main/cuda_11/Dockerfile","dependencies":[{"id":7339961052,"package_name":"nvidia/cuda","ecosystem":"docker","requirements":"11.0.3-cudnn8-devel-ubuntu20.04","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"cuda_12/Dockerfile","sha":null,"kind":"manifest","created_at":"2024-04-09T18:45:40.920Z","updated_at":"2024-04-09T18:45:40.920Z","repository_link":"https://github.com/choosehappy/QuickAnnotator/blob/main/cuda_12/Dockerfile","dependencies":[{"id":17332455915,"package_name":"nvidia/cuda","ecosystem":"docker","requirements":"12.1.0-cudnn8-devel-ubuntu20.04","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"cuda_12/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-04-09T18:45:40.969Z","updated_at":"2024-04-09T18:45:40.969Z","repository_link":"https://github.com/choosehappy/QuickAnnotator/blob/main/cuda_12/requirements.txt","dependencies":[{"id":17332455916,"package_name":"Flask_SQLAlchemy","ecosystem":"pypi","requirements":"==2.4.4","direct":true,"kind":"runtime","optional":false},{"id":17332455917,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003c=1.22","direct":true,"kind":"runtime","optional":false},{"id":17332455918,"package_name":"scikit-image","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":17332455919,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==0.24.0","direct":true,"kind":"runtime","optional":false},{"id":17332455920,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"==4.5.3.56","direct":true,"kind":"runtime","optional":false},{"id":17332455921,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":17332455922,"package_name":"requests","ecosystem":"pypi","requirements":"==2.25.1","direct":true,"kind":"runtime","optional":false},{"id":17332455923,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"==1.3.22","direct":true,"kind":"runtime","optional":false},{"id":17332455924,"package_name":"networkx","ecosystem":"pypi","requirements":"\u003c=3.1","direct":true,"kind":"runtime","optional":false},{"id":17332455925,"package_name":"torch","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":17332455926,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.16.0","direct":true,"kind":"runtime","optional":false},{"id":17332455927,"package_name":"torchaudio","ecosystem":"pypi","requirements":"===0.8.1","direct":true,"kind":"runtime","optional":false},{"id":17332455928,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":17332455929,"package_name":"Flask_Restless","ecosystem":"pypi","requirements":"==0.17.0","direct":true,"kind":"runtime","optional":false},{"id":17332455930,"package_name":"Flask","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":17332455931,"package_name":"umap-learn","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":17332455932,"package_name":"Pillow","ecosystem":"pypi","requirements":"==8.1.2","direct":true,"kind":"runtime","optional":false},{"id":17332455933,"package_name":"ttach","ecosystem":"pypi","requirements":"==0.0.2","direct":true,"kind":"runtime","optional":false},{"id":17332455937,"package_name":"albumentations","ecosystem":"pypi","requirements":"==0.4.3","direct":true,"kind":"runtime","optional":false},{"id":17332455938,"package_name":"config","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":17332455939,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":17332455940,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":17332455941,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":17332455942,"package_name":"protobuf","ecosystem":"pypi","requirements":"\u003c3.21","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements_cpuonly.txt","sha":null,"kind":"manifest","created_at":"2024-04-09T18:45:44.055Z","updated_at":"2024-04-09T18:45:44.055Z","repository_link":"https://github.com/choosehappy/QuickAnnotator/blob/main/requirements_cpuonly.txt","dependencies":[{"id":17332455943,"package_name":"Flask_SQLAlchemy","ecosystem":"pypi","requirements":"==2.4.4","direct":true,"kind":"runtime","optional":false},{"id":17332455944,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003c=1.22","direct":true,"kind":"runtime","optional":false},{"id":17332455945,"package_name":"scikit-image","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":17332455946,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==0.24.0","direct":true,"kind":"runtime","optional":false},{"id":17332455947,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"==4.5.3.56","direct":true,"kind":"runtime","optional":false},{"id":17332455948,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":17332455949,"package_name":"requests","ecosystem":"pypi","requirements":"==2.25.1","direct":true,"kind":"runtime","optional":false},{"id":17332455950,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"==1.3.22","direct":true,"kind":"runtime","optional":false},{"id":17332455951,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17332455952,"package_name":"torchvision","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17332455953,"package_name":"torchaudio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17332455954,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":17332455955,"package_name":"Flask_Restless","ecosystem":"pypi","requirements":"==0.17.0","direct":true,"kind":"runtime","optional":false},{"id":17332455956,"package_name":"Flask","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":17332455957,"package_name":"umap-learn","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":17332455958,"package_name":"Pillow","ecosystem":"pypi","requirements":"==8.1.2","direct":true,"kind":"runtime","optional":false},{"id":17332455959,"package_name":"ttach","ecosystem":"pypi","requirements":"==0.0.2","direct":true,"kind":"runtime","optional":false},{"id":17332455960,"package_name":"albumentations","ecosystem":"pypi","requirements":"==0.4.3","direct":true,"kind":"runtime","optional":false},{"id":17332455961,"package_name":"config","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":17332455962,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":17332455963,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":17332455964,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":17332455965,"package_name":"protobuf","ecosystem":"pypi","requirements":"\u003c3.21","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2025-09-09T01:55:27.341Z","updated_at":"2025-10-07T08:41:07.157Z","avatar_url":"https://github.com/choosehappy.png","language":"JavaScript","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/180441","html_url":"https://science.ecosyste.ms/projects/180441"}