Skip to main content

A library to connect to PocketOption using python with async and sync support.

Project description

👉 Join us on Discord

BinaryOptionsToolsV2

How to install

Install it with PyPi using the following command:

pip install binaryoptionstoolsv2==0.1.6a4

Supported OS

Currently, only support for Windows is available.

Supported Python versions

Currently, only Python 3.9 to 3.12 is supported.

Compile from source (Not recommended)

  • Make sure you have rust and cargo installed (Check here)

  • Install maturin in order to compile the library

  • Once the source is downloaded (using git clone https://github.com/ChipaDevTeam/BinaryOptionsTools-v2.git) execute the following commands: To create the .whl file

// Inside the root folder
cd BinaryOptionsToolsV2
maturin build -r 

// Once the command is executed it should print a path to a .whl file, copy it and then run
pip install path/to/file.whl

To install the library in a local virtual environment

// Inside the root folder
cd BinaryOptionsToolsV2

// Activate the virtual environment if not done already 

// Execute the following command and it should automatically install the library in the VM
maturin develop

Docs

Comprehensive Documentation for BinaryOptionsToolsV2

  1. __init__.py

This file initializes the Python module and organizes the imports for both synchronous and asynchronous functionality.

Key Details

  • Imports BinaryOptionsToolsV2: Imports all elements and documentation from the Rust module.
  • Includes Submodules: Imports and exposes pocketoption and tracing modules for user convenience.

Purpose

Serves as the entry point for the package, exposing all essential components of the library.

Inside the pocketoption folder there are 2 main files

  1. asynchronous.py

This file implements the PocketOptionAsync class, which provides an asynchronous interface to interact with Pocket Option.

Key Features of PocketOptionAsync

  • Trade Operations:
    • buy(): Places a buy trade asynchronously.
    • sell(): Places a sell trade asynchronously.
    • check_win(): Checks the outcome of a trade ('win', 'draw', or 'loss').
  • Market Data:
    • get_candles(): Fetches historical candle data.
    • history(): Retrieves recent data for a specific asset.
  • Account Management:
    • balance(): Returns the current account balance.
    • opened_deals(): Lists all open trades.
    • closed_deals(): Lists all closed trades.
    • payout(): Returns payout percentages.
  • Real-Time Data:
    • subscribe_symbol(): Provides an asynchronous iterator for real-time candle updates.
    • subscribe_symbol_timed(): Provides an asynchronous iterator for timed real-time candle updates.
    • subscribe_symbol_chunked(): Provides an asynchronous iterator for chunked real-time candle updates.

Helper Class - AsyncSubscription

Facilitates asynchronous iteration over live data streams, enabling non-blocking operations.

Example Usage

from BinaryOptionsToolsV2.pocketoption import PocketOptionAsync 
import asyncio 
 
async def main(): 
    client = PocketOptionAsync(ssid="your-session-id") 
    await asyncio.sleep(5)
    balance = await client.balance() 
    print("Account Balance:", balance) 
 
asyncio.run(main()) 
  1. synchronous.py

This file implements the PocketOption class, a synchronous wrapper around the asynchronous interface provided by PocketOptionAsync.

Key Features of PocketOption

  • Trade Operations:
    • buy(): Places a buy trade using synchronous execution.
    • sell(): Places a sell trade.
    • check_win(): Checks the trade outcome synchronously.
  • Market Data:
    • get_candles(): Fetches historical candle data.
    • history(): Retrieves recent data for a specific asset.
  • Account Management:
    • balance(): Retrieves account balance.
    • opened_deals(): Lists all open trades.
    • closed_deals(): Lists all closed trades.
    • payout(): Returns payout percentages.
  • Real-Time Data:
    • subscribe_symbol(): Provides a synchronous iterator for live data updates.
    • subscribe_symbol_timed(): Provides a synchronous iterator for timed real-time candle updates.
    • subscribe_symbol_chunked(): Provides a synchronous iterator for chunked real-time candle updates.

Helper Class - SyncSubscription

Allows synchronous iteration over real-time data streams for compatibility with simpler scripts.

Example Usage

from BinaryOptionsToolsV2.pocketoption import PocketOption 
import time

client = PocketOption(ssid="your-session-id") 
time.sleep(5)
balance = client.balance() 
print("Account Balance:", balance) 
  1. Differences Between PocketOption and PocketOptionAsync
Feature PocketOption (Synchronous) PocketOptionAsync (Asynchronous)
Execution Type Blocking Non-blocking
Use Case Simpler scripts High-frequency or real-time tasks
Performance Slower for concurrent tasks Scales well with concurrent operations

Tracing

The tracing module provides functionality to initialize and manage logging for the application.

Key Functions of Tracing

  • start_logs():
    • Initializes the logging system for the application.
    • Arguments:
      • path (str): Path where log files will be stored.
      • level (str): Logging level (default is "DEBUG").
      • terminal (bool): Whether to display logs in the terminal (default is True).
    • Returns: None
    • Raises: Exception if there's an error starting the logging system.

Example Usage

from BinaryOptionsToolsV2.tracing import start_logs

# Initialize logging
start_logs(path="logs/", level="INFO", terminal=True)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BinaryOptionsToolsV2-0.1.7.tar.gz (231.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

BinaryOptionsToolsV2-0.1.7-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

BinaryOptionsToolsV2-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

BinaryOptionsToolsV2-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

File details

Details for the file BinaryOptionsToolsV2-0.1.7.tar.gz.

File metadata

  • Download URL: BinaryOptionsToolsV2-0.1.7.tar.gz
  • Upload date:
  • Size: 231.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.3

File hashes

Hashes for BinaryOptionsToolsV2-0.1.7.tar.gz
Algorithm Hash digest
SHA256 fec3310949f4444d7b37d04a283c7bd9eda579db994ea6175f884599c97e2b64
MD5 debdc57347a8231a1c4634edbaa3c18e
BLAKE2b-256 73b37f4763cc314f74bd34ecddec74f349869dbfd49dd097eb3bc688af9fa06b

See more details on using hashes here.

File details

Details for the file BinaryOptionsToolsV2-0.1.7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for BinaryOptionsToolsV2-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cbb4aee5c3ddbb50a6b33a95c5fd9d0045fc3c237e17f2d91fa11a9f235c972f
MD5 936d5099fe6f30c45ae396a5409d7219
BLAKE2b-256 811980c393c7fb348d70b6341096b1d3afc142bcee1fb9068161093f65b95513

See more details on using hashes here.

File details

Details for the file BinaryOptionsToolsV2-0.1.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for BinaryOptionsToolsV2-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25d5fd7ba05ed4166652c948d961b4b098e077206790722b9d29ff9ed04f736d
MD5 9e6eaaf7ba7c9e600b71cb3283753c1c
BLAKE2b-256 d52cc28ab5c232ce7da90f89b104ccecfb1706aa190a4df5328f2b89c50bd979

See more details on using hashes here.

File details

Details for the file BinaryOptionsToolsV2-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for BinaryOptionsToolsV2-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 751117cadde445c6601eff9814155888293160dc3260296c7d7fec52e59375ba
MD5 7f35808a89eb9f8f73e60c2028728b04
BLAKE2b-256 b82b78a73ea5b66d32cd51fcae6812cb63e5de7a926bdb5d743f037727ab6045

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page