Skip to content

Releases: airtai/fastkafka

v0.3.0rc0

15 Sep 15:25
Compare
Choose a tag to compare

New Features

  • Add a GH action file to check for broken links in the docs (#163)

  • Optimize requirements for testing and docs (#151)

  • Break requirements into base and optional for testing and dev (#124)

    • MInimize base requirements needed just for running the service.

Move to setup.py

  • Add link to example git repo into guide for building docs using actions (#81)

  • Add logging for run_in_background (#46)

  • Implement partition Key mechanism for producers (#16)

      • Implement partition key mechanism for @produces decorator
        Implemented behaviour:
    1. A method decorated with @produces can return defined message as-is: the message is wrapped in a Event object with key=None and passed to producer = message sent without defined key, partition chosen at random
    2. A method decorated with @produces can return defined message wrapped in an Event object with key argument value in bytes = message sent to kafka with defined key, partition chosen using the defined key

Bugs Squashed

  • fastkafka docs install_deps fails (#157)

    • Unexpected internal error: [Errno 2] No such file or directory: 'npx'
  • Broken links in docs (#141)

    • Looks nice! Btw: The links to your docs in your readme are broken:)

https://www.reddit.com/r/Python/comments/11paz9u/comment/jbz18oq/?utm_source=share&utm_medium=web2x&context=3

  • fastkafka run is not showing up in CLI docs (#132)

v0.2.3

15 Sep 15:26
Compare
Choose a tag to compare
  • Fixed broken links on PyPi index page

v0.2.2

15 Sep 15:27
Compare
Choose a tag to compare

New Features

  • Extract JDK and Kafka installation out of LocalKafkaBroker (#131)

  • PyYAML version relaxed (#119), thanks to @davorrunje

  • Replace docker based kafka with local (#68)

    • replace docker compose with a simple docker run (standard run_jupyter.sh should do)
    • replace all tests to use LocalKafkaBroker
    • update documentation

Bugs Squashed

  • Fix broken link for FastKafka docs in index notebook (#145)

  • Fix encoding issues when loading setup.py on windows OS (#135)

v0.2.0

15 Sep 15:29
Compare
Choose a tag to compare

New Features

  • Replace kafka container with LocalKafkaBroker (#112)
      • Replace kafka container with LocalKafkaBroker in tests
  • Remove kafka container from tests environment
  • Fix failing tests

Bugs Squashed

  • Fix random failing in CI (#109)

v0.1.3

15 Sep 15:30
Compare
Choose a tag to compare
  • version update in init.py

v0.1.2

15 Sep 15:30
Compare
Choose a tag to compare

New Features

  • Git workflow action for publishing Kafka docs (#78)

Bugs Squashed

  • Include missing requirement (#110)
    • Typer is imported in this file but it is not included in settings.ini
    • Add aiohttp which is imported in this file
    • Add nbformat which is imported in _components/helpers.py
    • Add nbconvert which is imported in _components/helpers.py

0.1.1

15 Sep 15:32
Compare
Choose a tag to compare

Release notes

0.1.1

Bugs Squashed

  • JDK install fails on Python 3.8 (#106)

v0.1.0rc5

15 Sep 15:33
Compare
Choose a tag to compare

New Features

  • Enable FastKafka reentrancy (#92)

      • Remove passing of custom producers in @produces decorator
  • Add cleanup of stale producers in populate_producers and close_producers methods

  • Allocation of random port in LocalKafkaBroker (#80)

    • If the Zookeeper or Kafka process crashes while creating it's most likely that the requested port is occupied.
      To solve this, if the process crashes, try with a randomly generated port.
  • Zookeeper random port allocation

  • Kafka random port allocation

  • Create missing topics in LocalKafkaBroker (#79)

    • Changed to pass to LocalKafkaBroker
  • add topics function to KafkaApp for listing topics

  • Implement creation of topics in LocalKafkaBroker

  • Wait for topics to be created in Broker

  • Implement FastKafka Tester class (#75)

      • Implent mocking of consume and produce functions
  • Implement mirroring of consumers and producers

  • Release polishing (#69)

      • Remove stale uvicorn imports from notebooks
  • Transfer nest-asyncio requirement to dev requirements

  • Replace Ilock with posix_ipc

  • Implement mechanism for port allocation in LocalKafkaBroker

  • Cleanup logging in LocalKafkaBoker

  • Create LocalKafkaBroker class (#66)

  • Start LocalKafkaBroker in testing (#65)

  • Integrate static check changes from workflow repository (#59)

  • Refactor consumer_loop (#43)

      • Remove unnecessary process_msgs and integrate it back to _aiokafka_consumer_loop
  • Rework process_msgs tests to use mock patching

  • Remove creating and sending async callback to process stream every time when msg is consumed

  • Write docs

  • Fix failing CI tests

  • Add better exception handling in consumer callbacks (#37)

  • Implement mechanism for registering actions after startup (#35)

  • Make FastKafkaAPI not inherit from FastAPI (#34)

  • Implement sync and async variants for producer decorator (#22)

  • Add Kafka healthcheck in CI (#11)

  • CLI command for exporting async docs (#8)

Bugs Squashed

  • Enable FastKafka reentrancy (#92)

      • Remove passing of custom producers in @produces decorator
  • Add cleanup of stale producers in populate_producers and close_producers methods

  • FastKafka context manager aenter and aexit unuseable separately because of TaskGroup exceptions when closing (#91)

    • TaskGroup must be closed in the same task it was opened, otherwise exception is raised
      This breaks FastKafka when async context manager methods are used separately
  • Replace task group with asyncio.create_task calls to enable using aenter and aexit methods in FastKafk

  • Release polishing (#69)

      • Remove stale uvicorn imports from notebooks
  • Transfer nest-asyncio requirement to dev requirements

  • Replace Ilock with posix_ipc

  • Implement mechanism for port allocation in LocalKafkaBroker

  • Cleanup logging in LocalKafkaBoker

  • Fastkafka CLI run workers does not output log messages until cancelled (#60)

    • The issue happens when the code does not flush the output, such as in regular python print().
  • Write a warning in the 02_First_Steps for flushing

  • Fix export_async_spec failing when @consumes function has a return type None (#48)

  • Fix silent failing in guides when executing example scripts (#44)

      • Add exit_code return value to run_script_and_cancel helper function
  • Assert exit_code is equal to 0 when run_script_and_cancel runs

  • Add tests for run_script_and_cancel helper function

  • Check log levels for Guide_02_First_steps

v0.1.0

15 Sep 15:33
Compare
Choose a tag to compare

Initial release

v0.1.0rc1

15 Sep 15:36
Compare
Choose a tag to compare

Bugs Squashed

  • Consumer is not created with all parameters passed to FastKafkaAPI constructor (#49)