faststream

FastStream is a powerful and easy-to-use Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS and Redis.

APACHE-2.0 License

Downloads
160.6K
Stars
1.8K
Committers
15

Bot releases are hidden (Show)

faststream - v0.2.0

Published by davorrunje over 1 year ago

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)
faststream - v0.1.3

Published by davorrunje over 1 year ago

  • version update in init.py
faststream - v0.1.2

Published by davorrunje over 1 year ago

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
faststream - 0.1.1

Published by davorrunje over 1 year ago

Release notes

0.1.1

Bugs Squashed

  • JDK install fails on Python 3.8 (#106)
faststream - v0.1.0

Published by davorrunje over 1 year ago

Initial release

faststream - v0.1.0rc5

Published by davorrunje over 1 year ago

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)

  • ESAKafka mockup (#62)

      • Prepare project repository and structure
  • Mockup services for ESA

  • Test mockups

  • 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

faststream - v0.1.0rc1

Published by davorrunje over 1 year ago

Bugs Squashed

  • Consumer is not created with all parameters passed to FastKafkaAPI constructor (#49)
faststream - v0.0.4

Published by davorrunje almost 2 years ago

  • inheritance from FastAPI removed
faststream - v0.0.4rc0

Published by davorrunje almost 2 years ago

faststream - v0.0.3

Published by davorrunje almost 2 years ago

Documentation polishing and Semgrep scan added

faststream - v0.0.2

Published by davorrunje almost 2 years ago

Bugs Squashed

  • Documentation build failing in CI (#21)
faststream - v0.0.1

Published by davorrunje almost 2 years ago

Initial release