Skip to content

Add project citation metadata and centralize copyright notices - #54

Merged
jdrugo merged 2 commits into
mainfrom
citation-and-copyright
Aug 9, 2026
Merged

Add project citation metadata and centralize copyright notices#54
jdrugo merged 2 commits into
mainfrom
citation-and-copyright

Conversation

@bmusangu

@bmusangu bmusangu commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Introduce CITATION.cff with structured software metadata for GitHub and Zenodo, including the documented authorship, affiliations, repository links, manuscript keywords, and ORCID identifiers.

Make LICENSE.txt the authoritative copyright location, update the project copyright range through 2026, and remove duplicated project and Elephant notices from individual source files, tests, and CI configuration. The upstream Elephant notice remains in LICENSE.txt as part of the redistributed license attribution.

Normalize author capitalization in pyproject.toml, correct the Sphinx release value from 0.1.0. to 0.1.0, and update the preprocessing example to import EventTimesToCounts from blockinvgpfa.

Introduce CITATION.cff with structured software metadata for GitHub and Zenodo, including the documented authorship, Harvard Medical School affiliations, repository links, manuscript keywords, and ORCID identifiers for Brooks M. Musangu and Jan Drugowitsch.

Make LICENSE.txt the authoritative copyright location, update the project copyright range through 2026, and remove duplicated project and Elephant notices from individual source files, tests, and CI configuration. The upstream Elephant notice remains in LICENSE.txt as part of the redistributed license attribution.

Normalize author capitalization in pyproject.toml, correct the Sphinx release value from 0.1.0. to 0.1.0, and update the preprocessing example to import EventTimesToCounts from blockinvgpfa.
@bmusangu
bmusangu requested a review from jdrugo August 9, 2026 08:50
Replace the floating Python 3.x CI selector with an explicit test matrix covering Python 3.10, 3.11, 3.12, and 3.13. Keep the documentation build on Python 3.13 to match the Read the Docs configuration.

Declare requires-python as >=3.10,<3.14 because the currently pinned NumPy 2.2.1 and SciPy 1.15.0 releases support Python 3.10 through 3.13. This prevents Python 3.14 from attempting unsupported source builds and makes the package metadata accurately describe the validated runtime range.

@jdrugo jdrugo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR. All looks good for me, except for excluding Python 3.14 and above. What is the reason for doing so?

Edit: I just saw the commit message for 28cb32c, which answers this question. I also tried running the tests with the upper bound removed, and the install fails when trying to build scipy. So, let's leave the upper bound in.

Comment thread pyproject.toml
license = {file = "LICENSE.txt"}
readme = "README.md"
requires-python = ">=3.9"
requires-python = ">=3.10,<3.14"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I understand, this excludes the current Python version 3.14. Is there a reason for doing this? Does the code not run on Python 3.14?

If it does, then we should remove the upper bound, as we generally cannot predict which future versions the code will work with.

If it does not, and the problem is easily fixable, then let's do that instead.

strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This excludes the current Python version 3.14. Is there a reason for not including 3.14?

@jdrugo
jdrugo merged commit cccb300 into main Aug 9, 2026
5 checks passed
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.

2 participants