forked from mirrors/nixpkgs
Merge pull request #155850 from cpcloud/bump-ibis-framework
python3Packages.ibis-framework: 1.3.0 -> 2.1.1
This commit is contained in:
commit
15dadc7870
|
@ -1,10 +1,23 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy27, pythonAtLeast
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pythonOlder
|
||||||
|
, pytestCheckHook
|
||||||
|
, atpublic
|
||||||
|
, cached-property
|
||||||
|
, clickhouse-driver
|
||||||
|
, click
|
||||||
|
, dask
|
||||||
, graphviz
|
, graphviz
|
||||||
|
, importlib-metadata
|
||||||
, multipledispatch
|
, multipledispatch
|
||||||
, numpy
|
, numpy
|
||||||
, pandas
|
, pandas
|
||||||
|
, parsy
|
||||||
, pyarrow
|
, pyarrow
|
||||||
, pytest
|
, pytest
|
||||||
|
, pytest-mock
|
||||||
|
, pytest-xdist
|
||||||
, pytz
|
, pytz
|
||||||
, regex
|
, regex
|
||||||
, requests
|
, requests
|
||||||
|
@ -12,54 +25,117 @@
|
||||||
, tables
|
, tables
|
||||||
, toolz
|
, toolz
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
# ignore tests for which dependencies are not available
|
||||||
|
backends = [
|
||||||
|
"csv"
|
||||||
|
"dask"
|
||||||
|
"hdf5"
|
||||||
|
"pandas"
|
||||||
|
"parquet"
|
||||||
|
"sqlite"
|
||||||
|
];
|
||||||
|
|
||||||
|
backendsString = lib.concatStringsSep " " backends;
|
||||||
|
|
||||||
|
ibisTestingData = fetchFromGitHub {
|
||||||
|
owner = "ibis-project";
|
||||||
|
repo = "testing-data";
|
||||||
|
rev = "743201a35c6b968cf55b054f9d28949ea15d1f0a";
|
||||||
|
sha256 = "sha256-xuSE6wHP3aF8lnEE2SuFbTRBu49ecRmc1F3HPcszptI=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ibis-framework";
|
pname = "ibis-framework";
|
||||||
version = "1.3.0";
|
version = "2.1.1";
|
||||||
disabled = isPy27 || pythonAtLeast "3.8";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
repo = "ibis";
|
||||||
sha256 = "1my94a11jzg1hv6ln8wxklbqrg6z5l2l77vr89aq0829yyxacmv7";
|
owner = "ibis-project";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# fix tests for pandas 1.1
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/ibis-project/ibis/commit/53ef3cefc4ae90d61f3612310cb36da2bcd11305.diff";
|
|
||||||
sha256 = "1i5yjmqridjqpggiinsjaz5spcxca5bd48vy7a0mj4mm1b5flw2m";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
atpublic
|
||||||
|
cached-property
|
||||||
|
clickhouse-driver
|
||||||
|
dask
|
||||||
|
graphviz
|
||||||
multipledispatch
|
multipledispatch
|
||||||
numpy
|
numpy
|
||||||
pandas
|
pandas
|
||||||
|
parsy
|
||||||
|
pyarrow
|
||||||
pytz
|
pytz
|
||||||
regex
|
regex
|
||||||
toolz
|
|
||||||
sqlalchemy
|
|
||||||
requests
|
requests
|
||||||
graphviz
|
sqlalchemy
|
||||||
tables
|
tables
|
||||||
pyarrow
|
toolz
|
||||||
];
|
] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
click
|
||||||
pytest
|
pytest
|
||||||
|
pytest-mock
|
||||||
|
pytest-xdist
|
||||||
];
|
];
|
||||||
|
|
||||||
# ignore tests which require test dataset, or frameworks not available
|
# these tests are broken upstream: https://github.com/ibis-project/ibis/issues/3291
|
||||||
checkPhase = ''
|
disabledTests = [
|
||||||
pytest ibis \
|
"test_summary_numeric"
|
||||||
--ignore=ibis/tests/all \
|
"test_summary_non_numeric"
|
||||||
--ignore=ibis/{sql,spark}
|
"test_batting_most_hits"
|
||||||
|
"test_join_with_window_function"
|
||||||
|
"test_where_long"
|
||||||
|
"test_quantile_groupby"
|
||||||
|
"test_summary_numeric"
|
||||||
|
"test_summary_numeric_group_by"
|
||||||
|
"test_summary_non_numeric"
|
||||||
|
"test_searched_case_column"
|
||||||
|
"test_simple_case_column"
|
||||||
|
"test_summary_non_numeric_group_by"
|
||||||
|
];
|
||||||
|
|
||||||
|
pytestFlagsArray = [
|
||||||
|
"--numprocesses $NIX_BUILD_CORES"
|
||||||
|
"ibis/tests"
|
||||||
|
"ibis/backends/tests"
|
||||||
|
"ibis/backends/{${lib.concatStringsSep "," backends}}/tests"
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
export IBIS_TEST_DATA_DIRECTORY
|
||||||
|
IBIS_TEST_DATA_DIRECTORY="$(mktemp -d)"
|
||||||
|
|
||||||
|
# copy the test data to a writable directory
|
||||||
|
cp -r ${ibisTestingData}/* "$IBIS_TEST_DATA_DIRECTORY"
|
||||||
|
|
||||||
|
find "$IBIS_TEST_DATA_DIRECTORY" -type d -exec chmod u+rwx {} +
|
||||||
|
find "$IBIS_TEST_DATA_DIRECTORY" -type f -exec chmod u+rw {} +
|
||||||
|
|
||||||
|
# load data
|
||||||
|
for backend in ${backendsString}; do
|
||||||
|
python ci/datamgr.py "$backend" &
|
||||||
|
done
|
||||||
|
|
||||||
|
wait
|
||||||
|
|
||||||
|
export PYTEST_BACKENDS="${backendsString}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "ibis" ] ++ (map (backend: "ibis.backends.${backend}") backends);
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Productivity-centric Python Big Data Framework";
|
description = "Productivity-centric Python Big Data Framework";
|
||||||
homepage = "https://github.com/ibis-project/ibis";
|
homepage = "https://github.com/ibis-project/ibis";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = [ maintainers.costrouc ];
|
maintainers = with maintainers; [ costrouc cpcloud ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue