Loading pkgs/development/python-modules/ibis-framework/default.nix +129 −37 Original line number Diff line number Diff line Loading @@ -5,20 +5,19 @@ pythonOlder, pytestCheckHook, atpublic, bidict, black, clickhouse-connect, dask, datafusion, db-dtypes, duckdb, fetchpatch, filelock, geopandas, google-cloud-bigquery, google-cloud-bigquery-storage, graphviz, hypothesis, multipledispatch, numpy, oracledb, packaging, Loading Loading @@ -57,25 +56,24 @@ }: let testBackends = [ "datafusion" "duckdb" "pandas" "sqlite" "datafusion" ]; ibisTestingData = fetchFromGitHub { name = "ibis-testing-data"; owner = "ibis-project"; repo = "testing-data"; # https://github.com/ibis-project/ibis/blob/9.1.0/nix/overlay.nix#L20-L26 rev = "6737d1cb5951cabaccd095a3ae62a93dbd11ecb9"; hash = "sha256-MoVTZPWh4KVlrICYACrgfeLdl/fqoa1iweNg3zUtdrs="; # https://github.com/ibis-project/ibis/blob/9.5.0/nix/overlay.nix#L20-L26 rev = "b26bd40cf29004372319df620c4bbe41420bb6f8"; sha256 = "sha256-1fenQNQB+Q0pbb0cbK2S/UIwZDE4PXXG15MH3aVbyLU="; }; in buildPythonPackage rec { pname = "ibis-framework"; version = "9.1.0"; version = "9.5.0"; pyproject = true; disabled = pythonOlder "3.10"; Loading @@ -85,9 +83,18 @@ buildPythonPackage rec { repo = "ibis"; owner = "ibis-project"; rev = "refs/tags/${version}"; hash = "sha256-GmzmXzYMs7K7B//is3ZoD4muPAkb0tM56zFBbsA+NEo="; hash = "sha256-6ebw/E3jZFMHKqC5ZY//2Ke0NrklyoGp5JGKBfDxy40="; }; patches = [ # remove after the 10.0 release (fetchpatch { name = "ibis-framework-duckdb-1.1.1.patch"; url = "https://github.com/ibis-project/ibis/commit/a54eceabac1d6592e9f6ab0ca7749e37a748c2ad.patch"; hash = "sha256-j5BPYVqnEF9GQV5N3/VhFUCdsEwAIOQC0KfZ5LNBSRg="; }) ]; nativeBuildInputs = [ poetry-core poetry-dynamic-versioning Loading @@ -98,16 +105,9 @@ buildPythonPackage rec { propagatedBuildInputs = [ atpublic bidict multipledispatch numpy pandas parsy pyarrow pyarrow-hotfix python-dateutil pytz rich sqlglot toolz typing-extensions Loading @@ -124,13 +124,17 @@ buildPythonPackage rec { pytest-randomly pytest-snapshot pytest-timeout # this dependency is still needed due to use of strict markers and # `pytest.mark.xdist_group` in the ibis codebase pytest-xdist ] ++ lib.concatMap (name: optional-dependencies.${name}) testBackends; dontUsePytestXdist = true; pytestFlagsArray = [ "--dist=loadgroup" "-m" "'${lib.concatStringsSep " or " testBackends} or core'" # tpcds and tpch are slow, so disable them "'not tpcds and not tpch and (${lib.concatStringsSep " or " testBackends} or core)'" ]; disabledTests = [ Loading @@ -142,6 +146,7 @@ buildPythonPackage rec { "test_register_sqlite" # requires network connection "test_s3_403_fallback" "test_hugging_face" # requires pytest 8.2+ "test_roundtrip_delta" ]; Loading Loading @@ -172,44 +177,131 @@ buildPythonPackage rec { db-dtypes google-cloud-bigquery google-cloud-bigquery-storage pyarrow pyarrow-hotfix pydata-google-auth numpy pandas rich ]; clickhouse = [ clickhouse-connect ]; dask = [ dask regex packaging clickhouse = [ clickhouse-connect pyarrow pyarrow-hotfix numpy pandas rich ]; datafusion = [ datafusion pyarrow pyarrow-hotfix numpy pandas rich ]; druid = [ pydruid pyarrow pyarrow-hotfix numpy pandas rich ]; duckdb = [ duckdb pyarrow pyarrow-hotfix numpy pandas rich ]; flink = [ pyarrow pyarrow-hotfix numpy pandas rich ]; datafusion = [ datafusion ]; druid = [ pydruid ]; duckdb = [ duckdb ]; flink = [ ]; geospatial = [ geopandas shapely ]; mssql = [ pyodbc ]; mysql = [ pymysql ]; mssql = [ pyodbc pyarrow pyarrow-hotfix numpy pandas rich ]; mysql = [ pymysql pyarrow pyarrow-hotfix numpy pandas rich ]; oracle = [ oracledb packaging ]; pandas = [ regex packaging pyarrow pyarrow-hotfix numpy pandas rich ]; polars = [ polars packaging pyarrow pyarrow-hotfix numpy pandas rich ]; postgres = [ psycopg2 pyarrow pyarrow-hotfix numpy pandas rich ]; postgres = [ psycopg2 ]; pyspark = [ pyspark packaging pyarrow pyarrow-hotfix numpy pandas rich ]; snowflake = [ snowflake-connector-python pyarrow pyarrow-hotfix numpy pandas rich ]; sqlite = [ regex pyarrow pyarrow-hotfix numpy pandas rich ]; trino = [ trino-python-client pyarrow pyarrow-hotfix numpy pandas rich ]; snowflake = [ snowflake-connector-python ]; sqlite = [ regex ]; trino = [ trino-python-client ]; visualization = [ graphviz ]; decompiler = [ black ]; examples = [ pins ] ++ pins.optional-dependencies.gcs; Loading Loading
pkgs/development/python-modules/ibis-framework/default.nix +129 −37 Original line number Diff line number Diff line Loading @@ -5,20 +5,19 @@ pythonOlder, pytestCheckHook, atpublic, bidict, black, clickhouse-connect, dask, datafusion, db-dtypes, duckdb, fetchpatch, filelock, geopandas, google-cloud-bigquery, google-cloud-bigquery-storage, graphviz, hypothesis, multipledispatch, numpy, oracledb, packaging, Loading Loading @@ -57,25 +56,24 @@ }: let testBackends = [ "datafusion" "duckdb" "pandas" "sqlite" "datafusion" ]; ibisTestingData = fetchFromGitHub { name = "ibis-testing-data"; owner = "ibis-project"; repo = "testing-data"; # https://github.com/ibis-project/ibis/blob/9.1.0/nix/overlay.nix#L20-L26 rev = "6737d1cb5951cabaccd095a3ae62a93dbd11ecb9"; hash = "sha256-MoVTZPWh4KVlrICYACrgfeLdl/fqoa1iweNg3zUtdrs="; # https://github.com/ibis-project/ibis/blob/9.5.0/nix/overlay.nix#L20-L26 rev = "b26bd40cf29004372319df620c4bbe41420bb6f8"; sha256 = "sha256-1fenQNQB+Q0pbb0cbK2S/UIwZDE4PXXG15MH3aVbyLU="; }; in buildPythonPackage rec { pname = "ibis-framework"; version = "9.1.0"; version = "9.5.0"; pyproject = true; disabled = pythonOlder "3.10"; Loading @@ -85,9 +83,18 @@ buildPythonPackage rec { repo = "ibis"; owner = "ibis-project"; rev = "refs/tags/${version}"; hash = "sha256-GmzmXzYMs7K7B//is3ZoD4muPAkb0tM56zFBbsA+NEo="; hash = "sha256-6ebw/E3jZFMHKqC5ZY//2Ke0NrklyoGp5JGKBfDxy40="; }; patches = [ # remove after the 10.0 release (fetchpatch { name = "ibis-framework-duckdb-1.1.1.patch"; url = "https://github.com/ibis-project/ibis/commit/a54eceabac1d6592e9f6ab0ca7749e37a748c2ad.patch"; hash = "sha256-j5BPYVqnEF9GQV5N3/VhFUCdsEwAIOQC0KfZ5LNBSRg="; }) ]; nativeBuildInputs = [ poetry-core poetry-dynamic-versioning Loading @@ -98,16 +105,9 @@ buildPythonPackage rec { propagatedBuildInputs = [ atpublic bidict multipledispatch numpy pandas parsy pyarrow pyarrow-hotfix python-dateutil pytz rich sqlglot toolz typing-extensions Loading @@ -124,13 +124,17 @@ buildPythonPackage rec { pytest-randomly pytest-snapshot pytest-timeout # this dependency is still needed due to use of strict markers and # `pytest.mark.xdist_group` in the ibis codebase pytest-xdist ] ++ lib.concatMap (name: optional-dependencies.${name}) testBackends; dontUsePytestXdist = true; pytestFlagsArray = [ "--dist=loadgroup" "-m" "'${lib.concatStringsSep " or " testBackends} or core'" # tpcds and tpch are slow, so disable them "'not tpcds and not tpch and (${lib.concatStringsSep " or " testBackends} or core)'" ]; disabledTests = [ Loading @@ -142,6 +146,7 @@ buildPythonPackage rec { "test_register_sqlite" # requires network connection "test_s3_403_fallback" "test_hugging_face" # requires pytest 8.2+ "test_roundtrip_delta" ]; Loading Loading @@ -172,44 +177,131 @@ buildPythonPackage rec { db-dtypes google-cloud-bigquery google-cloud-bigquery-storage pyarrow pyarrow-hotfix pydata-google-auth numpy pandas rich ]; clickhouse = [ clickhouse-connect ]; dask = [ dask regex packaging clickhouse = [ clickhouse-connect pyarrow pyarrow-hotfix numpy pandas rich ]; datafusion = [ datafusion pyarrow pyarrow-hotfix numpy pandas rich ]; druid = [ pydruid pyarrow pyarrow-hotfix numpy pandas rich ]; duckdb = [ duckdb pyarrow pyarrow-hotfix numpy pandas rich ]; flink = [ pyarrow pyarrow-hotfix numpy pandas rich ]; datafusion = [ datafusion ]; druid = [ pydruid ]; duckdb = [ duckdb ]; flink = [ ]; geospatial = [ geopandas shapely ]; mssql = [ pyodbc ]; mysql = [ pymysql ]; mssql = [ pyodbc pyarrow pyarrow-hotfix numpy pandas rich ]; mysql = [ pymysql pyarrow pyarrow-hotfix numpy pandas rich ]; oracle = [ oracledb packaging ]; pandas = [ regex packaging pyarrow pyarrow-hotfix numpy pandas rich ]; polars = [ polars packaging pyarrow pyarrow-hotfix numpy pandas rich ]; postgres = [ psycopg2 pyarrow pyarrow-hotfix numpy pandas rich ]; postgres = [ psycopg2 ]; pyspark = [ pyspark packaging pyarrow pyarrow-hotfix numpy pandas rich ]; snowflake = [ snowflake-connector-python pyarrow pyarrow-hotfix numpy pandas rich ]; sqlite = [ regex pyarrow pyarrow-hotfix numpy pandas rich ]; trino = [ trino-python-client pyarrow pyarrow-hotfix numpy pandas rich ]; snowflake = [ snowflake-connector-python ]; sqlite = [ regex ]; trino = [ trino-python-client ]; visualization = [ graphviz ]; decompiler = [ black ]; examples = [ pins ] ++ pins.optional-dependencies.gcs; Loading