Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Python tool to download Binance Candlestick (k-line) data from REST API
Originally forked from bullsignals/binance-downloader, that project does not seem to be maintained any longer and I wanted to actually make use of this project and allow others to contribute. At this point, I have re-written almost all the code from scratch, but would like to thank the original authors for their ideas that got me started.
You will need Poetry installed in order to install this package and run from the command line. Poetry is a Python package and dependency manager that makes installation and distribution really easy. Installation instructions can be found here for macOS/Linux/Windows
$ poetry --version
Poetry 0.12.10
$ git clone https://github.com/anson-vandoren/binance-downloader.git
$ cd binance-downloader
Poetry will try to automatically enable a virtual environment for you if it detects you are not already using one.
If you already use virtualenvwrapper (or similar), go ahead and make (or switch to) your working environment beforehand:
$ mkvirtualenv binance-downloader
or
$ workon binance-downloader
$ poetry install
Installing dependencies from lock file
Package operations: 12 installs, 0 updates, 0 removals
- Installing six (1.12.0)
- Installing certifi (2008.11.29)
- Installing chardet (3.0.4)
- Installing idna (2.8)
- Installing numpy (1.15.4)
- Installing python-dateutil (2.7.5)
- Installing pytz (2018.7)
- Installing urllib3 (1.22)
- Installing logbook (1.4.1)
- Installing pandas (0.23.4)
- Installing requests (2.21.0)
- Installing tqdm (4.28.1)
- Installing binance-downloader (0.2.0)
$ kline-binance --help
usage: kline-binance [-h] [--start START] [--end END] [--dtfmt DATE_FORMAT]
symbol interval
CLI for downloading Binance Candlestick (k-line) data in bulk
positional arguments:
symbol (Required) Binance symbol pair, e.g. ETHBTC
interval (Required) Frequency interval in minutes(m); hours(h);
days(d); weeks(w); months(M); All possibles values: 1m
3m 5m 15m 30m 1h 2h 4h 6h 8h 12h 1d 3d 1w 1M
optional arguments:
-h, --help show this help message and exit
--start START Start date to get data (inclusive). Format: yyyy/mm/dd
--end END End date to get data (exclusive). Format: yyyy/mm/dd
--dtfmt DATE_FORMAT Format to use for dates (DMY, MDY, YMD, etc). Default:
YMD
$ kline-binance XRPBTC 1m --start 2016-01-01 --end now
[2019-01-02 05:12:40.941301] NOTICE: api: First available kline starts on {from_ms_utc(period_start)}
[2019-01-02 05:12:40.941867] NOTICE: api: Downloading 620 chunks...
Download : 100%|█████████████████████████████████████████████████| 620/620 [00:48<00:00, 12.73 chunk/s]
Write CSV: 100%|███████████████████████████████████████████████████| 100/100 [00:14<00:00, 7.04 pct/s]
[2019-01-02 05:13:44.784379] NOTICE: db: Done writing ./downloaded/2019-01-01_211330_XRPBTC_1m.csv for 612794 lines
This code is made available under the MIT License. See LICENSE file for detail.
FAQs
CLI to download k-line (candlestick/OHLC) data from Binance API
We found that binance-downloader demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.