Package: pybitflyer2
pybitflyer2 - a wrapper interface of Bitflyer lightning APIinspired by Ruby bitflyer gemhttps://github.com/unhappychoice/bitflyerUsageSeehttps://lightning.bitflyer.jp/docsfor details.RequirementsPython 3The InstallationFrom Pypi with the Python package manager:pipinstallpybitflyer2ExamplesHTTP APISeehttp_public.py/http_private.rbfor method definition.frompybitflyer2importBitflyerpublic_client=Bitflyer.http_public_client()print(public_client.ticker(product_code='BTC_JPY'))private_client=BitFlyer.http_private_client('YOUR_API_KEY','YOUR_API_SECRET')private_client.send_child_order(product_code='BTC_JPY',child_order_type='LIMIT',side='BUY',price=30_000,size=0.1,minute_to_expire=10000,time_in_force='GTC',)#=> { "child_order_acceptance_id": "JRF20150707-050237-639234" }private_client.cancel_child_order("product_code":"BTC_JPY","child_order_acceptance_id":"JRF20150707-033333-099999")#=> NoneRealtime APIPublic eventsChannel name format is like{event_name}_{product_code}. You can set handler to get realtime events.{event_name} and {product_code} is defined atrealtimeclient.py.Private eventsTo subscribe to the private child_order_events and parent_order_events, pass your API key and secret when creating the realtime_client.The Realtime Client automatically tries to reconnect when a connection is lost, and provides a variety of event-based notification.importtimefrompybitflyer2importBitflyerdefon_ticker_received(ticker):print(ticker)defon_open():print('opened')defon_error(err):print(err)defon_message(msg):print(msg)defon_close():print('closed')client=Bitflyer.realtime_client()client.subscribe(channel='lightning_ticker_BTC_JPY',handler=on_ticker_received)client.subscribe(channel='lightning_ticker_ETH_JPY',handler=on_ticker_received)client.on('open',handler=on_open)client.on('error',handler=on_error)client.on('message',handler=on_message)client.on('close',handler=on_close)client.start()whileTrue:time.sleep(1)#lightning_ticker_BTC_JPY{"product_code":"BTC_JPY","timestamp":"2019-04-11T05:14:12.3739915Z","state":"RUNNING","tick_id":25965446,"best_bid":580006,"best_ask":580771,"best_bid_size":2.00000013,"best_ask_size":0.4,"total_bid_depth":1581.64414981,"total_ask_depth":1415.32079982,"market_bid_size":0,"market_ask_size":0,"ltp":580790,"volume":6703.96837634,"volume_by_product":6703.96837634}importtimefrompybitflyer2importBitflyerdefon_ticker_received(ticker):print(ticker)defon_private_event_received(event):print(event)defon_open():print('opened')defon_error(err):print(err)defon_message(msg):print(msg)defon_close():print('closed')client=Bitflyer.realtime_client('YOUR_API_KEY','YOUR_API_SECRET')client.subscribe(channel='lightning_ticker_BTC_JPY',handler=on_ticker_received)client.subscribe(channel='lightning_ticker_ETH_JPY',handler=on_ticker_received)client.subscribe(channel='child_order_events',handler=on_private_event_received)client.on('open',handler=on_open)client.on('error',handler=on_error)client.on('message',handler=on_message)client.on('close',handler=on_close)whileTrue:time.sleep(1)#child_order_events[{"product_code":"BTC_JPY","child_order_id":"JOR20150101-070921-038077","child_order_acceptance_id":"JRF20150101-070921-194057","event_date":"2015-01-01T07:09:21.9301772Z","event_type":"ORDER","child_order_type":"LIMIT","side":"SELL","price":500000,"size":0.12,"expire_date":"2015-01-01T07:10:21"}]ContributingBug reports and pull requests are welcome on GitHub athttps://github.com/fkshom/pybitflyer2. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.LicenseThe gem is available as open source under the terms of the MIT License.