gnu: python-pandas: Move to (gnu packages python-science).

* gnu/packages/python-xyz.scm (python-pandas, python2-pandas): Move from
here...
* gnu/packages/python-science.scm (python-pandas, python2-pandas): ...to here.
* gnu/packages/benchmark.scm, gnu/packages/databases.scm,
gnu/packages/graph.scm, gnu/packages/parallel.scm,
gnu/packages/serialization.scm: Import (gnu packages python-science).
This commit is contained in:
Ricardo Wurmus 2019-12-04 08:56:36 +01:00
parent dc3e62a494
commit 312ec128af
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
7 changed files with 101 additions and 91 deletions

@ -35,6 +35,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages storage)
#:use-module (ice-9 match))

@ -97,6 +97,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)

@ -43,6 +43,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages statistics)

@ -44,6 +44,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)

@ -1,10 +1,13 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,8 +33,10 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages time)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@ -191,3 +196,92 @@ routines such as routines for numerical integration and optimization.")
(define-public python2-scikit-image
(package-with-python2 python-scikit-image))
(define-public python-pandas
(package
(name "python-pandas")
(version "0.25.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
(base32 "1gp2pvzdiakvgjmykdzdlzrsfbg4vjm49jjdl9s0ha0a3yfs34fa"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build python-build-system)
(ice-9 ftw)
(srfi srfi-26))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-which
(lambda* (#:key inputs #:allow-other-keys)
(let ((which (assoc-ref inputs "which")))
(substitute* "pandas/io/clipboard/__init__.py"
(("^CHECK_CMD = .*")
(string-append "CHECK_CMD = \"" which "\"\n"))))
#t))
(replace 'check
(lambda _
(let ((build-directory
(string-append
(getcwd) "/build/"
(car (scandir "build"
(cut string-prefix? "lib." <>))))))
;; Disable the "strict data files" option which causes
;; the build to error out if required data files are
;; not available (as is the case with PyPI archives).
(substitute* "setup.cfg"
(("addopts = --strict-data-files") "addopts = "))
(with-directory-excursion build-directory
;; Delete tests that require "moto" which is not yet
;; in Guix.
(for-each delete-file
'("pandas/tests/io/conftest.py"
"pandas/tests/io/json/test_compression.py"
"pandas/tests/io/parser/test_network.py"
"pandas/tests/io/test_parquet.py"))
(invoke "pytest" "-vv" "pandas" "--skip-slow"
"--skip-network" "-k"
;; XXX: Due to the deleted tests above.
"not test_read_s3_jsonl"))))))))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-openpyxl" ,python-openpyxl)
("python-pytz" ,python-pytz)
("python-dateutil" ,python-dateutil)
("python-xlrd" ,python-xlrd)))
(inputs
`(("which" ,which)))
(native-inputs
`(("python-cython" ,python-cython)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-lxml" ,python-lxml)
("python-html5lib" ,python-html5lib)
("python-nose" ,python-nose)
("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://pandas.pydata.org")
(synopsis "Data structures for data analysis, time series, and statistics")
(description
"Pandas is a Python package providing fast, flexible, and expressive data
structures designed to make working with structured (tabular,
multidimensional, potentially heterogeneous) and time series data both easy
and intuitive. It aims to be the fundamental high-level building block for
doing practical, real world data analysis in Python.")
(properties `((python2-variant . ,(delay python2-pandas))))
(license license:bsd-3)))
;; Pandas 0.24.x are the last versions that support Python 2.
(define-public python2-pandas
(let ((pandas (package-with-python2
(strip-python2-variant python-pandas))))
(package/inherit
pandas
(version "0.24.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
(base32
"18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))))))

@ -1155,95 +1155,6 @@ human-friendly syntax.")
(define-public python2-schedule
(package-with-python2 python-schedule))
(define-public python-pandas
(package
(name "python-pandas")
(version "0.25.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
(base32 "1gp2pvzdiakvgjmykdzdlzrsfbg4vjm49jjdl9s0ha0a3yfs34fa"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build python-build-system)
(ice-9 ftw)
(srfi srfi-26))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-which
(lambda* (#:key inputs #:allow-other-keys)
(let ((which (assoc-ref inputs "which")))
(substitute* "pandas/io/clipboard/__init__.py"
(("^CHECK_CMD = .*")
(string-append "CHECK_CMD = \"" which "\"\n"))))
#t))
(replace 'check
(lambda _
(let ((build-directory
(string-append
(getcwd) "/build/"
(car (scandir "build"
(cut string-prefix? "lib." <>))))))
;; Disable the "strict data files" option which causes
;; the build to error out if required data files are
;; not available (as is the case with PyPI archives).
(substitute* "setup.cfg"
(("addopts = --strict-data-files") "addopts = "))
(with-directory-excursion build-directory
;; Delete tests that require "moto" which is not yet
;; in Guix.
(for-each delete-file
'("pandas/tests/io/conftest.py"
"pandas/tests/io/json/test_compression.py"
"pandas/tests/io/parser/test_network.py"
"pandas/tests/io/test_parquet.py"))
(invoke "pytest" "-vv" "pandas" "--skip-slow"
"--skip-network" "-k"
;; XXX: Due to the deleted tests above.
"not test_read_s3_jsonl"))))))))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-openpyxl" ,python-openpyxl)
("python-pytz" ,python-pytz)
("python-dateutil" ,python-dateutil)
("python-xlrd" ,python-xlrd)))
(inputs
`(("which" ,which)))
(native-inputs
`(("python-cython" ,python-cython)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-lxml" ,python-lxml)
("python-html5lib" ,python-html5lib)
("python-nose" ,python-nose)
("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://pandas.pydata.org")
(synopsis "Data structures for data analysis, time series, and statistics")
(description
"Pandas is a Python package providing fast, flexible, and expressive data
structures designed to make working with structured (tabular,
multidimensional, potentially heterogeneous) and time series data both easy
and intuitive. It aims to be the fundamental high-level building block for
doing practical, real world data analysis in Python.")
(properties `((python2-variant . ,(delay python2-pandas))))
(license license:bsd-3)))
;; Pandas 0.24.x are the last versions that support Python 2.
(define-public python2-pandas
(let ((pandas (package-with-python2
(strip-python2-variant python-pandas))))
(package/inherit
pandas
(version "0.24.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
(base32
"18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))))))
(define-public python2-mechanize
(package
(name "python2-mechanize")

@ -46,6 +46,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages perl))