Metadata-Version: 2.1
Name: lakeapi
Version: 0.20.1
Summary: API for accessing Lake crypto market data
Home-page: https://github.com/crypto-lake/lake-api
Author: Jan Skoda
Author-email: skoda@jskoda.cz
License: Apache 2 license
Keywords: lakeapi
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
License-File: LICENSE
License-File: NOTICE.rst
License-File: AUTHORS.rst
Requires-Dist: pandas >=1.0.5
Requires-Dist: boto3 <2,>=1.24
Requires-Dist: cachetools-ext <0.1.0,>=0.0.8
Requires-Dist: botocache <0.1.0,>=0.0.4
Requires-Dist: joblib >=1.0.0
Requires-Dist: tqdm <5,>=4
Requires-Dist: pyarrow >=2.0.0
Requires-Dist: aws-requests-auth ==0.4.3
Requires-Dist: numba
Requires-Dist: typing-extensions <5,>=4.0 ; python_version < "3.8"

========
Lake API
========


.. image:: https://img.shields.io/pypi/v/lakeapi.svg
        :target: https://pypi.python.org/pypi/lakeapi
        :alt: Pypi package status

.. image:: https://readthedocs.org/projects/lake-api/badge/?version=latest
        :target: https://lake-api.readthedocs.io/en/latest/?version=latest
        :alt: Documentation status

.. image:: https://github.com/crypto-lake/lake-api/actions/workflows/dev.yml/badge.svg
     :target: https://github.com/crypto-lake/lake-api/actions/workflows/dev.yml
     :alt: Build status


API for accessing Lake crypto market data.

Lake is a service providing `historical cryptocurrency market data <https://crypto-lake.com/>`_ in high detail, including `order book data <https://crypto-lake.com/order-book-data/>`_, tick trades and 1m trade candles. It is tuned for convenient quant and machine-learning purposes and so offers high performance, caching and parallelization.


* Web: https://crypto-lake.com/
* Documentation: https://lake-api.readthedocs.io.
* Online example -- executable collab notebook: https://colab.research.google.com/drive/1E7MSUT8xqYTMVLiq_rMBLNcZmI_KusK3


Usage
-----

If you don't have a paid plan with AWS credentials, you can access sample data:

.. code-block:: python

    import lakeapi

    lakeapi.use_sample_data(anonymous_access = True)

    df = lakeapi.load_data(
        table="book",
        start=None,
        end=None,
        symbols=["BTC-USDT"],
        exchanges=["BINANCE"],
    )


With paid access, you can query any data:

.. code-block:: python

    import lakeapi

    # Downloads SOL-USDT depth snapshots for last 2 days from Kucoin exchange
    df = lakeapi.load_data(
        table="trades",
        start=datetime.datetime.now() - datetime.timedelta(days=2),
        end=None,
        symbols=["SOL-USDT"],
        exchanges=["KUCOIN"],
    )

We recommend putting .lake_cache directory into .gitignore, because Lake API stores cache into this directory in the
working directory.


=======
History
=======

0.20.1 (2025-04-28)
-------------------

* fix UnboundLocalError in _get_table_contents_cache_key when non-existing table is passed

0.20.0 (2025-03-28)
-------------------

* new used_data function
* clear cache on 404 to read new contents

0.19.1 (2024-12-16)
-------------------

* fix typing issues

0.19.0 (2024-09-09)
-------------------

* fix possible KeyError: 'dt' with list_data

0.18.0 (2024-08-21)
-------------------

* fix KeyError: 'dt' with s3 method

0.17.0 (2024-08-09)
-------------------

* orderbook class performance improvements

0.16.0 (2024-08-06)
-------------------

* improve data loading performance, especially for the first time

0.15.0 (2024-07-24)
-------------------

* fix conflict of new numpy 2 and older pyarrow
* improve tox tests
* add missing numba dependency needed by orderbook class (the rest works without numba)

0.14.0 (2023-05-02)
-------------------

* order book helper class

0.13.0 (2023-03-15)
-------------------

* fix old funding rates

0.12.1 (2023-11-22)
-------------------

* fix issue !6 with lowercase symbol names
* better error when aws clients use free data sample (!7)

0.12.0 (2023-11-18)
-------------------

* option to disable cache
* improved warnings handling

0.11.2 (2023-11-09)
-------------------

* fix order book data loading (KeyError: side)

0.11.1 (2023-11-06)
-------------------

* minor optimizations and fixes in cloudfront transfer

0.10.0 (2023-11-06)
-------------------

* more efficient optional data transfer implemented via aws cloudfront

0.9.1 (2023-11-03)
------------------

* awswrangler dependency removed, pandas 2 support added
* python3.12 support

0.8.0 (2023-09-18)
------------------

* grow default cache size limit
* nicer error messages when data are missing
* pass and print warning when file is corrupted

0.7.0 (2023-09-18)
------------------

* let user specify max cache size via `lakeapi.set_cache_size_limit()`

0.6.4 (2023-08-05)
------------------

* too many open files bugfix

0.6.3 (2023-08-03)
------------------

* logging fixes

0.6.2 (2023-08-18)
------------------

* fix dependency constraints causing `TypeError: _path2list() got an unexpected keyword argument 'boto3_session'`

0.6.1 (2023-08-15)
------------------

* fix path2list bug
* fix type hints

0.6.0 (2023-08-14)
------------------

* support for python3.11

0.5.0 (2023-05-21)
------------------

* support for funding, open_interest and liquidations list_data
* improve data type typing

0.4.5 (2023-01-09)
------------------

* grow default cache size limit from 3 GB to 10 GB

0.4.3 (2022-12-09)
------------------

* small documentation improvements

0.4.2 (2022-12-09)
------------------

* fix trades_mpid issue

0.4.1 (2022-12-05)
------------------

* fix warning messages in anonymous mode

0.4.0 (2022-11-19)
------------------

* level_1 data added to typing
* s3 user agent set to lakeapi

0.3.0 (2022-11-04)
------------------

* Typing bugfix
* Last modified filters for list_data

0.2.0 (2022-10-26)
------------------

* New feature for listing available data.

0.1.3 (2022-10-13)
------------------

* Corrupted cache bugfix

0.1.2 (2022-10-10)
------------------

* Caching and requirements improvements.

0.1.1 (2022-10-09)
------------------

* Python2.7 support and documentation improvements.

0.1.0 (2022-10-08)
------------------

* First release on PyPI.
