Skip to content

Commit

Permalink
Revert "Resurrect pandas 0.17.1"
Browse files Browse the repository at this point in the history
This reverts commit 96874c6.

- No package depends on this version.
- As a guideline we only keep one version of each package. Exceptions exist but only with a good reason.
- Expressions shouldn't be in `python-packages.nix` but in `python-modules`, as explained in the docs and the header of the file.
- I won't maintain these versions.
  • Loading branch information
FRidh committed Oct 7, 2017
1 parent e3bda92 commit 6f1f1a5
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 111 deletions.
56 changes: 0 additions & 56 deletions pkgs/development/python-modules/scipy/0.17.1.nix

This file was deleted.

55 changes: 0 additions & 55 deletions pkgs/top-level/python-packages.nix
Expand Up @@ -14990,59 +14990,6 @@ in {

pandas = callPackage ../development/python-modules/pandas { };

pandas_17 = let
inherit (pkgs.stdenv.lib) optional optionalString;
inherit (pkgs.stdenv) isDarwin;
in buildPythonPackage rec {
name = "pandas-${version}";
version = "0.17.1";

src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/p/pandas/${name}.tar.gz";
sha256 = "cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837";
};

buildInputs = with self; [ nose ] ++ optional isDarwin pkgs.libcxx;
propagatedBuildInputs = with self; [
dateutil
scipy_0_17
numexpr
pytz
xlrd
bottleneck
sqlalchemy
lxml
html5lib
# modules.sqlite3
beautifulsoup4
] ++ optional isDarwin pkgs.darwin.locale; # provides the locale command

# For OSX, we need to add a dependency on libcxx, which provides
# `complex.h` and other libraries that pandas depends on to build.
patchPhase = optionalString isDarwin ''
cpp_sdk="${pkgs.libcxx}/include/c++/v1";
echo "Adding $cpp_sdk to the setup.py common_include variable"
substituteInPlace setup.py \
--replace "['pandas/src/klib', 'pandas/src']" \
"['pandas/src/klib', 'pandas/src', '$cpp_sdk']"

# disable clipboard tests since pbcopy/pbpaste are not open source
substituteInPlace pandas/io/tests/test_clipboard.py \
--replace pandas.util.clipboard no_such_module \
--replace OSError ImportError
'';

doCheck = false;

meta = {
homepage = "http://pandas.pydata.org/";
description = "Python Data Analysis Library";
license = licenses.bsd3;
maintainers = with maintainers; [ raskin fridh ];
platforms = platforms.unix;
};
};

xlrd = buildPythonPackage rec {
name = "xlrd-${version}";

Expand Down Expand Up @@ -19402,8 +19349,6 @@ in {

scipy = callPackage ../development/python-modules/scipy { };

scipy_0_17 = callPackage ../development/python-modules/scipy/0.17.1.nix { };

scikitimage = buildPythonPackage rec {
name = "scikit-image-${version}";
version = "0.12.3";
Expand Down

6 comments on commit 6f1f1a5

@FRidh
Copy link
Member Author

@FRidh FRidh commented on 6f1f1a5 Oct 7, 2017

Choose a reason for hiding this comment

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

cc @shlevy

@shlevy
Copy link
Member

@shlevy shlevy commented on 6f1f1a5 Oct 7, 2017

Choose a reason for hiding this comment

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

Pandas is an end-user library with changing API, we have code that depends on the old version. Sorry about the maintainer field, I should have removed that when I resurrected these from git. I'll re-add with me as a maintainer.

@FRidh
Copy link
Member Author

@FRidh FRidh commented on 6f1f1a5 Oct 7, 2017

Choose a reason for hiding this comment

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

Still, we only keep a single version. I suggest keeping the version you need in your copy of Nixpkgs or as an overlay.

@shlevy
Copy link
Member

@shlevy shlevy commented on 6f1f1a5 Oct 7, 2017

Choose a reason for hiding this comment

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

There are plenty of other packages in nixpkgs we keep multiple versions of. The point of a package repo is to provide packages users want to use. There's no reason not to add this if there's a use case for it.

@FRidh
Copy link
Member Author

@FRidh FRidh commented on 6f1f1a5 Oct 7, 2017

Choose a reason for hiding this comment

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

There are plenty of other packages in nixpkgs we keep multiple versions of. The point of a package repo is to provide packages users want to use. There's no reason not to add this if there's a use case for it.

But are there other users that are interested in exactly this combination of two packages? You wrote

we have code that depends on the old version

so to me it seems that you then provide that specific version there.

In any case, a (fixable) issue remaining is also that your package (pandas) depends on a specific version of another package (scipy_17). This causes problems if you create a python env and have other packages that depend on the other version of scipy. Therefore, if we would add them, they should not depend on a specific version. An example is Django. However, then you will need to override the package set at which point you may as well have your whole pandas/scipy expression there as well...

@shlevy
Copy link
Member

@shlevy shlevy commented on 6f1f1a5 Oct 7, 2017

Choose a reason for hiding this comment

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

I was under the impression (based on the commit I pulled this from) that pandas 0.17 required scipy 0.17. I am testing now to see if pandas 0.17 can work with our current scipy version.

I don't know if others will use this version, but I am still able to find recent questions about it on stack overflow etc. so it seems so. In any case, we do not require maintainers to prove that multiple users use the packages they maintain, and there's no reason to here. If no others use it, oh well. If others do want to use it, they get to benefit from the fact that the expression is already here and maintained.

Please sign in to comment.