Skip to content


Effortlessly create a new FastStream project based on the app description.


$ faststream_gen [OPTIONS] [DESCRIPTION]


  • [DESCRIPTION]: Summarize your FastStream application in a few sentences!

Include details about messages, topics, servers, and a brief overview of the intended business logic.

The simpler and more specific the app description is, the better the generated app will be. Please refer to the below example for inspiration:

Create a FastStream application using localhost broker for testing and use the default port number. It should consume messages from the "input_data" topic, where each message is a JSON encoded object containing a single attribute: 'data'. For each consumed message, create a new message object and increment the value of the data attribute by 1. Finally, send the modified message to the 'output_data' topic.


  • -i, --input_file TEXT: The path to the file with the app desription. This path should be relative to the current working directory.

If the app description is passed via both a --input_file and a command line argument, the description from the command line will be used to create the application.

  • -o, --output_path TEXT: The path to the output directory where the generated project files will be saved. This path should be relative to the current working directory. [default: .]
  • -m, --model [gpt-3.5-turbo-16k|gpt-4]: The OpenAI model that will be used to create the FastStream project. For better results, we recommend using 'gpt-4'. [default: gpt-3.5-turbo-16k]
  • -v, --verbose: Enable verbose logging by setting the logger level to INFO.
  • -d, --dev: Save the complete logs generated by faststream-gen inside the output_path directory.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.