What's Changed
-
Switched JSON encoder to use the orjson library, to improve JSON
marshalling performance. Thanks, @widmogrod.orjson is fast and in some spots even more correct when compared against
Python's stdlibjsonmodule. Contrary to the stdlib variant, orjson
will serialize tobytesinstead ofstr. When sending data to CrateDB,
crate-pythonuses a custom encoder to add support for additional data
types.- Python's
Decimaltype will be serialized tostr. - Python's
dt.datetimeanddt.datetypes will be serialized to
int(LONG) after converting to milliseconds since epoch, to
optimally accommodate CrateDB's TIMESTAMP representation. - NumPy's data types will be handled by
orjsonwithout any ado.
- Python's
Details
- Update poethepoet requirement from <0.31 to <0.32 by @dependabot in #679
- Bump codecov/codecov-action from 4 to 5 by @dependabot in #681
- Bump astral-sh/setup-uv from 3 to 4 by @dependabot in #682
- CI: Provide Python 3.7. EOL, it was removed from recent GHA runners by @amotl in #683
- Chore(deps-dev): Update mypy requirement from <1.14 to <1.15 by @dependabot in #684
- Chore(deps-dev): Update poethepoet requirement from <0.32 to <0.33 by @dependabot in #685
- Chore(deps): Bump astral-sh/setup-uv from 4 to 5 by @dependabot in #686
- Chore(deps): Bump advanced-security/dismiss-alerts from 1 to 2 by @dependabot in #687
- Chore: Fix test case because https://example.org/ responds differently by @amotl in #690
- Chore(deps-dev): Update ruff requirement from <0.8 to <0.10 by @dependabot in #688
- Remove tox, recommend uv by @amotl in #694
- Use
orjsonto improve JSON marshalling performance by @amotl in #691
Full Changelog: 1.0.1...2.0.0