Giter VIP home page Giter VIP logo

airtai / faststream Goto Github PK

View Code? Open in Web Editor NEW
2.3K 18.0 114.0 243.75 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.78% Shell 0.22%
asyncio kafka python rabbitmq asyncapi distributed-systems faststream fastkafka propan nats

faststream's People

Contributors

akardasz avatar andreaimprovised avatar davorrunje avatar dependabot[bot] avatar draincoder avatar faststream-release-notes-updater[bot] avatar filip-danieluk avatar flosckow avatar gostilovichd avatar harishmohanraj avatar jaroslav2001 avatar joshrosenblum avatar kolkre avatar kryseyt avatar kumaranvpl avatar lancetnik avatar maxalbert avatar mihail8531 avatar newonlynew avatar omahs avatar rjambrecic avatar roma-frolov avatar saroz014 avatar sehat1137 avatar sepehrbazyar avatar sheldygg avatar shepilov-vladislav avatar spataphore1337 avatar sternakt avatar ulbwa 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  avatar  avatar  avatar

faststream's Issues

Benchmark FastKafkaAPI consumption

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

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)

ESAKafka mockup

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

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

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

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

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

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

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.