Gaetan Lepage
2025-09-12 09:33:04 +02:00
parent d4b75c5608
commit bbb83ebef0
@@ -13,9 +13,11 @@
cachetools,
click,
fsspec,
google-auth,
mmh3,
pydantic,
pyparsing,
pyroaring,
ray,
requests,
rich,
@@ -26,14 +28,20 @@
# optional-dependencies
adlfs,
# getdaft,
google-cloud-bigquery,
# bodo,
# daft,
duckdb,
pyarrow,
pyiceberg-core,
boto3,
huggingface-hub,
gcsfs,
mypy-boto3-glue,
thrift,
kerberos,
# thrift-sasl,
pandas,
# pyiceberg-core,
s3fs,
python-snappy,
psycopg2-binary,
@@ -56,14 +64,14 @@
buildPythonPackage rec {
pname = "iceberg-python";
version = "0.9.1";
version = "0.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "apache";
repo = "iceberg-python";
tag = "pyiceberg-${version}";
hash = "sha256-OUj8z/UOIcK0S4tf6Id52YHweNDfYnX6P4nChXrOxqY=";
hash = "sha256-uR8nmKVjYjiArcNaf/Af2kGh14p59VV9g2mKPKmiJnc=";
};
patches = [
@@ -92,9 +100,11 @@ buildPythonPackage rec {
cachetools
click
fsspec
google-auth
mmh3
pydantic
pyparsing
pyroaring
ray
requests
rich
@@ -108,8 +118,14 @@ buildPythonPackage rec {
adlfs = [
adlfs
];
bigquery = [
google-cloud-bigquery
];
bodo = [
# bodo
];
daft = [
# getdaft
# daft
];
duckdb = [
duckdb
@@ -118,22 +134,30 @@ buildPythonPackage rec {
dynamodb = [
boto3
];
hf = [
huggingface-hub
];
gcsfs = [
gcsfs
];
glue = [
boto3
mypy-boto3-glue
];
hive = [
thrift
];
hive-kerberos = [
kerberos
thrift
# thrift-sasl
];
pandas = [
pandas
pyarrow
];
pyarrow = [
pyarrow
pyiceberg-core
];
ray = [
pandas
@@ -171,19 +195,19 @@ buildPythonPackage rec {
datafusion
fastavro
moto
mypy-boto3-glue
pandas
pyarrow
pyspark
pytest-lazy-fixture
pytest-mock
pytest-timeout
pytestCheckHook
requests-mock
s3fs
sqlalchemy
thrift
]
++ optional-dependencies.bigquery
++ optional-dependencies.hive
++ optional-dependencies.pandas
++ optional-dependencies.pyarrow
++ optional-dependencies.s3fs
++ optional-dependencies.sql-sqlite
++ moto.optional-dependencies.server;
pytestFlags = [
@@ -200,15 +224,20 @@ buildPythonPackage rec {
];
disabledTests = [
# KeyError: 'authorization'
"test_token_200"
"test_token_200_without_optional_fields"
"test_token_with_default_scope"
"test_token_with_optional_oauth_params"
"test_token_with_custom_scope"
# AttributeError: 'SessionContext' object has no attribute 'register_table_provider'
"test_datafusion_register_pyiceberg_tabl"
# ModuleNotFoundError: No module named 'puresasl'
"test_create_hive_client_with_kerberos"
"test_create_hive_client_with_kerberos_using_context_manager"
# Require unpackaged pyiceberg_core
"test_bucket_pyarrow_transforms"
"test_transform_consistency_with_pyarrow_transform"
"test_truncate_pyarrow_transforms"
# botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL
"test_checking_if_a_file_exists"
"test_closing_a_file"
@@ -227,6 +256,7 @@ buildPythonPackage rec {
"test_fsspec_pickle_roundtrip_gcs"
# Timeout (network access)
"test_config_200"
"test_fsspec_converting_an_outputfile_to_an_inputfile_adls"
"test_fsspec_new_abfss_output_file_adls"
"test_fsspec_new_input_file_adls"
@@ -234,12 +264,24 @@ buildPythonPackage rec {
"test_partitioned_write"
"test_token_200_w_oauth2_server_uri"
# azure.core.exceptions.ServiceRequestError (network access)
"test_converting_an_outputfile_to_an_inputfile_adls"
"test_file_tell_adls"
"test_getting_length_of_file_adls"
"test_new_input_file_adls"
"test_new_output_file_adls"
"test_raise_on_opening_file_not_found_adls"
"test_read_specified_bytes_for_file_adls"
"test_write_and_read_file_adls"
# Hangs forever (from tests/io/test_pyarrow.py)
"test_getting_length_of_file_gcs"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# ImportError: The pyarrow installation is not built with support for 'GcsFileSystem'
"test_converting_an_outputfile_to_an_inputfile_gcs"
"test_create_table_with_database_location"
"test_drop_table_with_database_location"
"test_new_input_file_gcs"
"test_new_output_file_gc"
@@ -247,6 +289,8 @@ buildPythonPackage rec {
# '/tmp/iceberg/warehouse/default.db/test_projection_partitions/metadata/00000-6c1c61a1-495f-45d3-903d-a2643431be91.metadata.json'
"test_identity_transform_column_projection"
"test_identity_transform_columns_projection"
"test_in_memory_catalog_context_manager"
"test_inspect_partition_for_nested_field"
]
++ lib.optionals (pythonAtLeast "3.13") [
# AssertionError: