Skip to content

Remove copied GPL code and make GPL dependencies optional - #223

Merged
parashardhapola merged 1 commit into
masterfrom
license-cleanup
Oct 21, 2026
Merged

parashardhapola merged 1 commit into
masterfrom
license-cleanup

Conversation

@parashardhapola

Copy link
Copy Markdown
Member

Scarf's Harmony (harmony.py) and LISI (metrics.py) were copied from harmonypy, which is GPL-3.0-or-later. Both now call harmonypy 0.0.10 through a new harmony extra. New tests pin outputs recorded from the code they replace, so results are unchanged. make_graph checks for harmonypy before doing any work, and stored harmonized data loads without it.

leidenalg (GPL-3.0-or-later), and with it igraph, moves from the required dependencies to a new leiden extra, so pip install scarf no longer installs them.

plot_cluster_tree draws its pies as matplotlib paths, ported from CyteArc, replacing a StackOverflow snippet under CC BY-SA 4.0.

Add THIRD_PARTY_NOTICES.md and the GPL-3.0 text for the bundled sgtsne binary, and declare BSD-3-Clause AND MIT AND GPL-3.0-only. The install docs, README, CI and Docker image install the new extras.

Scarf's Harmony (harmony.py) and LISI (metrics.py) were copied from
harmonypy, which is GPL-3.0-or-later. Both now call harmonypy 0.0.10
through a new `harmony` extra. New tests pin outputs recorded from the
code they replace, so results are unchanged. make_graph checks for
harmonypy before doing any work, and stored harmonized data loads
without it.

leidenalg (GPL-3.0-or-later), and with it igraph, moves from the
required dependencies to a new `leiden` extra, so `pip install scarf`
no longer installs them.

plot_cluster_tree draws its pies as matplotlib paths, ported from
CyteArc, replacing a StackOverflow snippet under CC BY-SA 4.0.

Add THIRD_PARTY_NOTICES.md and the GPL-3.0 text for the bundled sgtsne
binary, and declare BSD-3-Clause AND MIT AND GPL-3.0-only. The install
docs, README, CI and Docker image install the new extras.
@parashardhapola
parashardhapola merged commit 3a0f8a1 into master Oct 21, 2026
5 checks passed
@parashardhapola
parashardhapola deleted the license-cleanup branch October 21, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant