mtcli 3.7.2__tar.gz → 3.7.3.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/PKG-INFO +2 -1
  2. mtcli-3.7.3.dev0/mtcli/__main__.py +3 -0
  3. mtcli-3.7.3.dev0/mtcli/cli.py +51 -0
  4. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/conf.py +354 -325
  5. mtcli-3.7.3.dev0/mtcli/logger.py +136 -0
  6. mtcli-3.7.3.dev0/mtcli/utils/time.py +65 -0
  7. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/pyproject.toml +3 -1
  8. mtcli-3.7.2/mtcli/cli.py +0 -74
  9. mtcli-3.7.2/mtcli/database.py +0 -54
  10. mtcli-3.7.2/mtcli/logger.py +0 -178
  11. mtcli-3.7.2/mtcli/marketdata/tick_cache.py +0 -24
  12. mtcli-3.7.2/mtcli/marketdata/tick_repository.py +0 -142
  13. mtcli-3.7.2/mtcli/utils/__init__.py +0 -0
  14. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/LICENSE +0 -0
  15. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/README.md +0 -0
  16. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/__init__.py +0 -0
  17. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/commands/__init__.py +0 -0
  18. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/commands/bars.py +0 -0
  19. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/commands/conf.py +0 -0
  20. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/commands/doctor.py +0 -0
  21. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/conecta.py +0 -0
  22. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/config_registre.py +0 -0
  23. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/data/__init__.py +0 -0
  24. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/data/base.py +0 -0
  25. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/data/csv.py +0 -0
  26. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/data/mt5.py +0 -0
  27. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/domain/__init__.py +0 -0
  28. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/domain/timeframe.py +0 -0
  29. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/__init__.py +0 -0
  30. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/bar_model.py +0 -0
  31. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/bars_model.py +0 -0
  32. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/chart_model.py +0 -0
  33. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/conf_model.py +0 -0
  34. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/consecutive_bars_model.py +0 -0
  35. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/rates_model.py +0 -0
  36. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/signals_model.py +0 -0
  37. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/models/unconsecutive_bar_model.py +0 -0
  38. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/mt5_context.py +0 -0
  39. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugin.py +0 -0
  40. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugin_loader.py +0 -0
  41. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugin_manager.py +0 -0
  42. {mtcli-3.7.2/mtcli/marketdata → mtcli-3.7.3.dev0/mtcli/plugins}/__init__.py +0 -0
  43. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/exemplo.py-dist +0 -0
  44. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/__init__.py +0 -0
  45. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/cli.py +0 -0
  46. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/conf.py +0 -0
  47. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/models/__init__.py +0 -0
  48. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/models/model_media_movel.py +0 -0
  49. {mtcli-3.7.2/mtcli/plugins → mtcli-3.7.3.dev0/mtcli/plugins/media_movel/tests}/__init__.py +0 -0
  50. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/tests/test_mm.py +0 -0
  51. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/media_movel/tests/test_model_media_movel.py +0 -0
  52. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/range_medio/__init__.py +0 -0
  53. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/range_medio/cli.py +0 -0
  54. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/range_medio/conf.py +0 -0
  55. {mtcli-3.7.2/mtcli/plugins/media_movel/tests → mtcli-3.7.3.dev0/mtcli/plugins/range_medio/models}/__init__.py +0 -0
  56. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/range_medio/models/average_range_model.py +0 -0
  57. {mtcli-3.7.2/mtcli/plugins/range_medio/models → mtcli-3.7.3.dev0/mtcli/plugins/range_medio/tests}/__init__.py +0 -0
  58. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/range_medio/tests/test_rm.py +0 -0
  59. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/volume_medio/__init__.py +0 -0
  60. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/volume_medio/cli.py +0 -0
  61. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/volume_medio/conf.py +0 -0
  62. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/volume_medio/models/__init__.py +0 -0
  63. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/volume_medio/models/model_average_volume.py +0 -0
  64. {mtcli-3.7.2/mtcli/plugins/range_medio → mtcli-3.7.3.dev0/mtcli/plugins/volume_medio}/tests/__init__.py +0 -0
  65. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/plugins/volume_medio/tests/test_vm.py +0 -0
  66. {mtcli-3.7.2/mtcli/plugins/volume_medio/tests → mtcli-3.7.3.dev0/mtcli/utils}/__init__.py +0 -0
  67. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/utils/pidfile.py +0 -0
  68. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/__init__.py +0 -0
  69. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/close_view.py +0 -0
  70. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/full_view.py +0 -0
  71. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/high_view.py +0 -0
  72. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/low_view.py +0 -0
  73. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/min_view.py +0 -0
  74. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/open_view.py +0 -0
  75. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/ranges_view.py +0 -0
  76. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/rates_view.py +0 -0
  77. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/vars_view.py +0 -0
  78. {mtcli-3.7.2 → mtcli-3.7.3.dev0}/mtcli/views/volumes_view.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mtcli
3
- Version: 3.7.2
3
+ Version: 3.7.3.dev0
4
4
  Summary: Aplicativo CLI para exibir gráficos do MetaTrader 5 screen reader friendly
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -19,6 +19,7 @@ Classifier: Operating System :: OS Independent
19
19
  Classifier: Topic :: Office/Business :: Financial :: Investment
20
20
  Requires-Dist: click (>=8.2.1,<9.0.0)
21
21
  Requires-Dist: metatrader5 (>=5.0.5260,<6.0.0)
22
+ Requires-Dist: tzdata (>=2025.3,<2026.0)
22
23
  Project-URL: Documentation, https://mtcli.readthedocs.io/pt-br/latest
23
24
  Project-URL: Homepage, https://github.com:vfranca/mtcli
24
25
  Project-URL: Repository, https://github.com/vfranca/mtcli
@@ -0,0 +1,3 @@
1
+ from .cli import mt
2
+
3
+ mt()
@@ -0,0 +1,51 @@
1
+ """
2
+ CLI principal do mtcli.
3
+ """
4
+
5
+ import os
6
+ import click
7
+ from .plugin_loader import load_plugins
8
+ from .logger import setup_logger
9
+
10
+ from .commands.bars import bars
11
+ from .commands.doctor import doctor
12
+
13
+ logger = setup_logger(__name__)
14
+
15
+
16
+ @click.group(context_settings={"max_content_width": 120}, invoke_without_command=True)
17
+ @click.version_option(package_name="mtcli")
18
+ @click.pass_context
19
+ def mt(ctx):
20
+ """
21
+ CLI principal do mtcli.
22
+ """
23
+
24
+ if ctx.invoked_subcommand is None:
25
+ click.echo(ctx.get_help())
26
+
27
+
28
+ mt.add_command(doctor, name="doctor")
29
+ mt.add_command(bars, name="bars")
30
+
31
+ loaded_plugins = load_plugins(mt)
32
+ logger.info("Plugins carregados: %s", loaded_plugins)
33
+
34
+
35
+ @mt.command(name="plugins")
36
+ def list_plugins():
37
+ """
38
+ Lista os plugins carregados no mtcli.
39
+ """
40
+
41
+ if not loaded_plugins:
42
+ click.echo("Nenhum plugin carregado.")
43
+ return
44
+
45
+ click.echo("Plugins carregados:\n")
46
+ for name in loaded_plugins:
47
+ click.echo(f" {name}")
48
+
49
+
50
+ if __name__ == "__main__":
51
+ mt()