# mtcli
*mtcli* é um aplicativo de linha de comando (CLI) acessível para leitura e análise de gráficos do MetaTrader 5, desenvolvido com foco em acessibilidade para usuários com deficiência visual.
O projeto é modular e extensível por meio de plugins.
---
## Instalação
Você pode instalar o `mtcli` diretamente via *pip*:
```bash
pip install mtcli
```
Ou diretamente a partir do código-fonte:
```bash
git clone https://github.com/vfranca/mtcli.git
cd mtcli
pip install .
```
---
## Como usar
Após a instalação, o comando principal é:
```bash
mt
```
Você verá uma lista de comandos e plugins disponíveis.
Para executar um plugin específico, use:
```bash
mt nome-do-plugin [opções]
```
Exemplo com o plugin de média móvel:
```bash
mt mm --symbol WIN$N --periodo 14
```
---
## Documentação
A documentação completa está disponível em:
*https://vfranca.github.io/mtcli*
Inclui guias de uso, instalação de plugins, exemplos e estrutura do projeto.
---
## Como contribuir
Contribuições são bem-vindas!
Clonar o repositório
```bash
git clone https://github.com/vfranca/mtcli.git
cd mtcli
```
Instalar dependências para desenvolvimento
```bash
pip install -e ".[dev]"
```
Rodar os testes
```bash
pymake test
```
Estilo de código
- `black` para formatação
- `isort` para ordenação de imports
- `pydocstyle` para formatação de docstrings
- `ruff` e `mypy` para linting e verificação estática
---
## Criando plugins para o mtcli
Plugins permitem estender a funcionalidade do `mtcli`.
Estrutura básica de um plugin
```toml
pyproject.toml
[project.entry-points."mtcli.plugins"]
nome_do_plugin = "modulo.caminho:funcao_principal"
```
Exemplo
```toml
[project.entry-points."mtcli.plugins"]
volume_medio = "mtcli.plugins.volume_medio:vm"
```
No código Python:
```python
def vm():
print("Plugin de volume médio executado.")
```
Como empacotar
Crie um projeto separado com sua lógica e registre o plugin no `pyproject.toml` ou `setup.py` como acima.
Depois, instale com:
```bash
pip install .
```
O `mtcli` reconhecerá o plugin automaticamente.
---
## Contato
Autor: *Valmir França da Silva*
Email: vfranca3@gmail.com
GitHub: [@vfranca](https://github.com/vfranca)
---
## Licença
Distribuído sob a licença GPL-3.0. Veja `LICENSE` para mais informações.
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/mtcli",
"name": "mtcli",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14.0,>=3.10",
"maintainer_email": null,
"keywords": "MetaTrader 5, trading, CLI",
"author": "Valmir Fran\u00e7a da Silva",
"author_email": "vfranca3@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b1/7b/0f99a5c60b350e2b15b9913ca3e6575cc6c65a6c5601d0ed2828bba87a0a/mtcli-2.1.1.tar.gz",
"platform": null,
"description": "# mtcli\n \n*mtcli* \u00e9 um aplicativo de linha de comando (CLI) acess\u00edvel para leitura e an\u00e1lise de gr\u00e1ficos do MetaTrader 5, desenvolvido com foco em acessibilidade para usu\u00e1rios com defici\u00eancia visual. \n \nO projeto \u00e9 modular e extens\u00edvel por meio de plugins.\n \n---\n \n## Instala\u00e7\u00e3o\n \nVoc\u00ea pode instalar o `mtcli` diretamente via *pip*:\n \n```bash\npip install mtcli\n```\n \nOu diretamente a partir do c\u00f3digo-fonte:\n \n```bash\ngit clone https://github.com/vfranca/mtcli.git\ncd mtcli\npip install .\n```\n \n---\n \n## Como usar\n \nAp\u00f3s a instala\u00e7\u00e3o, o comando principal \u00e9:\n \n```bash\nmt\n```\n \nVoc\u00ea ver\u00e1 uma lista de comandos e plugins dispon\u00edveis.\n \nPara executar um plugin espec\u00edfico, use:\n \n```bash\nmt nome-do-plugin [op\u00e7\u00f5es]\n```\n \nExemplo com o plugin de m\u00e9dia m\u00f3vel:\n \n```bash\nmt mm --symbol WIN$N --periodo 14\n```\n \n---\n \n## Documenta\u00e7\u00e3o\n \nA documenta\u00e7\u00e3o completa est\u00e1 dispon\u00edvel em:\n \n*https://vfranca.github.io/mtcli*\n \nInclui guias de uso, instala\u00e7\u00e3o de plugins, exemplos e estrutura do projeto.\n \n---\n \n## Como contribuir\n \nContribui\u00e7\u00f5es s\u00e3o bem-vindas!\n \nClonar o reposit\u00f3rio\n \n```bash\ngit clone https://github.com/vfranca/mtcli.git\ncd mtcli\n```\n \nInstalar depend\u00eancias para desenvolvimento\n \n```bash\npip install -e \".[dev]\"\n```\nRodar os testes\n \n```bash\npymake test\n```\n \nEstilo de c\u00f3digo\n \n- `black` para formata\u00e7\u00e3o\n- `isort` para ordena\u00e7\u00e3o de imports\n- `pydocstyle` para formata\u00e7\u00e3o de docstrings\n- `ruff` e `mypy` para linting e verifica\u00e7\u00e3o est\u00e1tica\n \n---\n \n## Criando plugins para o mtcli\n \nPlugins permitem estender a funcionalidade do `mtcli`.\n \nEstrutura b\u00e1sica de um plugin\n \n```toml\npyproject.toml\n[project.entry-points.\"mtcli.plugins\"]\nnome_do_plugin = \"modulo.caminho:funcao_principal\"\n```\n \nExemplo\n \n```toml\n[project.entry-points.\"mtcli.plugins\"]\nvolume_medio = \"mtcli.plugins.volume_medio:vm\"\n```\n \nNo c\u00f3digo Python:\n \n```python\n\ndef vm():\n print(\"Plugin de volume m\u00e9dio executado.\")\n```\n \nComo empacotar\n \nCrie um projeto separado com sua l\u00f3gica e registre o plugin no `pyproject.toml` ou `setup.py` como acima.\n \nDepois, instale com:\n \n```bash\npip install .\n```\n \nO `mtcli` reconhecer\u00e1 o plugin automaticamente.\n \n---\n \n## Contato\n \nAutor: *Valmir Fran\u00e7a da Silva* \n \nEmail: vfranca3@gmail.com \n \nGitHub: [@vfranca](https://github.com/vfranca)\n \n---\n \n## Licen\u00e7a\n \nDistribu\u00eddo sob a licen\u00e7a GPL-3.0. Veja `LICENSE` para mais informa\u00e7\u00f5es.\n \n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "Aplicativo CLI para exibir gr\u00e1ficos do MetaTrader 5 em texto acess\u00edvel ao leitor de telas",
"version": "2.1.1",
"project_urls": {
"Documentation": "https://mtcli.readthedocs.io/pt-br/latest",
"Homepage": "https://pypi.org/project/mtcli",
"Repository": "https://github.com/vfranca/mtcli",
"issues": "https://github.com/vfranca/mtcli/issues"
},
"split_keywords": [
"metatrader 5",
" trading",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0b80cc7921d37b252a971560b32d24996171ced125218df17c39cfa57cfa974b",
"md5": "f32183bc76adfa279f93c7d0acbaf30e",
"sha256": "a38e226592ef3b59f0339e351c6c8e13eca4f0ec2e410d4b2edd26ce92589c42"
},
"downloads": -1,
"filename": "mtcli-2.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f32183bc76adfa279f93c7d0acbaf30e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14.0,>=3.10",
"size": 34343,
"upload_time": "2025-09-08T06:43:00",
"upload_time_iso_8601": "2025-09-08T06:43:00.089963Z",
"url": "https://files.pythonhosted.org/packages/0b/80/cc7921d37b252a971560b32d24996171ced125218df17c39cfa57cfa974b/mtcli-2.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b17b0f99a5c60b350e2b15b9913ca3e6575cc6c65a6c5601d0ed2828bba87a0a",
"md5": "0af5eb32490b8db03541d780b40e7027",
"sha256": "1b5760a577aff03cb9f1bb7e7435d9f8f4c605b9e07ae1b52f8d7ab305fb5a79"
},
"downloads": -1,
"filename": "mtcli-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0af5eb32490b8db03541d780b40e7027",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14.0,>=3.10",
"size": 16054,
"upload_time": "2025-09-08T06:43:01",
"upload_time_iso_8601": "2025-09-08T06:43:01.332340Z",
"url": "https://files.pythonhosted.org/packages/b1/7b/0f99a5c60b350e2b15b9913ca3e6575cc6c65a6c5601d0ed2828bba87a0a/mtcli-2.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-08 06:43:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vfranca",
"github_project": "mtcli",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mtcli"
}