26 , poetry-dynamic-versioning
55 ibisTestingData = fetchFromGitHub {
56 owner = "ibis-project";
57 repo = "testing-data";
58 rev = "3c39abfdb4b284140ff481e8f9fbb128b35f157a";
59 sha256 = "sha256-BZWi4kEumZemQeYoAtlUSw922p+R6opSWp/bmX0DjAo=";
63 buildPythonPackage rec {
64 pname = "ibis-framework";
68 disabled = pythonOlder "3.8";
70 src = fetchFromGitHub {
72 owner = "ibis-project";
74 hash = "sha256-YRP1nGJs4btqXQirm0GfEDKNPCVXexVrwQ6sE8JtD2o=";
77 nativeBuildInputs = [ poetry-core ];
79 propagatedBuildInputs = [
86 poetry-dynamic-versioning
103 ] ++ lib.concatMap (name: passthru.optional-dependencies.${name}) testBackends;
106 # setup.py exists only for developer convenience and is automatically generated
107 # it gets in the way in nixpkgs so we remove it
114 "'${lib.concatStringsSep " or " testBackends} or core'"
115 # this test fails on nixpkgs datafusion version (0.4.0), but works on
118 "'not datafusion-no_op'"
124 export IBIS_TEST_DATA_DIRECTORY
125 IBIS_TEST_DATA_DIRECTORY="ci/ibis-testing-data"
127 mkdir -p "$IBIS_TEST_DATA_DIRECTORY"
129 # copy the test data to a directory
130 rsync --chmod=Du+rwx,Fu+rw --archive "${ibisTestingData}/" "$IBIS_TEST_DATA_DIRECTORY"
134 rm -r "$IBIS_TEST_DATA_DIRECTORY"
137 pythonImportsCheck = [
139 ] ++ map (backend: "ibis.backends.${backend}") testBackends;
142 optional-dependencies = {
143 clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 sqlglot ];
144 dask = [ dask pyarrow ];
145 datafusion = [ datafusion ];
146 duckdb = [ duckdb duckdb-engine pyarrow sqlalchemy sqlglot ];
147 geospatial = [ geoalchemy2 geopandas shapely ];
148 mysql = [ sqlalchemy pymysql sqlglot ];
150 postgres = [ psycopg2 sqlalchemy sqlglot ];
151 pyspark = [ pyarrow pyspark ];
152 sqlite = [ sqlalchemy sqlite sqlglot ];
153 visualization = [ graphviz-nox ];
158 description = "Productivity-centric Python Big Data Framework";
159 homepage = "https://github.com/ibis-project/ibis";
160 license = licenses.asl20;
161 maintainers = with maintainers; [ costrouc cpcloud ];