ehdtd


Nameehdtd JSON
Version 0.2.8 PyPI version JSON
download
home_pagehttps://github.com/rmalvarezkai/ehdtd
SummaryEhdtd - cryptoCurrency Exchange history data to database
upload_time2024-09-26 13:22:02
maintainerNone
docs_urlNone
authorRicardo Marcelo Alvarez
requires_python<4.0,>=3.9
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": "https://github.com/rmalvarezkai/ehdtd",
    "name": "ehdtd",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ricardo Marcelo Alvarez",
    "author_email": "rmalvarezkai@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/d8/59/bcb084f27d5f6874d0d98f4ac62f4d1da6659e8f56518bb68f073cc15090/ehdtd-0.2.8.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.8",
    "project_urls": {
        "Homepage": "https://github.com/rmalvarezkai/ehdtd"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc9b2314ee6b89fae9b6700a887ce6a75995ebaac3aa58f7574461be67a89b4b",
                "md5": "9dbb4e581c03cfbc2017cc6071ff24e3",
                "sha256": "87b3e8f470253b2490c34dd9beba64426a1073da38444bbf7b8dd9370c8d9e99"
            },
            "downloads": -1,
            "filename": "ehdtd-0.2.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9dbb4e581c03cfbc2017cc6071ff24e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 27418,
            "upload_time": "2024-09-26T13:22:00",
            "upload_time_iso_8601": "2024-09-26T13:22:00.549644Z",
            "url": "https://files.pythonhosted.org/packages/bc/9b/2314ee6b89fae9b6700a887ce6a75995ebaac3aa58f7574461be67a89b4b/ehdtd-0.2.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d859bcb084f27d5f6874d0d98f4ac62f4d1da6659e8f56518bb68f073cc15090",
                "md5": "98e963694da192c87a28cb7e49864073",
                "sha256": "893fe6b331fba7fa6366ece23be011a136ad9f23555df459a656bc775b788595"
            },
            "downloads": -1,
            "filename": "ehdtd-0.2.8.tar.gz",
            "has_sig": false,
            "md5_digest": "98e963694da192c87a28cb7e49864073",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 25961,
            "upload_time": "2024-09-26T13:22:02",
            "upload_time_iso_8601": "2024-09-26T13:22:02.203111Z",
            "url": "https://files.pythonhosted.org/packages/d8/59/bcb084f27d5f6874d0d98f4ac62f4d1da6659e8f56518bb68f073cc15090/ehdtd-0.2.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-26 13:22:02",
    "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.39538s