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 stdlibjson
module. Contrary to the stdlib variant, orjson
will serialize tobytes
instead ofstr
. When sending data to CrateDB,
crate-python
uses a custom encoder to add support for additional data
types.- Python's
Decimal
type will be serialized tostr
. - Python's
dt.datetime
anddt.date
types 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
orjson
without 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
orjson
to improve JSON marshalling performance by @amotl in #691
Full Changelog: 1.0.1...2.0.0