Comments (5)
A new 2.5.1 version has been uploaded to PyPI to add the automatic reader conversion to the other backends, restoring backwards compatibility for users of the default ijson backend. A warning is shown when users access this functionality to indicate they should move to byte-based readers.
from ijson.
Maybe related to #12
Look #12 (comment)
from ijson.
Ok. Thanks. I've rebased tabulator
on [email protected]
- frictionlessdata/tabulator-py@16af3de - and it works. My main point was that the change like this is not what you expect on the minor release 😃 I would consider preserving compatibility at least until ijson@3
. But thanks anyway.
PS.
Probably this library - https://github.com/reubano/meza/search?q=ijson&unscoped_q=ijson - can also stop working after [email protected]
from ijson.
I hadn't realised the python backend was different in this aspect from the other ones -- all other backends (which I tend to focus more on) work with bytes and have always failed when a string reader is passed, while the python backend is the only one that can take either. This definitely wasn't an intentional change, but an effect on changing the default backend from python to the fastest available.
Regarding breaking backwards compatibility and how to handle it now that this new version is out there, I'm a bit torn. On the one hand I understand that the default backend that gets selected behaves now differently, but on the other the change on default backend selection is documented, and explicitly selecting a backend is still possible (and their behaviours haven't changed), so users relying on the behavior of the python backend can easily continue using it. I think at the end of the day I'll probably end up releasing an ijson 2.5.1 with the warning you suggest to avoid further confusion.
from ijson.
Caught this breakage in our CI when docker images updated today. Will update our tabulator-py
version pin to fix.
from ijson.
Related Issues (20)
- yajl2_c backend crashes on PyPy3 HOT 19
- Is there a way to recursively iterate the key? HOT 4
- ijson.items(file, prefix) waits for EOF HOT 8
- Wheels for Python 3.12 with yajl2_c backend HOT 4
- Include array index HOT 2
- High level interface to iterate over lists HOT 3
- HighLevelAPI: Raise an error if the prefix does not exist HOT 2
- Is it possible to use multiple prefix HOT 8
- yajl2_c backend for lambda function HOT 2
- How to use ijson to covert string to dict? HOT 3
- How to read json records in chunks using ijson? HOT 4
- Question: is it possible that returing bytes instead of str could speedup parsing? HOT 3
- Thread safety HOT 9
- Full support for byte stream generator HOT 9
- Allow to use ijson package by a relative import HOT 4
- How can I most-efficiently check for a key in the top-level of a json object? HOT 3
- Python3.12 compilation error: ‘PyGenObject’ has no member named ‘gi_code’ HOT 5
- Is it possible to use isjon with Jsonl, ndjson ? HOT 5
- Memory leak on exception handling with yajl2_c backend HOT 6
- _yajl2 backend broken with Python 3.12 HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ijson.