======================
Unofficial Tabdeal API
======================
..
Badges section
.. list-table::
:stub-columns: 1
* - Package
- |version| |status| |supported-python-versions| |poetry| |release-to-pypi| |implementation| |wheel| |pydantic-badge|
* - Quality Assurance
- |sonar-quality-gate| |sonar-reliability| |sonar-maintainability| |sonar-technical-debt| |sonar-bugs| |sonar-code-smells|
* - Stats
- |contributors| |stars| |issues| |pull-requests| |sonar-lines-of-code| |repository-size|
* - Tests
- |nox| |codspeed| |pre-commit-ci| |types| |codecov| |scorecard|
* - Security
- |synk| |sonar-security| |sonar-vulnerabilities| |openssf|
* - Linters
- |ruff| |pre-commit| |megalinter| |mypy| |pylint|
* - Activity
- |maintenance| |commit-activity| |downloads|
* - Misc
- |contributor-covenant| |doi| |skeleton|
* - Documentation
- |documentation|
* - License
- |license|
๐งญ Project overview
--------------------
Unofficial Tabdeal API is a modern, fully asynchronous Python wrapper for the Tabdeal_ cryptocurrency trading platform. Built from the ground up to replace the outdated and limited `official package`_, this library leverages Tabdeal's new backend API to offer safer and developer-friendly access to all available features.
This package supports both public and private endpoints ( such as placing orders, fetching balances, and managing trades ) and is designed with clarity, security, and performance in mind,
therefore, ideal for developers and algo traders who need reliable, complete, and secure access to Tabdeal's trading features.
โ
Key features
~~~~~~~~~~~~~~~~
* ๐ Async-first: Designed to work efficiently in modern Python async environments.
* ๐ก๏ธ Safer interface: Raises clear, informative exceptions instead of vague errors.
* ๐ง Complete coverage: Aims to support all endpoints exposed by the new Tabdeal API.
* ๐งช Fully typed: Clean type hints across the codebase for better IDE support and readability.
* โ๏ธ Unit tested: Each function is tested to ensure reliability and correct behavior.
* ๐งน Linted and secure: Codebase follows modern Python best practices with multiple linters and security checks.
๐ ๏ธ Technical overview
----------------------
This package uses the website backend to communicate with the Tabdeal platform (``https://api-web.tabdeal.org``) rather than the original API at (``https://api1.tabdeal.org/api/v1``).
This enables more stable and reliable access to Tabdeal's features, as the new backend is designed to be more robust and feature-rich.
There are also exclusive features that aren't available in the original API, such as setting stop loss/take profit points and 60x margin leverage.
๐งฐ Tech stack
~~~~~~~~~~~~~~
* aiohttp_ 3.12.13
* pydantic_ 2.9.2
๐ Getting started
-------------------
๐ Prerequisites
~~~~~~~~~~~~~~~~~
You need ``Authorization`` key and ``user-hash`` to use this package.
To obtain these credentials, follow these steps:
#. On a computer, open your internet browser and log-in to Tabdeal website
#. Navigate to settings page
#. Press F12 to open Developer tools
#. Navigate to Network panel
#. Refresh the website page and the network section should populate with many entries
#. Find the entry with ``wallet/`` name
#. Select it and in ``Headers`` section, under ``Request Headers``, you should find them
๐ฆ Installation
~~~~~~~~~~~~~~~~
You can install *unofficial tabdeal api* via pip_ from PyPI_, requirements will be met automatically:
.. code-block:: sh
pip install unofficial-tabdeal-api
โ๏ธ Usage
---------
#. Import ``TabdealClient`` from the package.
#. Initialize the ``TabdealClient`` with your ``Authorization`` key and ``user-hash`` information
#. Run your desired commands
.. code-block:: python
# Import TabdealClient
from unofficial_tabdeal_api import TabdealClient
async def main():
# Initialize a TabdealClient object
my_client: TabdealClient = TabdealClient(USER_HASH, USER_AUTHORIZATION_KEY)
# Run your desired commands, remember to `await` the methods as all of them (except a few) are asynchronous
bomeusdt_asset_id = await my_client.get_margin_asset_id("BOMEUSDT")
Learn more in the Documentation_.
๐ Issues
----------
If you encounter any problems,
please `file an issue`_ along with a detailed description.
โ๏ธ License
-----------
Distributed under the terms of the `MIT license`_, *unofficial tabdeal api* is free and open source software.
๐ค Contributing
----------------
Any contributions to this project are highly valued and appreciated. For detailed guidelines on how to contribute, please refer to the `Contributor Guide`_.
๐ Credits
-----------
This project was created with the help of `@cjolowicz`_'s `Hypermodern Python Cookiecutter`_ template and `@fpgmaas`_'s `Cookiecutter Poetry`_ template.
..
Badges
.. |codecov| image:: https://codecov.io/gh/MohsenHNSJ/unofficial_tabdeal_api/graph/badge.svg?token=QWCOB4VHEP
:target: CodeCov_
:alt: Coverage status
.. |codspeed| image:: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json
:target: CodSpeed_
:alt: CodSpeed
.. |commit-activity| image:: https://img.shields.io/github/commit-activity/m/MohsenHNSJ/unofficial_tabdeal_api?logo=git
:target: `Commit Activity`_
:alt: GitHub commit activity
.. |contributor-covenant| image:: https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?logo=contributorcovenant
:target: `Code of Conduct`_
:alt: Contributor Covenant
.. |contributors| image:: https://img.shields.io/github/contributors/MohsenHNSJ/unofficial_tabdeal_api.svg
:target: Contributors_
:alt: Contributors
.. |documentation| image:: https://readthedocs.org/projects/unofficial-tabdeal-api/badge/?version=latest
:target: Read-The-Docs_
:alt: Documentation Status
.. |doi| image:: https://zenodo.org/badge/917705429.svg
:target: DOI_
:alt: Digital Object Identifier
.. |downloads| image:: https://static.pepy.tech/badge/unofficial_tabdeal_api
:target: `Total Downloads`_
:alt: Total Downloads
.. |implementation| image:: https://img.shields.io/pypi/implementation/unofficial-tabdeal_api?logo=python
:alt: PyPI - Implementation
.. |issues| image:: https://img.shields.io/github/issues/MohsenHNSJ/unofficial_tabdeal_api
:target: Issues-link_
:alt: GitHub Issues
.. |license| image:: https://img.shields.io/pypi/l/unofficial-tabdeal-api
:target: `MIT License`_
:alt: License
.. |maintenance| image:: https://img.shields.io/badge/Maintenance%20Intended-โ-green.svg
:target: Unmaintained_
:alt: Maintenance - intended
.. |megalinter| image:: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions/workflows/mega-linter.yml/badge.svg?branch=main
:target: MegaLinter-Status_
:alt: MegaLinter status
.. |mypy| image:: https://img.shields.io/badge/MyPy-Checked-blue
:target: mypy-docs_
:alt: Checked with MyPy
.. |nox| image:: https://img.shields.io/badge/%F0%9F%A6%8A-Nox-D85E00.svg
:target: Nox_
:alt: Nox
.. |openssf| image:: https://www.bestpractices.dev/projects/10685/badge
:target: openssf-status_
:alt: Open Source Security Foundation Best Practices Badge
.. |poetry| image:: https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json
:target: poetry-website_
:alt: Poetry
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit
:target: Pre-commit_
:alt: pre-commit
.. |pre-commit-ci| image:: https://results.pre-commit.ci/badge/github/MohsenHNSJ/unofficial_tabdeal_api/main.svg
:target: Pre-commit-ci_
:alt: pre-commit.ci status
.. |pull-requests| image:: https://img.shields.io/github/issues-pr/MohsenHNSJ/unofficial_tabdeal_api
:target: `Pull Requests`_
:alt: GitHub Pull Requests
.. |pydantic-badge| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json
:target: pydantic_
:alt: Pydantic
.. |pylint| image:: https://img.shields.io/badge/linting-pylint-yellowgreen
:target: pylint-website_
:alt: Linting with Pylint
.. |release-to-pypi| image:: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions/workflows/release-packge.yml/badge.svg
:target: `Release to PyPI`_
:alt: Release to PyPI status
.. |repository-size| image:: https://img.shields.io/github/repo-size/MohsenHNSJ/unofficial_tabdeal_api?color=BE81F7
:alt: Repository Size
.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&style=flat-square
:target: Ruff_
:alt: Ruff
.. |scorecard| image:: https://api.scorecard.dev/projects/github.com/MohsenHNSJ/unofficial_tabdeal_api/badge
:target: scorecard-rating_
:alt: OpenSSF Scorecard
.. |skeleton| image:: https://img.shields.io/badge/skeleton-2025-informational?color=000000
:target: Skeleton_
:alt: Skeleton
.. |sonar-bugs| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=bugs
:target: sonar-qube-page_
:alt: SonarQube Bugs
.. |sonar-code-smells| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=code_smells
:target: sonar-qube-page_
:alt: SonarQube Code Smells
.. |sonar-lines-of-code| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=ncloc
:target: sonar-qube-page_
:alt: SonarQube Lines of Code
.. |sonar-maintainability| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=sqale_rating
:target: sonar-qube-page_
:alt: SonarQube Maintainability Rating
.. |sonar-quality-gate| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=alert_status
:target: sonar-qube-page_
:alt: SonarQube Quality Gate
.. |sonar-qube| image:: https://sonarcloud.io/images/project_badges/sonarcloud-dark.svg
:target: sonar-qube-page_
:alt: SonarQube Cloud
.. |sonar-reliability| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=reliability_rating
:target: sonar-qube-page_
:alt: SonarQube Reliability Rating
.. |sonar-security| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=security_rating
:target: sonar-qube-page_
:alt: SonarQube Security Rating
.. |sonar-technical-debt| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=sqale_index
:target: sonar-qube-page_
:alt: SonarQube Technical Debt
.. |sonar-vulnerabilities| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=vulnerabilities
:target: sonar-qube-page_
:alt: SonarQube Vulnerabilities
.. |stars| image:: https://img.shields.io/github/stars/MohsenHNSJ/unofficial_tabdeal_api?style=social
:target: Stars_
:alt: Stars
.. |status| image:: https://img.shields.io/pypi/status/unofficial-tabdeal-api.svg
:target: package-url_
:alt: Status
.. |supported-python-versions| image:: https://img.shields.io/pypi/pyversions/unofficial-tabdeal-api?logo=python
:target: package-url_
:alt: Python Version
.. |synk| image:: https://img.shields.io/badge/Synk-white?logo=snyk&color=4C4A73
:target: synk-website_
:alt: Analyzed with Synk
.. |types| image:: https://img.shields.io/pypi/types/unofficial-tabdeal-api
:alt: PyPI - Types
.. |version| image:: https://img.shields.io/pypi/v/unofficial-tabdeal-api.svg?logo=pypi
:target: package-url_
:alt: PyPI
.. |wheel| image:: https://img.shields.io/pypi/wheel/unofficial-tabdeal-api
:alt: PyPI - Wheel
..
Links
..
Badges-links
.. _CodeCov: https://codecov.io/gh/MohsenHNSJ/unofficial_tabdeal_api
.. _CodSpeed: https://codspeed.io/MohsenHNSJ/unofficial_tabdeal_api
.. _Commit Activity: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/graphs/commit-activity
.. _Contributors: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/graphs/contributors
.. _DOI: https://doi.org/10.5281/zenodo.15035227
.. _Issues-link: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/issues
.. _MegaLinter-Status: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions?query=workflow%3AMegaLinter+branch%3Amain
.. _Nox: https://github.com/wntrblm/nox
.. _openssf-status: https://www.bestpractices.dev/projects/10685
.. _package-url: https://pypi.org/project/unofficial-tabdeal-api/
.. _poetry-website: https://python-poetry.org/
.. _Pre-commit: https://github.com/pre-commit/pre-commit
.. _Pre-commit-ci: https://results.pre-commit.ci/latest/github/MohsenHNSJ/unofficial_tabdeal_api/main
.. _Pull Requests: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/pulls
.. _pydantic: https://pydantic.dev
.. _pylint-website: https://github.com/pylint-dev/pylint
.. _Read-The-Docs: https://unofficial-tabdeal-api.readthedocs.io/en/latest/?badge=latest
.. _Release to PyPI: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions
.. _Ruff: https://github.com/astral-sh/ruff
.. _scorecard-rating: https://scorecard.dev/viewer/?uri=github.com/MohsenHNSJ/unofficial_tabdeal_api
.. _Skeleton: https://blog.jaraco.com/skeleton
.. _sonar-qube-page: https://sonarcloud.io/summary/new_code?id=MohsenHNSJ_unofficial_tabdeal_api
.. _Stars: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/stargazers
.. _synk-website: https://snyk.io/
.. _Total Downloads: https://pepy.tech/project/unofficial_tabdeal_api
.. _Unmaintained: http://unmaintained.tech/
.. _mypy-docs: https://mypy.readthedocs.io/en/stable/
..
Project-overview-links
.. _official package: https://pypi.org/project/tabdeal-python/
.. _Tabdeal: https://tabdeal.org/
..
Technical-overview-links
.. _aiohttp: https://docs.aiohttp.org/en/stable/
..
Installation-links
.. _pip: https://pypi.org/project/pip/
.. _PyPI: https://pypi.org/
..
Issues-links
.. _file an issue: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/issues/new
..
Credits-links
.. _@cjolowicz: https://github.com/cjolowicz
.. _@fpgmaas: https://github.com/fpgmaas
.. _Cookiecutter Poetry: https://github.com/fpgmaas/cookiecutter-poetry
.. _Hypermodern Python Cookiecutter: https://github.com/cjolowicz/cookiecutter-hypermodern-python
..
Ignore-in-readthedocs
.. _Code of Conduct: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/blob/main/CODE_OF_CONDUCT.rst
.. _Contributor Guide: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/blob/main/CONTRIBUTING.rst
.. _Documentation: https://unofficial-tabdeal-api.readthedocs.io/en/latest/
.. _MIT License: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/blob/main/LICENSE
Raw data
{
"_id": null,
"home_page": null,
"name": "unofficial-tabdeal-api",
"maintainer": "MohsenHNSJ",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "mohsenhasannezhad@outlook.com",
"keywords": "tabdeal, api, unofficial",
"author": "MohsenHNSJ",
"author_email": "mohsenhasannezhad@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/ae/d1/4ca188b95d5a3aa893a05e20c2a4b918862b61a80777b526fc8ed1ac9b0c/unofficial_tabdeal_api-0.3.3.tar.gz",
"platform": null,
"description": "======================\nUnofficial Tabdeal API\n======================\n..\n Badges section\n\n.. list-table::\n :stub-columns: 1\n\n * - Package\n - |version| |status| |supported-python-versions| |poetry| |release-to-pypi| |implementation| |wheel| |pydantic-badge|\n * - Quality Assurance\n - |sonar-quality-gate| |sonar-reliability| |sonar-maintainability| |sonar-technical-debt| |sonar-bugs| |sonar-code-smells|\n * - Stats\n - |contributors| |stars| |issues| |pull-requests| |sonar-lines-of-code| |repository-size|\n * - Tests\n - |nox| |codspeed| |pre-commit-ci| |types| |codecov| |scorecard|\n * - Security\n - |synk| |sonar-security| |sonar-vulnerabilities| |openssf|\n * - Linters\n - |ruff| |pre-commit| |megalinter| |mypy| |pylint|\n * - Activity\n - |maintenance| |commit-activity| |downloads|\n * - Misc\n - |contributor-covenant| |doi| |skeleton|\n * - Documentation\n - |documentation|\n * - License\n - |license|\n\n\n\ud83e\udded Project overview\n--------------------\n\nUnofficial Tabdeal API is a modern, fully asynchronous Python wrapper for the Tabdeal_ cryptocurrency trading platform. Built from the ground up to replace the outdated and limited `official package`_, this library leverages Tabdeal's new backend API to offer safer and developer-friendly access to all available features.\n\nThis package supports both public and private endpoints ( such as placing orders, fetching balances, and managing trades ) and is designed with clarity, security, and performance in mind,\ntherefore, ideal for developers and algo traders who need reliable, complete, and secure access to Tabdeal's trading features.\n\n\u2705 Key features\n~~~~~~~~~~~~~~~~\n\n* \ud83d\ude80 Async-first: Designed to work efficiently in modern Python async environments.\n\n* \ud83d\udee1\ufe0f Safer interface: Raises clear, informative exceptions instead of vague errors.\n\n* \ud83d\udd27 Complete coverage: Aims to support all endpoints exposed by the new Tabdeal API.\n\n* \ud83e\uddea Fully typed: Clean type hints across the codebase for better IDE support and readability.\n\n* \u2714\ufe0f Unit tested: Each function is tested to ensure reliability and correct behavior.\n\n* \ud83e\uddf9 Linted and secure: Codebase follows modern Python best practices with multiple linters and security checks.\n\n\n\ud83d\udee0\ufe0f Technical overview\n----------------------\n\nThis package uses the website backend to communicate with the Tabdeal platform (``https://api-web.tabdeal.org``) rather than the original API at (``https://api1.tabdeal.org/api/v1``).\n\nThis enables more stable and reliable access to Tabdeal's features, as the new backend is designed to be more robust and feature-rich.\n\nThere are also exclusive features that aren't available in the original API, such as setting stop loss/take profit points and 60x margin leverage.\n\n\ud83e\uddf0 Tech stack\n~~~~~~~~~~~~~~\n\n* aiohttp_ 3.12.13\n\n* pydantic_ 2.9.2\n\n\ud83c\udfc1 Getting started\n-------------------\n\n\ud83d\udccb Prerequisites\n~~~~~~~~~~~~~~~~~\n\nYou need ``Authorization`` key and ``user-hash`` to use this package.\n\nTo obtain these credentials, follow these steps:\n\n#. On a computer, open your internet browser and log-in to Tabdeal website\n\n#. Navigate to settings page\n\n#. Press F12 to open Developer tools\n\n#. Navigate to Network panel\n\n#. Refresh the website page and the network section should populate with many entries\n\n#. Find the entry with ``wallet/`` name\n\n#. Select it and in ``Headers`` section, under ``Request Headers``, you should find them\n\n\ud83d\udce6 Installation\n~~~~~~~~~~~~~~~~\n\nYou can install *unofficial tabdeal api* via pip_ from PyPI_, requirements will be met automatically:\n\n.. code-block:: sh\n\n pip install unofficial-tabdeal-api\n\n\u2699\ufe0f Usage\n---------\n\n#. Import ``TabdealClient`` from the package.\n\n#. Initialize the ``TabdealClient`` with your ``Authorization`` key and ``user-hash`` information\n\n#. Run your desired commands\n\n.. code-block:: python\n\n # Import TabdealClient\n from unofficial_tabdeal_api import TabdealClient\n\n async def main():\n\n # Initialize a TabdealClient object\n my_client: TabdealClient = TabdealClient(USER_HASH, USER_AUTHORIZATION_KEY)\n\n # Run your desired commands, remember to `await` the methods as all of them (except a few) are asynchronous\n bomeusdt_asset_id = await my_client.get_margin_asset_id(\"BOMEUSDT\")\n\nLearn more in the Documentation_.\n\n\ud83d\udc1b Issues\n----------\n\nIf you encounter any problems,\nplease `file an issue`_ along with a detailed description.\n\n\u2696\ufe0f License\n-----------\n\nDistributed under the terms of the `MIT license`_, *unofficial tabdeal api* is free and open source software.\n\n\ud83e\udd1d Contributing\n----------------\n\nAny contributions to this project are highly valued and appreciated. For detailed guidelines on how to contribute, please refer to the `Contributor Guide`_.\n\n\ud83c\udf1f Credits\n-----------\n\nThis project was created with the help of `@cjolowicz`_'s `Hypermodern Python Cookiecutter`_ template and `@fpgmaas`_'s `Cookiecutter Poetry`_ template.\n\n..\n Badges\n\n\n.. |codecov| image:: https://codecov.io/gh/MohsenHNSJ/unofficial_tabdeal_api/graph/badge.svg?token=QWCOB4VHEP\n :target: CodeCov_\n :alt: Coverage status\n\n.. |codspeed| image:: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json\n :target: CodSpeed_\n :alt: CodSpeed\n\n.. |commit-activity| image:: https://img.shields.io/github/commit-activity/m/MohsenHNSJ/unofficial_tabdeal_api?logo=git\n :target: `Commit Activity`_\n :alt: GitHub commit activity\n\n.. |contributor-covenant| image:: https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?logo=contributorcovenant\n :target: `Code of Conduct`_\n :alt: Contributor Covenant\n\n.. |contributors| image:: https://img.shields.io/github/contributors/MohsenHNSJ/unofficial_tabdeal_api.svg\n :target: Contributors_\n :alt: Contributors\n\n.. |documentation| image:: https://readthedocs.org/projects/unofficial-tabdeal-api/badge/?version=latest\n :target: Read-The-Docs_\n :alt: Documentation Status\n\n.. |doi| image:: https://zenodo.org/badge/917705429.svg\n :target: DOI_\n :alt: Digital Object Identifier\n\n.. |downloads| image:: https://static.pepy.tech/badge/unofficial_tabdeal_api\n :target: `Total Downloads`_\n :alt: Total Downloads\n\n.. |implementation| image:: https://img.shields.io/pypi/implementation/unofficial-tabdeal_api?logo=python\n :alt: PyPI - Implementation\n\n.. |issues| image:: https://img.shields.io/github/issues/MohsenHNSJ/unofficial_tabdeal_api\n :target: Issues-link_\n :alt: GitHub Issues\n\n.. |license| image:: https://img.shields.io/pypi/l/unofficial-tabdeal-api\n :target: `MIT License`_\n :alt: License\n\n.. |maintenance| image:: https://img.shields.io/badge/Maintenance%20Intended-\u2714-green.svg\n :target: Unmaintained_\n :alt: Maintenance - intended\n\n.. |megalinter| image:: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions/workflows/mega-linter.yml/badge.svg?branch=main\n :target: MegaLinter-Status_\n :alt: MegaLinter status\n\n.. |mypy| image:: https://img.shields.io/badge/MyPy-Checked-blue\n :target: mypy-docs_\n :alt: Checked with MyPy\n\n.. |nox| image:: https://img.shields.io/badge/%F0%9F%A6%8A-Nox-D85E00.svg\n :target: Nox_\n :alt: Nox\n\n.. |openssf| image:: https://www.bestpractices.dev/projects/10685/badge\n :target: openssf-status_\n :alt: Open Source Security Foundation Best Practices Badge\n\n.. |poetry| image:: https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json\n :target: poetry-website_\n :alt: Poetry\n\n.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\n :target: Pre-commit_\n :alt: pre-commit\n\n.. |pre-commit-ci| image:: https://results.pre-commit.ci/badge/github/MohsenHNSJ/unofficial_tabdeal_api/main.svg\n :target: Pre-commit-ci_\n :alt: pre-commit.ci status\n\n.. |pull-requests| image:: https://img.shields.io/github/issues-pr/MohsenHNSJ/unofficial_tabdeal_api\n :target: `Pull Requests`_\n :alt: GitHub Pull Requests\n\n.. |pydantic-badge| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json\n :target: pydantic_\n :alt: Pydantic\n\n.. |pylint| image:: https://img.shields.io/badge/linting-pylint-yellowgreen\n :target: pylint-website_\n :alt: Linting with Pylint\n\n.. |release-to-pypi| image:: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions/workflows/release-packge.yml/badge.svg\n :target: `Release to PyPI`_\n :alt: Release to PyPI status\n\n.. |repository-size| image:: https://img.shields.io/github/repo-size/MohsenHNSJ/unofficial_tabdeal_api?color=BE81F7\n :alt: Repository Size\n\n.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&style=flat-square\n :target: Ruff_\n :alt: Ruff\n\n.. |scorecard| image:: https://api.scorecard.dev/projects/github.com/MohsenHNSJ/unofficial_tabdeal_api/badge\n :target: scorecard-rating_\n :alt: OpenSSF Scorecard\n\n.. |skeleton| image:: https://img.shields.io/badge/skeleton-2025-informational?color=000000\n :target: Skeleton_\n :alt: Skeleton\n\n.. |sonar-bugs| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=bugs\n :target: sonar-qube-page_\n :alt: SonarQube Bugs\n\n.. |sonar-code-smells| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=code_smells\n :target: sonar-qube-page_\n :alt: SonarQube Code Smells\n\n.. |sonar-lines-of-code| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=ncloc\n :target: sonar-qube-page_\n :alt: SonarQube Lines of Code\n\n.. |sonar-maintainability| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=sqale_rating\n :target: sonar-qube-page_\n :alt: SonarQube Maintainability Rating\n\n.. |sonar-quality-gate| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=alert_status\n :target: sonar-qube-page_\n :alt: SonarQube Quality Gate\n\n.. |sonar-qube| image:: https://sonarcloud.io/images/project_badges/sonarcloud-dark.svg\n :target: sonar-qube-page_\n :alt: SonarQube Cloud\n\n.. |sonar-reliability| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=reliability_rating\n :target: sonar-qube-page_\n :alt: SonarQube Reliability Rating\n\n.. |sonar-security| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=security_rating\n :target: sonar-qube-page_\n :alt: SonarQube Security Rating\n\n.. |sonar-technical-debt| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=sqale_index\n :target: sonar-qube-page_\n :alt: SonarQube Technical Debt\n\n.. |sonar-vulnerabilities| image:: https://sonarcloud.io/api/project_badges/measure?project=MohsenHNSJ_unofficial_tabdeal_api&metric=vulnerabilities\n :target: sonar-qube-page_\n :alt: SonarQube Vulnerabilities\n\n.. |stars| image:: https://img.shields.io/github/stars/MohsenHNSJ/unofficial_tabdeal_api?style=social\n :target: Stars_\n :alt: Stars\n\n.. |status| image:: https://img.shields.io/pypi/status/unofficial-tabdeal-api.svg\n :target: package-url_\n :alt: Status\n\n.. |supported-python-versions| image:: https://img.shields.io/pypi/pyversions/unofficial-tabdeal-api?logo=python\n :target: package-url_\n :alt: Python Version\n\n.. |synk| image:: https://img.shields.io/badge/Synk-white?logo=snyk&color=4C4A73\n :target: synk-website_\n :alt: Analyzed with Synk\n\n.. |types| image:: https://img.shields.io/pypi/types/unofficial-tabdeal-api\n :alt: PyPI - Types\n\n.. |version| image:: https://img.shields.io/pypi/v/unofficial-tabdeal-api.svg?logo=pypi\n :target: package-url_\n :alt: PyPI\n\n.. |wheel| image:: https://img.shields.io/pypi/wheel/unofficial-tabdeal-api\n :alt: PyPI - Wheel\n\n\n..\n Links\n..\n Badges-links\n\n.. _CodeCov: https://codecov.io/gh/MohsenHNSJ/unofficial_tabdeal_api\n.. _CodSpeed: https://codspeed.io/MohsenHNSJ/unofficial_tabdeal_api\n.. _Commit Activity: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/graphs/commit-activity\n.. _Contributors: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/graphs/contributors\n.. _DOI: https://doi.org/10.5281/zenodo.15035227\n.. _Issues-link: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/issues\n.. _MegaLinter-Status: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions?query=workflow%3AMegaLinter+branch%3Amain\n.. _Nox: https://github.com/wntrblm/nox\n.. _openssf-status: https://www.bestpractices.dev/projects/10685\n.. _package-url: https://pypi.org/project/unofficial-tabdeal-api/\n.. _poetry-website: https://python-poetry.org/\n.. _Pre-commit: https://github.com/pre-commit/pre-commit\n.. _Pre-commit-ci: https://results.pre-commit.ci/latest/github/MohsenHNSJ/unofficial_tabdeal_api/main\n.. _Pull Requests: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/pulls\n.. _pydantic: https://pydantic.dev\n.. _pylint-website: https://github.com/pylint-dev/pylint\n.. _Read-The-Docs: https://unofficial-tabdeal-api.readthedocs.io/en/latest/?badge=latest\n.. _Release to PyPI: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/actions\n.. _Ruff: https://github.com/astral-sh/ruff\n.. _scorecard-rating: https://scorecard.dev/viewer/?uri=github.com/MohsenHNSJ/unofficial_tabdeal_api\n.. _Skeleton: https://blog.jaraco.com/skeleton\n.. _sonar-qube-page: https://sonarcloud.io/summary/new_code?id=MohsenHNSJ_unofficial_tabdeal_api\n.. _Stars: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/stargazers\n.. _synk-website: https://snyk.io/\n.. _Total Downloads: https://pepy.tech/project/unofficial_tabdeal_api\n.. _Unmaintained: http://unmaintained.tech/\n.. _mypy-docs: https://mypy.readthedocs.io/en/stable/\n\n..\n Project-overview-links\n\n.. _official package: https://pypi.org/project/tabdeal-python/\n.. _Tabdeal: https://tabdeal.org/\n\n..\n Technical-overview-links\n\n.. _aiohttp: https://docs.aiohttp.org/en/stable/\n\n..\n Installation-links\n\n.. _pip: https://pypi.org/project/pip/\n.. _PyPI: https://pypi.org/\n\n..\n Issues-links\n\n.. _file an issue: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/issues/new\n\n..\n Credits-links\n\n.. _@cjolowicz: https://github.com/cjolowicz\n.. _@fpgmaas: https://github.com/fpgmaas\n.. _Cookiecutter Poetry: https://github.com/fpgmaas/cookiecutter-poetry\n.. _Hypermodern Python Cookiecutter: https://github.com/cjolowicz/cookiecutter-hypermodern-python\n\n..\n Ignore-in-readthedocs\n.. _Code of Conduct: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/blob/main/CODE_OF_CONDUCT.rst\n.. _Contributor Guide: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/blob/main/CONTRIBUTING.rst\n.. _Documentation: https://unofficial-tabdeal-api.readthedocs.io/en/latest/\n.. _MIT License: https://github.com/MohsenHNSJ/unofficial_tabdeal_api/blob/main/LICENSE\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Package to communicate with the Tabdeal platform",
"version": "0.3.3",
"project_urls": {
"Bug": "https://github.com/MohsenHNSJ/unofficial_tabdeal_api/issues",
"Changelog": "https://github.com/MohsenHNSJ/unofficial_tabdeal_api/releases",
"Documentation": "https://unofficial-tabdeal-api.readthedocs.io/en/latest/",
"Repository": "https://github.com/MohsenHNSJ/unofficial_tabdeal_api"
},
"split_keywords": [
"tabdeal",
" api",
" unofficial"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9097463b7ba2365827495959ce4a2ae87d9f2daf90b3779e56c8f54d49966c41",
"md5": "be536e944b83c66f4fc1fe3403ef2efc",
"sha256": "d68a60cc8d8dd9cda244a510d64e940bc66ec5f4cb339edf006a2bde48f4247b"
},
"downloads": -1,
"filename": "unofficial_tabdeal_api-0.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "be536e944b83c66f4fc1fe3403ef2efc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 31082,
"upload_time": "2025-07-08T18:34:28",
"upload_time_iso_8601": "2025-07-08T18:34:28.685213Z",
"url": "https://files.pythonhosted.org/packages/90/97/463b7ba2365827495959ce4a2ae87d9f2daf90b3779e56c8f54d49966c41/unofficial_tabdeal_api-0.3.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "aed14ca188b95d5a3aa893a05e20c2a4b918862b61a80777b526fc8ed1ac9b0c",
"md5": "589dab732324e2faa1fedaea6cd95b77",
"sha256": "11e4a95289dd1f88e1cf58189b5cdb9ef8a478062b2ca7a268f90bd35dfc19b5"
},
"downloads": -1,
"filename": "unofficial_tabdeal_api-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "589dab732324e2faa1fedaea6cd95b77",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 31928,
"upload_time": "2025-07-08T18:34:30",
"upload_time_iso_8601": "2025-07-08T18:34:30.485404Z",
"url": "https://files.pythonhosted.org/packages/ae/d1/4ca188b95d5a3aa893a05e20c2a4b918862b61a80777b526fc8ed1ac9b0c/unofficial_tabdeal_api-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-08 18:34:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MohsenHNSJ",
"github_project": "unofficial_tabdeal_api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
"==",
"3.12.13"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.9.2"
]
]
}
],
"lcname": "unofficial-tabdeal-api"
}