{"id":804295,"name":"SPAC: A Python Package for Spatial Single-Cell Analysis of Multiplexed Imaging","description":"SPAC: A Python Package for Spatial Single-Cell Analysis of Multiplexed Imaging - Published in JOSS (2026)","url":"https://github.com/fnlcr-dmap/scsaworkflow","last_synced_at":"2026-01-14T15:00:49.361Z","repository":{"id":98601177,"uuid":"567867397","full_name":"FNLCR-DMAP/SCSAWorkflow","owner":"FNLCR-DMAP","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-13T14:44:04.000Z","size":45510,"stargazers_count":9,"open_issues_count":15,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-13T16:53:48.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fnlcr-dmap.github.io/SCSAWorkflow/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FNLCR-DMAP.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"dco":null,"cla":null}},"created_at":"2022-11-18T19:17:23.000Z","updated_at":"2026-01-13T14:08:44.000Z","dependencies_parsed_at":"2023-10-20T00:12:15.898Z","dependency_job_id":"55325037-3986-4006-820c-d504744cd6d2","html_url":"https://github.com/FNLCR-DMAP/SCSAWorkflow","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/FNLCR-DMAP/SCSAWorkflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FNLCR-DMAP","download_url":"https://codeload.github.com/FNLCR-DMAP/SCSAWorkflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":"FNLCR-DMAP","name":"FNLCR-DMAP","uuid":"51838481","kind":"organization","description":"Data Management and Analysis Program at the National Cancer Institute","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/51838481?v=4","repositories_count":1,"last_synced_at":"2023-05-05T13:54:38.407Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/FNLCR-DMAP","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-03-02T21:22:02.141Z","updated_at":"2023-05-05T13:54:38.408Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FNLCR-DMAP","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FNLCR-DMAP/repositories"},"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"FNLCR-DMAP/SCSAWorkflow","html_url":"https://github.com/FNLCR-DMAP/SCSAWorkflow","last_synced_at":"2025-10-20T17:07:39.303Z","status":null,"issues_count":5,"pull_requests_count":231,"avg_time_to_close_issue":86866.5,"avg_time_to_close_pull_request":215886.4404145078,"issues_closed_count":4,"pull_requests_closed_count":193,"pull_request_authors_count":11,"issue_authors_count":3,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.03463203463203463,"merged_pull_requests_count":180,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":134,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":104257.9074074074,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":108,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.04477611940298507,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":100,"created_at":"2025-08-29T12:01:02.324Z","updated_at":"2025-10-20T17:07:39.304Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FNLCR-DMAP%2FSCSAWorkflow/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":3,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"COLLABORATOR":158,"CONTRIBUTOR":58,"NONE":15},"issue_authors":{"georgezakinih":2,"ruiheesi":2,"fangliu117":1},"pull_request_authors":{"fangliu117":116,"georgezakinih":54,"ruiheesi":33,"abombin":8,"LizaShch":4,"oeldaghar":4,"ying39purdue":4,"arshnrr":3,"Ahmad8864":3,"ThomasSheeley":1,"ThomasKHu":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-01-14T00:00:08.713Z","repositories_count":12762400,"issues_count":35844718,"pull_requests_count":117846417,"authors_count":11092823,"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":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":61,"CONTRIBUTOR":23,"NONE":10},"past_year_issue_authors":{"georgezakinih":1},"past_year_pull_request_authors":{"fangliu117":52,"georgezakinih":19,"LizaShch":4,"ying39purdue":4,"abombin":4,"ruiheesi":4,"arshnrr":3,"Ahmad8864":3,"ThomasKHu":1},"maintainers":[{"login":"fangliu117","count":117,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/fangliu117"},{"login":"ruiheesi","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ruiheesi"},{"login":"abombin","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/abombin"},{"login":"ThomasKHu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasKHu"}],"active_maintainers":[{"login":"fangliu117","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/fangliu117"},{"login":"abombin","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/abombin"},{"login":"ruiheesi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ruiheesi"},{"login":"ThomasKHu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasKHu"}]},"events":null,"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2023-03-13T15:58:19.578Z","updated_at":"2023-03-13T15:58:19.578Z","repository_link":"https://github.com/FNLCR-DMAP/SCSAWorkflow/blob/main/poetry.lock","dependencies":[{"id":8376187810,"package_name":"alabaster","ecosystem":"pypi","requirements":"0.7.12","direct":false,"kind":"develop","optional":false},{"id":8376187811,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.3","direct":false,"kind":"develop","optional":false},{"id":8376187812,"package_name":"astroid","ecosystem":"pypi","requirements":"2.12.13","direct":false,"kind":"develop","optional":false},{"id":8376187813,"package_name":"attrs","ecosystem":"pypi","requirements":"22.1.0","direct":false,"kind":"develop","optional":false},{"id":8376187814,"package_name":"babel","ecosystem":"pypi","requirements":"2.11.0","direct":false,"kind":"develop","optional":false},{"id":8376187815,"package_name":"backcall","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":8376187816,"package_name":"certifi","ecosystem":"pypi","requirements":"2022.9.24","direct":false,"kind":"develop","optional":false},{"id":8376187817,"package_name":"cffi","ecosystem":"pypi","requirements":"1.15.1","direct":false,"kind":"develop","optional":false},{"id":8376187818,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"2.1.1","direct":false,"kind":"develop","optional":false},{"id":8376187819,"package_name":"click","ecosystem":"pypi","requirements":"8.1.3","direct":false,"kind":"develop","optional":false},{"id":8376187820,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"develop","optional":false},{"id":8376187821,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.6.4","direct":false,"kind":"develop","optional":false},{"id":8376187822,"package_name":"decorator","ecosystem":"pypi","requirements":"5.1.1","direct":false,"kind":"develop","optional":false},{"id":8376187823,"package_name":"docutils","ecosystem":"pypi","requirements":"0.17.1","direct":false,"kind":"develop","optional":false},{"id":8376187826,"package_name":"entrypoints","ecosystem":"pypi","requirements":"0.4","direct":false,"kind":"develop","optional":false},{"id":8376187827,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.16.2","direct":false,"kind":"develop","optional":false},{"id":8376187828,"package_name":"greenlet","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":"develop","optional":false},{"id":8376187829,"package_name":"idna","ecosystem":"pypi","requirements":"3.4","direct":false,"kind":"develop","optional":false},{"id":8376187830,"package_name":"imagesize","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"develop","optional":false},{"id":8376187831,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"5.1.0","direct":false,"kind":"develop","optional":false},{"id":8376187832,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"5.10.0","direct":false,"kind":"develop","optional":false},{"id":8376187833,"package_name":"ipykernel","ecosystem":"pypi","requirements":"6.16.2","direct":false,"kind":"develop","optional":false},{"id":8376187834,"package_name":"ipython","ecosystem":"pypi","requirements":"7.34.0","direct":false,"kind":"develop","optional":false},{"id":8376187835,"package_name":"jedi","ecosystem":"pypi","requirements":"0.18.2","direct":false,"kind":"develop","optional":false},{"id":8376187836,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":"develop","optional":false},{"id":8376187837,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.17.3","direct":false,"kind":"develop","optional":false},{"id":8376187838,"package_name":"jupyter-cache","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"develop","optional":false},{"id":8376187847,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"7.4.7","direct":false,"kind":"develop","optional":false},{"id":8376187848,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"4.12.0","direct":false,"kind":"develop","optional":false},{"id":8376187849,"package_name":"lazy-object-proxy","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"develop","optional":false},{"id":8376187850,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"develop","optional":false},{"id":8376187851,"package_name":"markupsafe","ecosystem":"pypi","requirements":"2.1.1","direct":false,"kind":"develop","optional":false},{"id":8376187852,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.1.6","direct":false,"kind":"develop","optional":false},{"id":8376187853,"package_name":"mdit-py-plugins","ecosystem":"pypi","requirements":"0.3.1","direct":false,"kind":"develop","optional":false},{"id":8376187854,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"develop","optional":false},{"id":8376187855,"package_name":"myst-nb","ecosystem":"pypi","requirements":"0.17.1","direct":false,"kind":"develop","optional":false},{"id":8376187856,"package_name":"myst-parser","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"develop","optional":false},{"id":8376187857,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.5.13","direct":false,"kind":"develop","optional":false},{"id":8376187858,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.7.0","direct":false,"kind":"develop","optional":false},{"id":8376187859,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.5.6","direct":false,"kind":"develop","optional":false},{"id":8376187860,"package_name":"packaging","ecosystem":"pypi","requirements":"21.3","direct":false,"kind":"develop","optional":false},{"id":8376187861,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.3","direct":false,"kind":"develop","optional":false},{"id":8376187862,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.8.0","direct":false,"kind":"develop","optional":false},{"id":8376187863,"package_name":"pickleshare","ecosystem":"pypi","requirements":"0.7.5","direct":false,"kind":"develop","optional":false},{"id":8376187864,"package_name":"pkgutil-resolve-name","ecosystem":"pypi","requirements":"1.3.10","direct":false,"kind":"develop","optional":false},{"id":8376187865,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.33","direct":false,"kind":"develop","optional":false},{"id":8376187866,"package_name":"psutil","ecosystem":"pypi","requirements":"5.9.4","direct":false,"kind":"develop","optional":false},{"id":8376187867,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"develop","optional":false},{"id":8376187868,"package_name":"py","ecosystem":"pypi","requirements":"1.11.0","direct":false,"kind":"develop","optional":false},{"id":8376187869,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.21","direct":false,"kind":"develop","optional":false},{"id":8376187870,"package_name":"pygments","ecosystem":"pypi","requirements":"2.13.0","direct":false,"kind":"develop","optional":false},{"id":8376187871,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.0.9","direct":false,"kind":"develop","optional":false},{"id":8376187872,"package_name":"pyrsistent","ecosystem":"pypi","requirements":"0.19.2","direct":false,"kind":"develop","optional":false},{"id":8376187873,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.8.2","direct":false,"kind":"develop","optional":false},{"id":8376187874,"package_name":"pytz","ecosystem":"pypi","requirements":"2022.6","direct":false,"kind":"develop","optional":false},{"id":8376187875,"package_name":"pywin32","ecosystem":"pypi","requirements":"305","direct":false,"kind":"develop","optional":false},{"id":8376187876,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0","direct":false,"kind":"develop","optional":false},{"id":8376187877,"package_name":"pyzmq","ecosystem":"pypi","requirements":"24.0.1","direct":false,"kind":"develop","optional":false},{"id":8376187878,"package_name":"requests","ecosystem":"pypi","requirements":"2.28.1","direct":false,"kind":"develop","optional":false},{"id":8376187879,"package_name":"setuptools","ecosystem":"pypi","requirements":"65.6.3","direct":false,"kind":"develop","optional":false},{"id":8376187880,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"develop","optional":false},{"id":8376187881,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"develop","optional":false},{"id":8376187882,"package_name":"sphinx","ecosystem":"pypi","requirements":"5.3.0","direct":false,"kind":"develop","optional":false},{"id":8376187883,"package_name":"sphinx-autoapi","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"develop","optional":false},{"id":8376187945,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":8376187946,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":8376189962,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":8376190174,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"develop","optional":false},{"id":8376190231,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"develop","optional":false},{"id":8376190449,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"develop","optional":false},{"id":8376190450,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"1.1.5","direct":false,"kind":"develop","optional":false},{"id":8376190451,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"1.4.44","direct":false,"kind":"develop","optional":false},{"id":8376190452,"package_name":"tabulate","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"develop","optional":false},{"id":8376190453,"package_name":"tornado","ecosystem":"pypi","requirements":"6.2","direct":false,"kind":"develop","optional":false},{"id":8376190454,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.6.0","direct":false,"kind":"develop","optional":false},{"id":8376190455,"package_name":"typed-ast","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"develop","optional":false},{"id":8376190456,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.4.0","direct":false,"kind":"develop","optional":false},{"id":8376190457,"package_name":"unidecode","ecosystem":"pypi","requirements":"1.3.6","direct":false,"kind":"develop","optional":false},{"id":8376190458,"package_name":"urllib3","ecosystem":"pypi","requirements":"1.26.13","direct":false,"kind":"develop","optional":false},{"id":8376190459,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.5","direct":false,"kind":"develop","optional":false},{"id":8376190460,"package_name":"wrapt","ecosystem":"pypi","requirements":"1.14.1","direct":false,"kind":"develop","optional":false},{"id":8376190461,"package_name":"zipp","ecosystem":"pypi","requirements":"3.11.0","direct":false,"kind":"develop","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-03-13T15:58:20.431Z","updated_at":"2023-03-13T15:58:20.431Z","repository_link":"https://github.com/FNLCR-DMAP/SCSAWorkflow/blob/main/pyproject.toml","dependencies":[{"id":8376193022,"package_name":"python","ecosystem":"pypi","requirements":"~3.7.13","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/gitflow-py-action.yml","sha":null,"kind":"manifest","created_at":"2023-09-27T05:50:07.501Z","updated_at":"2023-09-27T05:50:07.501Z","repository_link":"https://github.com/FNLCR-DMAP/SCSAWorkflow/blob/main/.github/workflows/gitflow-py-action.yml","dependencies":[]},{"ecosystem":"pypi","filepath":"src/spac/environment.yml","sha":null,"kind":"manifest","created_at":"2023-09-27T05:50:08.194Z","updated_at":"2023-09-27T05:50:08.194Z","repository_link":"https://github.com/FNLCR-DMAP/SCSAWorkflow/blob/main/src/spac/environment.yml","dependencies":[{"id":13968728891,"package_name":"phenograph","ecosystem":"pypi","requirements":"==1.5.7","direct":true,"kind":"runtime","optional":false},{"id":13968730510,"package_name":"poetry","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2026-01-14T15:00:08.648Z","updated_at":"2026-01-14T15:00:49.382Z","avatar_url":"https://github.com/FNLCR-DMAP.png","language":"Jupyter Notebook","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/804295","html_url":"https://science.ecosyste.ms/projects/804295"}