Prune dependency upper bounds (#3586) This PR removes as many upperbounds restrictions as possible from our dependencies. Why remove unnecessary upper bounds: - Makes PyIceberg easier to install alongside applications that already use newer compatible dependency versions. - Reduces resolver conflicts and forced downgrades for downstream users, while keeping caps where there is a real compatibility boundary or known bad version. We already removed upperbound for pyarrow in #2258 And theres a request to remove upperbound for cachetools in #3214 Closes #3214 Changes: - Removes upper bounds that passed local validation, while keeping the remaining compatibility caps. - Refreshes `uv.lock` with upgraded packages. - Updates tests for newer Moto and PyArrow behavior exposed by the lockfile refresh. Validation: - `make test PYTHON=3.12` (`3736 passed, 1534 deselected`)
PyIceberg is a Python library for programmatic access to Iceberg table metadata as well as to table data in Iceberg format. It is a Python implementation of the Iceberg table spec.
The documentation is available at https://py.iceberg.apache.org/.