+1 (non-binding)

Passing: 
Verified LICENSE in the tarball
Checked sha512 sums and signatures
Ran all non-s3 related tests using poetry and they are all passing (`poetry run 
pytest tests/ -m "not s3”`)

---
However I am running some issue to use it as CLI ( I think it’s related to my 
own runtime but I kind of need to borrow 2nd pair of eyes)

With local HMS running on port 9083, but somehow my hive catalog cannot load 
properly

➜  python git:(577867e88) ✗ pyiceberg --verbose true --uri 
thrift:localhost:9083 list
TypeError: 'type' object is not subscriptable

The stack trace point to 
/Users/stevezhang/Library/Python/3.8/lib/python/site-packages/pyiceberg/catalog/__init__.py:157
 or 
https://github.com/apache/iceberg/blame/master/python/pyiceberg/catalog/__init__.py#L157
 
<https://github.com/apache/iceberg/blame/master/python/pyiceberg/catalog/__init__.py#L157>

But I cannot seem to figure out what’s wrong here.


Thanks,
Steve Zhang



> On Dec 6, 2022, at 3:36 PM, Ryan Blue <b...@tabular.io> wrote:
> 
> Russell, we normally test with `make test`, which runs everything but the S3 
> mock stuff since that runs in CI. That said, it would be great if we could 
> get `poetry run pytest` to work out of the box!
> 
> On Tue, Dec 6, 2022 at 2:58 PM Russell Spitzer <russell.spit...@gmail.com 
> <mailto:russell.spit...@gmail.com>> wrote:
> I tried one last time via Intellij, Intellij also required that I mark all 
> the dependencies as required to run the tests and also failed the same 
> localhost:9000 mock s3 tests. 
> 
> On Tue, Dec 6, 2022 at 4:41 PM Russell Spitzer <russell.spit...@gmail.com 
> <mailto:russell.spit...@gmail.com>> wrote:
> 
> Checked sigs, checksums and licenses which all worked but I was unable to run 
> the tests following the instructions here
> 
> https://pypi.org/project/pyiceberg/ <https://pypi.org/project/pyiceberg/>
> Except using the downloaded source directory
> 
> This gave me an exception 
> 
> ImportError while loading conftest 
> '/Users/russellspitzer/Temp/py2/pyiceberg-0.2.0/tests/conftest.py'.
> tests/conftest.py:39: in <module>
>     import aiobotocore.awsrequest
> E   ModuleNotFoundError: No module named 'aiobotocore'
> After trying for a while to just get pip to work by itself I finally read up 
> on modern python development and kept trying with poetry. The missing common 
> is that the pytests require all of the optional modules in the toml file. So 
> I ran 
> 
> poetry install --all-extras
> 
> And was able to run tests, at that point I have several tests failing because 
> they cannot connect to localhost 9000
> 
> poetry run pytest
> 
> FAILED tests/io/test_fsspec.py::test_fsspec_write_and_read_file - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/5986dc6d-b728-499b-90. 
> <http://localhost:9000/warehouse/5986dc6d-b728-499b-90.>..
> FAILED tests/io/test_fsspec.py::test_fsspec_getting_length_of_file - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/93cee4d6-28fe-49e7-ac. 
> <http://localhost:9000/warehouse/93cee4d6-28fe-49e7-ac.>..
> FAILED tests/io/test_fsspec.py::test_fsspec_file_tell - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/c90742fa-630c-4c62-ae. 
> <http://localhost:9000/warehouse/c90742fa-630c-4c62-ae.>..
> FAILED tests/io/test_fsspec.py::test_fsspec_read_specified_bytes_for_file - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/79cc6aa6-ca1f-4bac-87. 
> <http://localhost:9000/warehouse/79cc6aa6-ca1f-4bac-87.>..
> FAILED tests/io/test_fsspec.py::test_fsspec_raise_on_opening_file_not_found - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/0b386f73-c355-482b-aa. 
> <http://localhost:9000/warehouse/0b386f73-c355-482b-aa.>..
> FAILED tests/io/test_fsspec.py::test_checking_if_a_file_exists - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/does-not-exist.txt 
> <http://localhost:9000/warehouse/does-not-exist.txt>"
> FAILED tests/io/test_fsspec.py::test_closing_a_file - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/cf6773cf-17db-454a-be. 
> <http://localhost:9000/warehouse/cf6773cf-17db-454a-be.>..
> FAILED tests/io/test_fsspec.py::test_writing_avro_file - 
> botocore.exceptions.EndpointConnectionError: Could not connect to the 
> endpoint URL: "http://localhost:9000/warehouse/8091cbdc-fcf5-46a8-99. 
> <http://localhost:9000/warehouse/8091cbdc-fcf5-46a8-99.>..
> 
> Which looks like the moto s3 mock isn't working
> 
> I'm either missing something or the documentation is, if it's just doc's I 
> wouldn't want to hold the release but I feel like this should probably work 
> out of the box
> 
> 
> -- 
> Ryan Blue
> Tabular

Reply via email to