Ehdtd - cryptoCurrency Exchange history data to database
This class retrieves historical data from exchanges and stores it in a database.
Example:
Install
```bash
pip install ehdtd
```
Use
```python
import time
from ehdtd import Ehdtd
exchange = 'binance'
symbol = 'BTC/USDT'
interval = '1m'
limit = 10
db_data = {
'db_type': 'postgresql', # postgresql, mysql
'db_name': 'ehdtd',
'db_user': 'ehdtd',
'db_pass': 'xxxxxxxxx',
'db_host': '127.0.0.1',
'db_port': '5432'
}
fetch_data = [
{
'symbol': symbol,
'interval': interval
}
]
ehd = Ehdtd(exchange, fetch_data, db_data) # Create an instance
ehd.start() # Start fetching data
time.sleep(900) # First time Wait for available data, for the data to be updated,
# you must wait between 90 minutes and 2.5 hours depending on the interval
for v in fetch_data:
symbol = v['symbol']
interval = v['interval']
start_from = 0
until_to = None
return_type = 'pandas'
data_db = ehd.get_data_from_db(symbol, interval, start_from, until_to, return_type)
print(data_db)
print('=========================================================================')
print('')
time.sleep(1)
ehd.stop() # Stop fetching data
```
How It Works:
For Binance:
- Try to retrieve data from a file. Check this link:
Binance Public Data - If the file is not available, try to retrieve data from the API.
- Then get data from the WebSocket API using the Ccxw class.
Database Columns:
-
open_time,open_date,open_price,close_time,close_date,close_price,low,high,volume,exchange,symbol,interval,status,data -
Column
datais not used,
and columnstatuscan have three values:'__NON_CHECK__','__OK__','__ERROR__'.- If
status == '__OK__', the file has consistent data. - If
status == '__ERROR__', the file has inconsistent data. - If
status == '__NON_CHECK__', the file is not analyzed.
- If
Retrieving Data from Database:
Use the function ehd.get_data_from_db(symbol, interval, start_from, until_to, return_type):
- If
return_type == 'pandas', it returns a Pandas DataFrame. - If
return_type == 'list', it returns a list of dictionaries.
Release files for ehdtd 0.2.41
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ehdtd-0.2.41.tar.gz | 43.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ehdtd-0.2.41-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 96.3 kB
Release files / ehdtd-0.2.41.tar.gz
| Download URL | ehdtd-0.2.41.tar.gz |
|---|---|
| Size | 43.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c7fcb4a03f19bd9d138674529b1f9c8d3452eb3db25dba1fe43e01f29da4ccd
|
|
BLAKE2b-256 checksum How to use checksums |
5a28cb2f00026fe19f47d2d227d40c409d17447e336e8eb340a2585f9708ada4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / ehdtd-0.2.41-py3-none-any.whl
| Download URL | ehdtd-0.2.41-py3-none-any.whl |
|---|---|
| Size | 53.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73f765e1bb82d4083b6b1b60cb64c4b5a9adc33c6cef755efcdb71a12011f184
|
|
BLAKE2b-256 checksum How to use checksums |
2d92c4779344bb18fd49c8eec79786d922aebc38ea33756f187a44aa89dbac4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|