The btdx library is designed to interact with the Milton Keynes' BT Data Exchange Platform. This README provides a guide on how to install, set up, and effectively use the DX
class.
-
From PyPI (Python Package Index)
You can install the
btdx
library using pip. Make sure you havepython >= 3.8
and pip installed on your machine, then,pip install btdx
-
From source
To install btdx from source, clone the repository from here. In your terminal type:
pip install .
or in editable mode
pip install -e .
You will also need requests to use
btdx
pip install requests
To use the btdx
, you need to create an instance of DX
first. Then use either post
method to ingest data or get
method to retrieve data
-
To create an instance of DX, provide your API key, feed ID, and optionally a version number.
from btdx import DX # Make sure to import the DX class from the module api_key = "your_api_key" # Your API key feed_id = "your_feed_id" # The feed ID you want to interact with version = 1 # Optional: Version number (default is 1) response = DX(api_key, feed_id, version)
-
You can post data to a specific stream by calling the post method. You need to provide the stream ID and the data you want to post.
stream_id = "100" # The ID of the stream you want to post data to data = "AQI: 2" # The value you want to post response.post(stream_id=stream_id, data=data)
-
To retrieve data from a specific stream, use the get method. You can specify the stream ID and whether you want to display the data.
stream_id = "100" # The ID of the stream you want to get data from # Retrieve and display data response.get(stream_id=stream_id, display=True)
You can also pass optional parameters such as agregate.
# Retrieve last 100 values between a date range and display data, if no range is provided last 100 values from current time will be obtained. start="YYYY-MM-DD" end="YYYY-MM-DD" response.get(stream_id=stream_id, start=start, end=end, display=True, agregate=True)
Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to submit a pull request or open an issue.
This project is licensed under the MIT License. See the LICENSE file for details.