<p align="center">
<a href="https://pypi.org/project/moex"><img src="https://gitlab.com/aioboy/moex/-/raw/master/assets/cover.gif" alt="MOEX"></a>
</p>
<p align="center">
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/pypi/v/moex.svg?style=flat-square&logo=appveyor" alt="Version"></a>
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/pypi/l/moex.svg?style=flat-square&logo=appveyor&color=blueviolet" alt="License"></a>
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/pypi/pyversions/moex.svg?style=flat-square&logo=appveyor" alt="Python"></a>
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/pypi/status/moex.svg?style=flat-square&logo=appveyor" alt="Status"></a>
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/pypi/format/moex.svg?style=flat-square&logo=appveyor&color=yellow" alt="Format"></a>
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/pypi/wheel/moex.svg?style=flat-square&logo=appveyor&color=red" alt="Wheel"></a>
<a href="https://pypi.org/project/moex"><img src="https://img.shields.io/gitlab/pipeline-status/aioboy%2Fmoex?branch=master&style=flat-square&logo=appveyor" alt="Build"></a>
<a href="https://pypi.org/project/moex"><img src="https://gitlab.com/aioboy/moex/-/raw/master/assets/coverage.svg" alt="Coverage"></a>
<a href="https://pepy.tech/project/moex"><img src="https://static.pepy.tech/personalized-badge/moex?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads" alt="Downloads"></a>
<br><br><br>
</p>
# MOEX
A little bit complex and more powerful implementation for [ISS Queries](https://iss.moex.com/iss/reference/).
## INSTALL
```bash
pip install moex
```
## USAGE
```python
import asyncio
from moex import AsyncMoex
async def main(amoex):
async with amoex:
amoex.show_templates()
template_id = 409
for tmpl in amoex.find_template("/candles"):
print(f"Template: {tmpl.id}. Path: {tmpl.path}")
await amoex.show_template_doc(tmpl.id)
template_id = tmpl.id
async with amoex:
for stock in ("SNGSP", "YNDX"):
url = amoex.render_url(
template_id, engine="stock", market="shares", security="SNGSP", board="TQBR"
)
dt_params = {"from": "2025-05-01", "till": "2025-05-20", "interval": "60"}
candles = await amoex.execute(url=url, **dt_params)
df = candles.to_df()
print(df)
amoex = AsyncMoex()
loop = asyncio.get_event_loop()
loop.run_until_complete(main(amoex))
```
Raw data
{
"_id": null,
"home_page": null,
"name": "moex",
"maintainer": "Michael R. Kisel",
"docs_url": null,
"requires_python": "<3.13,>=3.8.1",
"maintainer_email": "aioboy@yandex.com",
"keywords": "moex, moex iss, async moex, moscow, exchange, MoscowExchange, finance, stocks",
"author": "Michael R. Kisel",
"author_email": "aioboy@yandex.com",
"download_url": "https://files.pythonhosted.org/packages/74/69/d96fe521886485cefcdc164c0a9ea3642aee556c451a0dc49beff88319f7/moex-1.0.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://gitlab.com/aioboy/moex/-/raw/master/assets/cover.gif\" alt=\"MOEX\"></a>\n</p>\n<p align=\"center\">\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/pypi/v/moex.svg?style=flat-square&logo=appveyor\" alt=\"Version\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/pypi/l/moex.svg?style=flat-square&logo=appveyor&color=blueviolet\" alt=\"License\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/pypi/pyversions/moex.svg?style=flat-square&logo=appveyor\" alt=\"Python\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/pypi/status/moex.svg?style=flat-square&logo=appveyor\" alt=\"Status\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/pypi/format/moex.svg?style=flat-square&logo=appveyor&color=yellow\" alt=\"Format\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/pypi/wheel/moex.svg?style=flat-square&logo=appveyor&color=red\" alt=\"Wheel\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://img.shields.io/gitlab/pipeline-status/aioboy%2Fmoex?branch=master&style=flat-square&logo=appveyor\" alt=\"Build\"></a>\n <a href=\"https://pypi.org/project/moex\"><img src=\"https://gitlab.com/aioboy/moex/-/raw/master/assets/coverage.svg\" alt=\"Coverage\"></a>\n <a href=\"https://pepy.tech/project/moex\"><img src=\"https://static.pepy.tech/personalized-badge/moex?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads\" alt=\"Downloads\"></a>\n <br><br><br>\n</p>\n\n# MOEX\n\nA little bit complex and more powerful implementation for [ISS Queries](https://iss.moex.com/iss/reference/).\n\n## INSTALL\n\n```bash\npip install moex\n```\n\n## USAGE\n\n```python\nimport asyncio\nfrom moex import AsyncMoex\n\n\nasync def main(amoex):\n async with amoex:\n amoex.show_templates()\n\n template_id = 409\n for tmpl in amoex.find_template(\"/candles\"):\n print(f\"Template: {tmpl.id}. Path: {tmpl.path}\")\n await amoex.show_template_doc(tmpl.id)\n template_id = tmpl.id\n\n async with amoex:\n for stock in (\"SNGSP\", \"YNDX\"):\n url = amoex.render_url(\n template_id, engine=\"stock\", market=\"shares\", security=\"SNGSP\", board=\"TQBR\"\n )\n dt_params = {\"from\": \"2025-05-01\", \"till\": \"2025-05-20\", \"interval\": \"60\"}\n candles = await amoex.execute(url=url, **dt_params)\n df = candles.to_df()\n print(df)\n\namoex = AsyncMoex()\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main(amoex))\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MoscowExchange ISS Queries implementation",
"version": "1.0.0",
"project_urls": {
"documentation": "https://aioboy.tech/p/moex/",
"homepage": "https://pypi.org/project/moex",
"repository": "https://gitlab.com/aioboy/moex/"
},
"split_keywords": [
"moex",
" moex iss",
" async moex",
" moscow",
" exchange",
" moscowexchange",
" finance",
" stocks"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9c38acb710d11703050165ad8d0a37119db417555791d915e4e240d7993d3a94",
"md5": "711b54f92f79c3a158dae762e7ad7e78",
"sha256": "f5ae16139166d9a07f62f0c793bc577f4002cda70bdf8d32334570f551bbdb15"
},
"downloads": -1,
"filename": "moex-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "711b54f92f79c3a158dae762e7ad7e78",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.8.1",
"size": 12069,
"upload_time": "2025-05-24T23:41:59",
"upload_time_iso_8601": "2025-05-24T23:41:59.383723Z",
"url": "https://files.pythonhosted.org/packages/9c/38/acb710d11703050165ad8d0a37119db417555791d915e4e240d7993d3a94/moex-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7469d96fe521886485cefcdc164c0a9ea3642aee556c451a0dc49beff88319f7",
"md5": "82dc80ce275fb0f395a6038a75c1d15f",
"sha256": "4f436981840a0b51905778cd0287e3b116a8523e3314748c1c521e1e69802a7b"
},
"downloads": -1,
"filename": "moex-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "82dc80ce275fb0f395a6038a75c1d15f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.8.1",
"size": 10892,
"upload_time": "2025-05-24T23:42:01",
"upload_time_iso_8601": "2025-05-24T23:42:01.034568Z",
"url": "https://files.pythonhosted.org/packages/74/69/d96fe521886485cefcdc164c0a9ea3642aee556c451a0dc49beff88319f7/moex-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-05-24 23:42:01",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "aioboy",
"gitlab_project": "moex",
"lcname": "moex"
}