ehdtd


Nameehdtd JSON
Version 0.2.29 PyPI version JSON
download
home_pageNone
SummaryEhdtd - cryptoCurrency Exchange history data to database
upload_time2025-01-21 18:58:47
maintainerNone
docs_urlNone
authorRicardo Marcelo Alvarez
requires_python<4.0,>=3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

1. Try to retrieve data from a file. Check this link:\
    [Binance Public Data](https://github.com/binance/binance-public-data/#trades-1)
2. If the file is not available, try to retrieve data from the API.
3. 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 `data` is not used,\
    and column `status` can 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.

## 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.

[View License](LICENSE)



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ehdtd",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ricardo Marcelo Alvarez",
    "author_email": "rmalvarezkai@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/80/6a/bbc78e10ebbe87e65e6ced6ef33ea49984cfbc947dfbf1d6c05557ed06c5/ehdtd-0.2.29.tar.gz",
    "platform": null,
    "description": "# Ehdtd - cryptoCurrency Exchange history data to database\nThis class retrieves historical data from exchanges and stores it in a database.\n\nExample:\n### Install\n    ```bash\n    pip install ehdtd\n    ```\n### Use\n\n    ```python\n    import time\n    from ehdtd import Ehdtd\n\n    exchange = 'binance'\n    symbol = 'BTC/USDT'\n    interval = '1m'\n    limit = 10\n\n    db_data = {\n        'db_type': 'postgresql',  # postgresql, mysql\n        'db_name': 'ehdtd',\n        'db_user': 'ehdtd',\n        'db_pass': 'xxxxxxxxx',\n        'db_host': '127.0.0.1',\n        'db_port': '5432'\n    }\n\n    fetch_data = [\n        {\n            'symbol': symbol,\n            'interval': interval\n        }\n    ]\n\n    ehd = Ehdtd(exchange, fetch_data, db_data)  # Create an instance\n    ehd.start()  # Start fetching data\n\n    time.sleep(900)  # First time Wait for available data, for the data to be updated,\n                     # you must wait between 90 minutes and 2.5 hours depending on the interval\n\n    for v in fetch_data:\n        symbol = v['symbol']\n        interval = v['interval']\n        start_from = 0\n        until_to = None\n        return_type = 'pandas'\n        data_db = ehd.get_data_from_db(symbol, interval, start_from, until_to, return_type)\n        print(data_db)\n        print('=========================================================================')\n        print('')\n        time.sleep(1)\n\n    ehd.stop()  # Stop fetching data\n    ```\n\n# How It Works:\n\n## For Binance:\n\n1. Try to retrieve data from a file. Check this link:\\\n    [Binance Public Data](https://github.com/binance/binance-public-data/#trades-1)\n2. If the file is not available, try to retrieve data from the API.\n3. Then get data from the WebSocket API using the Ccxw class.\n\n## Database Columns:\n\n- `open_time`, `open_date`, `open_price`, `close_time`, `close_date`, `close_price`, `low`,\n    `high`, `volume`, `exchange`, `symbol`, `interval`, `status`, `data`\n\n- Column `data` is not used,\\\n    and column `status` can have three values: `'__NON_CHECK__'`, `'__OK__'`, `'__ERROR__'`.\n    - If `status == '__OK__'`, the file has consistent data.\n    - If `status == '__ERROR__'`, the file has inconsistent data.\n    - If `status == '__NON_CHECK__'`, the file is not analyzed.\n\n## Retrieving Data from Database:\n\nUse the function `ehd.get_data_from_db(symbol, interval, start_from, until_to, return_type)`:\n- If `return_type == 'pandas'`, it returns a Pandas DataFrame.\n- If `return_type == 'list'`, it returns a list of dictionaries.\n\n[View License](LICENSE)\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Ehdtd - cryptoCurrency Exchange history data to database",
    "version": "0.2.29",
    "project_urls": {
        "Homepage": "https://github.com/rmalvarezkai/ehdtd"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32ce87e020644412e8778faff44df102defa7ccc81a2ac2f365942d2cdb67025",
                "md5": "09ca570a198e8ffaef06ade3f40a1a20",
                "sha256": "33615972339b29195b26ee0dc4ce205597221dba40a01692d67c54cdbab8be22"
            },
            "downloads": -1,
            "filename": "ehdtd-0.2.29-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "09ca570a198e8ffaef06ade3f40a1a20",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 52755,
            "upload_time": "2025-01-21T18:58:44",
            "upload_time_iso_8601": "2025-01-21T18:58:44.730184Z",
            "url": "https://files.pythonhosted.org/packages/32/ce/87e020644412e8778faff44df102defa7ccc81a2ac2f365942d2cdb67025/ehdtd-0.2.29-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "806abbc78e10ebbe87e65e6ced6ef33ea49984cfbc947dfbf1d6c05557ed06c5",
                "md5": "4a1208edced2d8980e78964099941572",
                "sha256": "ee775eb65c7b52e84a1378c45e33b2e547360d2bd3cfa74d3bae26da4c5d0479"
            },
            "downloads": -1,
            "filename": "ehdtd-0.2.29.tar.gz",
            "has_sig": false,
            "md5_digest": "4a1208edced2d8980e78964099941572",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 36183,
            "upload_time": "2025-01-21T18:58:47",
            "upload_time_iso_8601": "2025-01-21T18:58:47.042516Z",
            "url": "https://files.pythonhosted.org/packages/80/6a/bbc78e10ebbe87e65e6ced6ef33ea49984cfbc947dfbf1d6c05557ed06c5/ehdtd-0.2.29.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-21 18:58:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rmalvarezkai",
    "github_project": "ehdtd",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "ehdtd"
}
        
Elapsed time: 0.37268s