Releases: lsst-sqre/kafkit
1.0.0a1
What's Changed
- DM-38801: New PydanticSchemaManager by @jonathansick in #22
- DM-39648: Add kafkit.settings module by @jonathansick in #23
- DM-39646: Add FastAPI app integration through dependencies by @jonathansick in #25
Full Changelog: 0.3.0...1.0.0a1
0.3.0
New features:
- New HTTPX support with
kafkit.registry.httpx.RegistryApi
, in addition to the existing aiohttp support. - Documentation is now built with the new Rubin Observatory user guide theme and Sphinx configuration.
- The
__named_schemas
annotation added by FastAvro is now stripped, in addition to__fastavro_parsed
. Via @hhromic 🎉 - Kafkit is now also available on Conda-Forge (feedstock URL: https://github.com/conda-forge/kafkit-feedstock).
What's Changed
- DM-35548: Cleanup pyproject.toml by @jonathansick in #16
- DM-37493: Add support for httpx by @jonathansick in #18
- Update pre-commit hooks and resolve numpydoc issue by @jonathansick in #20
- Remove
__named_schemas
hint in parsed schemas from fastavro by @hhromic in #19 - Update change log for 0.3.0 by @jonathansick in #21
New Contributors
Full Changelog: 0.2.1...0.3.0
0.3.0b1
This pre-release adds HTTPX client support for the Schema Registry API via kafkit.registry.httpx.RegistryAPI
.
What's Changed
- DM-35548: Cleanup pyproject.toml by @jonathansick in #16
- DM-37493: Add support for httpx by @jonathansick in #18
Full Changelog: 0.2.1...0.3.0b1
0.2.1
A py.typed
file is now included to advertise typo annotations in Kafkit.
What's Changed
- DM-35548: Add py.typed file (for 0.2.1 release) by @jonathansick in #15
Full Changelog: 0.2.0...0.2.1
0.2.0
-
Python versions 3.7 and earlier are no longer supported because Kafkit is adopting the
annotations
import from__future__
and native support forimportlib.metadata
.
Kafkit is explicitly tested with Python 3.8, 3.9, and 3.10. -
We've added a
kafkit.ssl
module to help connect to Kafka brokers over TLS.
The associated documentation includes a tutorial for working with the SSL certificates generated in a Kafka cluster managed by Strimzi. -
The brand-new
kafkit.registry.manager.RecordNameSchemaManager
provides a streamlined workflow for serializing Avro messages using Avro schemas that are maintained in your app's codebase.
The manager handles schema registration for you.
To serialize a message, you simply need to provide the data and the name of the schema. -
A new
kafkit.registry.sansio.CompatibilityType
Enum helps you write use valid Schema Registry compatibility types. -
We've significantly improved Kafkit's packaging and infrastructure:
- Migrate packaging metadata from
setup.py
topyproject.toml
(Kafkit continues to be a setuptools-based project). - Tox now runs tasks like tests, in conjunction with the existing Pytest set up.
- Pre-commit hooks lint and format the code base.
- Code style is now handled by Black (and in the documentation with blacken-docs).
- Full support for type annotations!
tox -e typing
validates Kafkit's type annotations with Mypy. - We've migrated from Travis CI to GitHub Actions.
- Migrate packaging metadata from
-
The documentation now includes a development guide.
What's Changed
- DM-23795: Modernize packaging and add type checking by @jonathansick in #5
- Fix doc upload that was going to safir.lsst.io by @jonathansick in #8
- DM-23796: Add kafkit.ssl module by @jonathansick in #6
- DM-23797: Add a schema manager based on the "record name" subject naming strategy by @jonathansick in #7
- DM-23797: Validate long_description and lint by @jonathansick in #9
- Fix suffix string interpolation by @jonathansick in #11
- DM-35548: Update packaging and other clean up by @jonathansick in #14
Full Changelog: 0.1.1...0.2.0
0.2.0rc1
-
Python versions 3.7 and earlier are no longer supported because Kafkit is adopting the
annotations
import from__future__
and native support forimportlib.metadata
.
Kafkit is explicitly tested with Python 3.8, 3.9, and 3.10. -
We've added a
kafkit.ssl
module to help connect to Kafka brokers over TLS.
The associated documentation includes a tutorial for working with the SSL certificates generated in a Kafka cluster managed by Strimzi. -
The brand-new
kafkit.registry.manager.RecordNameSchemaManager
provides a streamlined workflow for serializing Avro messages using Avro schemas that are maintained in your app's codebase.
The manager handles schema registration for you.
To serialize a message, you simply need to provide the data and the name of the schema. -
A new
kafkit.registry.sansio.CompatibilityType
Enum helps you write use valid Schema Registry compatibility types. -
We've significantly improved Kafkit's packaging and infrastructure:
- Migrate packaging metadata from
setup.py
topyproject.toml
(Kafkit continues to be a setuptools-based project). - Tox now runs tasks like tests, in conjunction with the existing Pytest set up.
- Pre-commit hooks lint and format the code base.
- Code style is now handled by Black (and in the documentation with blacken-docs).
- Full support for type annotations!
tox -e typing
validates Kafkit's type annotations with Mypy. - We've migrated from Travis CI to GitHub Actions.
- Migrate packaging metadata from
-
The documentation now includes a development guide.
What's Changed
- DM-17058: Initial PR by @jonathansick in #1
- DM-17879: Fix RegistryApi put/post/patch/delete methods by @jonathansick in #2
- DM-23795: Modernize packaging and add type checking by @jonathansick in #5
- Fix doc upload that was going to safir.lsst.io by @jonathansick in #8
- DM-23796: Add kafkit.ssl module by @jonathansick in #6
- DM-23797: Add a schema manager based on the "record name" subject naming strategy by @jonathansick in #7
- DM-23797: Validate long_description and lint by @jonathansick in #9
- Fix suffix string interpolation by @jonathansick in #11
- DM-35548: Update packaging and other clean up by @jonathansick in #14
New Contributors
- @jonathansick made their first contribution in #1
Full Changelog: https://github.com/lsst-sqre/kafkit/commits/0.2.0rc1