ImportError: cannot import name 'FeatherReader' from 'pyarrow.feather'
Third-person routing text. Fixes ImportError for FeatherReader from pyarrow.feather: old pyscenic imports a class pyarrow removed. Upgrade pyscenic to a compatible release or pin an older pyarrow. Use when an agent hits this importing pyscenic. Not for user code.
TL;DR: your pyscenic is too old for your pyarrow. pyarrow removed FeatherReader, so upgrade pyscenic to a compatible release, or pin an older pyarrow.
The error
ImportError: cannot import name 'FeatherReader' from 'pyarrow.feather'Fix it
- Upgrade pyscenic:
pip install -U pyscenicExpected: installs a release that works with your pyarrow.
- Verify:
python -c "import pyscenic; print('ok')"Expected: imports cleanly.
- Workaround if you cannot upgrade pyscenic: pin pyarrow to a version that still ships FeatherReader:
pip install "pyarrow<8"Expected: the old class exists again.
When this applies
Use this when import pyscenic raises this error with a recent pyarrow.
When it does not apply
If your own code uses FeatherReader, switch to pyarrow.feather.readfeather / readtable instead. If pyscenic is current, reinstall it.
Compatibility
pyscenic releases before the pyarrow-compat fix; pyarrow 8+ where FeatherReader is gone.
Root cause
FeatherReader was an internal class in pyarrow.feather that pyarrow removed during API cleanup. pyscenic imported it directly, so the removal broke pyscenic at import time.
Edge cases
Pinning old pyarrow can break pandas parquet IO that wants new pyarrow; upgrading pyscenic is the cleaner path. Check the pyscenic changelog for the minimum version supporting your pyarrow.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.