Skip to content

python3Packages.tsfresh: 0.20.3 -> 0.21.0#416446

Merged
infinisil merged 1 commit intoNixOS:masterfrom
tweag:tsfresh-0.21.0
Jul 10, 2025
Merged

python3Packages.tsfresh: 0.20.3 -> 0.21.0#416446
infinisil merged 1 commit intoNixOS:masterfrom
tweag:tsfresh-0.21.0

Conversation

@YorikSar
Copy link
Contributor

@YorikSar YorikSar commented Jun 13, 2025

https://github.com/blue-yonder/tsfresh/blob/refs/tags/v0.21.0/CHANGES.rst

  • disable tests on Python verions where pandas-datareader doesn't work
  • add dependency on pywavelets that fixes incompatibility with the current version of scipy

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other contributing documentation in corresponding paths.

Add a 👍 reaction to pull requests you find important.

@nix-owners nix-owners bot requested a review from mbalatsko June 13, 2025 13:21
@github-actions github-actions bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 6.topic: python Python is a high-level, general-purpose programming language. labels Jun 13, 2025
@wolfgangwalther
Copy link
Contributor

Re-running CI due to a odd failure fixed in #416448

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/5586

Copy link
Contributor

@jherland jherland left a comment

Choose a reason for hiding this comment

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

LGTM with one minor nit.

Copy link
Contributor

Choose a reason for hiding this comment

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

I cannot see setuptools listed in the declared dependencies for this package, so I rather suspect that it's only needed as a tool while building the package. In that case, I think it's more idiomatic to pass it in as

  build-system = [ setuptools ];

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, fixed.

Copy link
Member

Choose a reason for hiding this comment

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

Hmm actually I can't import the package unless setuptools is added to the python environment:

> nix-shell -p 'python3.withPackages (p: [p.tsfresh])' -I nixpkgs=. --run python3
Python 3.13.4 (main, Jun  3 2025, 15:34:24) [GCC 14.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tsfresh
Traceback (most recent call last):
  File "<python-input-0>", line 1, in <module>
    import tsfresh
  File "/nix/store/lf4mlsp1k3iahmmclc7k29cxlrbx4fgv-python3-3.13.4-env/lib/python3.13/site-packages/tsfresh/__init__.py", line 12, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
>>> 
> nix-shell -p 'python3.withPackages (p: [p.tsfresh p.setuptools])' -I nixpkgs=. --run python3
Python 3.13.4 (main, Jun  3 2025, 15:34:24) [GCC 14.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tsfresh
>>>

It looks like it depends on it after all, though that is a bit odd

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If it indeed imports pkg_resources then it should be in dependencies, that's right. I think our pythonImportsCheckHook fails to catch this, because setuptools is present in PYTHONPATH during build and gone afterwards.
Should we have a separate test that imports packages after the build instead of or in addition to pythonImportsCheckHook?..
I'll move setuptools back into dependencies.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, with what you describe, setuptools should indeed be in dependencies, and actually the upstream project is in error for not including setuptools in its declared dependencies (FawltyDeps would have caught this, dammit... 😅).

I believe this specific case is actually quite common, as setuptools (which provides the setuptools and pkg_resources import names) used to be auto-installed into any new virtualenvs (until Python 3.12), so a missing dependency declaration would typically go unnoticed.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jul 3, 2025
https://github.com/blue-yonder/tsfresh/blob/refs/tags/v0.21.0/CHANGES.rst

* disable tests on Python verions where pandas-daatareader doesn't work
* add dependency on pywavelets that fixes incompatibility with the
  current version of scipy
Copy link
Member

@infinisil infinisil left a comment

Choose a reason for hiding this comment

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

LGTM!

@infinisil infinisil merged commit 6232503 into NixOS:master Jul 10, 2025
23 of 27 checks passed
@infinisil infinisil deleted the tsfresh-0.21.0 branch July 10, 2025 16:52
@nixpkgs-ci
Copy link
Contributor

nixpkgs-ci bot commented Jul 10, 2025

Successfully created backport PR for release-25.05:

@github-actions github-actions bot added the 8.has: port to stable This PR already has a backport to the stable release. label Jul 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 8.has: port to stable This PR already has a backport to the stable release. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants