Coder Social home page Coder Social logo

airtai / faststream Goto Github PK

View Code? Open in Web Editor NEW
1.8K 1.8K 80.0 162.72 MB

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.

Home Page: https://faststream.airt.ai/latest/

License: Apache License 2.0

Python 99.75% Shell 0.25%
asyncapi asyncio distributed-systems fastkafka faststream kafka nats propan python rabbitmq redis stream-processing

faststream's People

Contributors

ashambalev avatar bhargavshirin avatar davorrunje avatar dependabot[bot] avatar faststream-release-notes-updater[bot] avatar harishmohanraj avatar janumalaakhilendra avatar jaroslav2001 avatar joshrosenblum avatar julzhk avatar kolkre avatar kumaranvpl avatar lancetnik avatar mihail8531 avatar mj0nez avatar mrlab12 avatar omahs avatar omimakhare avatar rjambrecic avatar saroz014 avatar sepehrbazyar avatar sheldygg avatar shepilov-vladislav avatar sternakt avatar vvanglro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

faststream's Issues

Create standalone class for FastKafka

  • Remove FastAPI dependencies from FastKafka class
  • Add option for generating html
  • Rework _on_startup
  • Rework _on_shutdown
  • Add context manager dunders
  • Implement FastKafka run CLI
  • Implement CLI function for serving docs
  • Cleanup Uvicorn helpers and unnecessary functions
  • Rework tests to use FastKafka run command and remove passing FastAPI instance

Git workflow action for publishing Kafka docs

there is a CLI command for exporting documentation that requires npx and stuff (that can also be installed using CLI command)

  • create workflow action for creating and deploying FastKafka docs to github (for random projects using FastKafka)

Implement partition Key mechanism for producers

  • 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

Benchmark FastKafkaAPI consumption

  • Implement benchmark for @produces decorator
  • Implement benchmark for @consumes decorator
  • Implement benchmark for @process decorator
  • Document the benchmarks

Allocation of random port in LocalKafkaBroker

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

Refactor consumer_loop

  • 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

ESAKafka mockup

  • Prepare project repository and structure
  • Mockup services for ESA
  • Test mockups

Create missing topics in LocalKafkaBroker

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

Release polishing

  • 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

Replace docker based kafka with local

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.