Metadata-Version: 2.3
Name: unofficial_tabdeal_api
Version: 0.0.3
Summary: a package to communicate with Tabdeal platform
Keywords: tabdeal,api,unofficial
Author: MohsenHNSJ
Author-email: mohsenhasannezhad@outlook.com
Maintainer: MohsenHNSJ
Maintainer-email: mohsenhasannezhad@outlook.com
Requires-Python: >=3.12
Classifier: Framework :: aiohttp
Classifier: Framework :: AsyncIO
Classifier: Topic :: Internet :: WWW/HTTP :: Session
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Natural Language :: English
Classifier: Typing :: Typed
Requires-Dist: aiohttp (>=3.11.0)
Project-URL: Bug, https://github.com/MohsenHNSJ/unofficial_tabdeal_api/issues
Project-URL: Changelog, https://github.com/MohsenHNSJ/unofficial_tabdeal_api/commits/main/
Project-URL: Documentation, https://github.com/MohsenHNSJ/unofficial_tabdeal_api/wiki
Project-URL: Homepage, https://github.com/MohsenHNSJ/unofficial_tabdeal_api
Description-Content-Type: text/markdown

# Unofficial Tabdeal API

[![PyPI](https://img.shields.io/pypi/v/unofficial-tabdeal-api.svg?style=flat-square)](https://pypi.org/project/unofficial-tabdeal-api/)
![Status](https://img.shields.io/pypi/status/unofficial-tabdeal-api.svg?style=flat-square)
![Python Version](https://img.shields.io/pypi/pyversions/unofficial-tabdeal-api?style=flat-square)
[![License](https://img.shields.io/pypi/l/unofficial-tabdeal-api?style=flat-square)](https://github.com/MohsenHNSJ/unofficial_tabdeal_api?tab=MIT-1-ov-file)

a Package to communicate with Tabdeal platform

## Requirements

- `aiohttp`

## Usage

1. Initialize an `aiohttp.ClientSession` asynchronously via:
`async with aiohttp.ClientSession() as client_session:`

2. Create a `TabdealClient` object inside the async wrap:
`my_client: TabdealClient = TabdealClient(USER_HASH, USER_AUTHORIZATION_KEY, client_session)`
3. Run your desired commands, Remember to `await` the methods as all of them (except a very few) are asynchronous:
`bomeusdt_asset_id = await my_client.get_margin_asset_id("BOMEUSDT")`

## Current problems

- Most exceptions are caught broadly using the `except Exception as exception`
  , This raises [Pylint-W0718](https://pylint.readthedocs.io/en/latest/user_guide/messages/warning/broad-exception-caught.html), but i currently don't have a fix for it.

- Some parts of the code works flawlessly but raises [Pylance-reportCallIssue](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportCallIssue), [Pylance-reportArgumentType](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportArgumentType) or [Mypy-call-overload](https://mypy.readthedocs.io/en/latest/error_code_list.html#code-call-overload) which i mitigate by adding `# type: ignore` at the end of the line. This must be investigated later and fixed with a proper solution. I don't know a solution for it yet.

## Building

NEW METHOD:

- `pip install --upgrade build`

- Use the `build` command (`python -m build`)

## TODO

- Use `README.rst` instead of `README.md`

- Fix [Pylint-W0718](https://pylint.readthedocs.io/en/latest/user_guide/messages/warning/broad-exception-caught.html)

- Fix [Pylance-reportCallIssue](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportCallIssue), [Pylance-reportArgumentType](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportArgumentType) or [Mypy-call-overload](https://mypy.readthedocs.io/en/latest/error_code_list.html#code-call-overload) which i mitigate by adding `# type: ignore` at the end of the line.

- Fix missing library stubs or py.typed marker `MyPy-import-untyped`

