What is Streaming Data Generator?
This project is a data streaming generator built using FastAPI. It produces streaming data of various waveforms and distributions, which can be accessed using HTTP endpoints.
Key Features
- Multiple Data Distributions: Supports various waveforms such as sine, cosine, square, sawtooth and distributions such as normal, uniform, and exponential.
- Customizable Parameters: Users can fine-tune data generation parameters to suit their specific requirements.
- FastAPI-based: Utilizes FastAPI to provide efficient and scalable data streaming capabilities.
- Easy Integration: Can be seamlessly incorporated into existing applications and workflows via simple HTTP requests to the provided endpoints.
- Authentication: Requires bearer token authentication for accessing the endpoints.
Usage
The app is accessible at http://datagen.pythonanywhere.com. The available endpoints include:
Regular Data Streams: Append the desired endpoint to the base_url.
/sine
: Generates a sine wave data stream./cosine
: Generates a cosine wave data stream./square
: Generates a square wave data stream./sawtooth
: Generates a sawtooth wave data stream./normal
: Generates a data stream with values sampled from a normal distribution./uniform
: Generates a data stream with values sampled from a uniform distribution./exponential
: Generates a data stream with values sampled from an exponential distribution.
Anomalous Data Streams: Append the desired endpoint to base_url/anomalies.
/random
: Generates data with random anomalies./random-square
: Generates data with random square wave anomalies./clustered
: Generates data with clustered anomalies./periodic-spike
: Generates data with periodic spike anomalies within a 1-hour duration./count-per-duration
: Generates data with a specified number of anomalies within a 1-hour duration.
For example:
http://datagen.pythonanywhere.com/sine
http://datagen.pythonanywhere.com/anomalies/random
To access these endpoints, provide a valid bearer token in the request headers.
Customize the parameters of the requested waveform or distribution by passing query parameters in the URL. If no parameters are provided, the default parameters for each endpoint will be applied.
Documentation
Documentation for the API endpoints is available at http://datagen.pythonanywhere.com </a>. It has information on how to use each endpoint and the available parameters.