mt5cli 1.7.1__tar.gz → 1.7.2__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.
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.agents/skills/local-qa/SKILL.md +5 -5
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/renovate.json +1 -0
- mt5cli-1.7.2/.github/workflows/claude.yml +29 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/PKG-INFO +2 -2
- {mt5cli-1.7.1 → mt5cli-1.7.2}/pyproject.toml +3 -2
- {mt5cli-1.7.1 → mt5cli-1.7.2}/uv.lock +399 -388
- mt5cli-1.7.1/.github/workflows/claude.yml +0 -56
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.agents/skills/local-qa/scripts/qa.sh +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.agents/skills/mt5cli/SKILL.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.claude/agents/codex.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.claude/settings.json +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/CODEOWNERS +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/FUNDING.yml +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/dependabot.yml +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/workflows/ci.yml +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/workflows/codeql.yml +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.github/workflows/release.yml +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/.gitignore +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/LICENSE +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/README.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/analytics.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/cli.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/client.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/converters.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/exceptions.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/history.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/index.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/marketdata.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/observability.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/public-contract.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/schemas.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/telemetry.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/trading.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/api/utils.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/docs/index.md +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mkdocs.yml +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/__init__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/__main__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/analytics.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/cli.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/client.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/contract.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/converters.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/exceptions.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/history.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/lifecycle.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/marketdata.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/observability.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/rates.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/retry.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/schemas.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/sdk.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/telemetry.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/trading.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/mt5cli/utils.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/architecture/__init__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/architecture/test_unit_module_correspondence.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/cli/test_cli.bats +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/conftest.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/contracts/__init__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/contracts/test_public_api.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/docs/__init__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/docs/test_public_contract.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/docs/test_rate_storage_contract.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/integration/__init__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/integration/test_history_capture_persist.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/packaging/test_metadata.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/__init__.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/conftest.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_analytics.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_cli.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_client.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_contract.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_converters.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_exceptions.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_history.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_lifecycle.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_marketdata.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_observability.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_rates.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_retry.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_schemas.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_sdk.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_telemetry.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_trading.py +0 -0
- {mt5cli-1.7.1 → mt5cli-1.7.2}/tests/unit/test_utils.py +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: local-qa
|
|
3
3
|
description: Run local QA including formatting, linting, and testing for the repository. Use whenever any file has been updated.
|
|
4
|
-
disable-model-invocation: false
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Local QA (format, lint, and test)
|
|
8
7
|
|
|
9
|
-
Run
|
|
8
|
+
Run `scripts/qa.sh` relative to this skill's directory, not the shell's current working directory. The script changes to the repository root itself.
|
|
10
9
|
|
|
11
10
|
## Procedure
|
|
12
11
|
|
|
13
|
-
- Execute
|
|
12
|
+
- Execute `scripts/qa.sh` from the skill directory when this skill is triggered (it formats and fixes files in place, so check `git status` afterward).
|
|
14
13
|
- Capture and summarize key output (success/failure, major warnings, and any files modified).
|
|
15
|
-
- If the script fails due to missing tooling (`command not found`, missing executable, or equivalent), install the missing tool(s) and rerun
|
|
14
|
+
- If the script fails due to missing tooling (`command not found`, missing executable, or equivalent), install the missing tool(s) and rerun `scripts/qa.sh` from the skill directory.
|
|
16
15
|
- Install tools using this order of preference:
|
|
17
16
|
1. Use the project's package manager when applicable (`uv`/`poetry` for Python, package manager scripts/dependencies for Node.js).
|
|
18
17
|
2. Use a system package manager (`brew` on macOS, `apt` on Debian/Ubuntu) when project-local install is not applicable.
|
|
19
18
|
3. Use language-specific installers as fallback (`pipx`/`pip`, `npm`, `go install`, etc.).
|
|
20
19
|
- If multiple tools are missing, repeat install -> rerun until QA completes or you hit a blocker.
|
|
21
20
|
- If installation fails or requires unavailable privileges, report what was attempted, the exact failure, and stop.
|
|
22
|
-
-
|
|
21
|
+
- If QA fails for another reason, fix the root cause and rerun until QA passes or a blocker is reached. Do not bypass or weaken checks.
|
|
22
|
+
- Do not run unrelated commands; only run commands needed for QA, fixes, and missing-tool installation.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
3
|
"extends": ["config:recommended"],
|
|
4
4
|
"minimumReleaseAge": "1 day",
|
|
5
|
+
"lockFileMaintenance": {"enabled": true},
|
|
5
6
|
"packageRules": [
|
|
6
7
|
{
|
|
7
8
|
"description": "Automatically merge minor and patch-level updates",
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Claude Code review
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
types:
|
|
8
|
+
- opened
|
|
9
|
+
- ready_for_review
|
|
10
|
+
paths-ignore:
|
|
11
|
+
- .github/workflows/claude.yml
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
jobs:
|
|
15
|
+
claude-code-review:
|
|
16
|
+
if: >
|
|
17
|
+
github.event_name == 'pull_request'
|
|
18
|
+
&& (! github.event.pull_request.draft)
|
|
19
|
+
&& github.event.pull_request.user.type != 'Bot'
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
issues: write
|
|
24
|
+
id-token: write
|
|
25
|
+
actions: read
|
|
26
|
+
uses: dceoy/pr-loop/.github/workflows/claude-code-review.yml@main # zizmor: ignore[unpinned-uses]
|
|
27
|
+
secrets:
|
|
28
|
+
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} # zizmor: ignore[secrets-outside-env]
|
|
29
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mt5cli
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.2
|
|
4
4
|
Summary: Generic MT5 data and execution infrastructure for Python applications
|
|
5
5
|
Project-URL: Repository, https://github.com/dceoy/mt5cli.git
|
|
6
6
|
Author-email: dceoy <dceoy@users.noreply.github.com>
|
|
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
17
17
|
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
18
18
|
Requires-Python: <3.15,>=3.11
|
|
19
19
|
Requires-Dist: pandas>=2.2.2
|
|
20
|
-
Requires-Dist: pdmt5>=1.2.
|
|
20
|
+
Requires-Dist: pdmt5>=1.2.4
|
|
21
21
|
Requires-Dist: typer>=0.26.0
|
|
22
22
|
Provides-Extra: otel
|
|
23
23
|
Requires-Dist: opentelemetry-api>=1.23.0; extra == 'otel'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mt5cli"
|
|
3
|
-
version = "1.7.
|
|
3
|
+
version = "1.7.2"
|
|
4
4
|
description = "Generic MT5 data and execution infrastructure for Python applications"
|
|
5
5
|
authors = [{name = "dceoy", email = "dceoy@users.noreply.github.com"}]
|
|
6
6
|
maintainers = [{name = "dceoy", email = "dceoy@users.noreply.github.com"}]
|
|
@@ -9,7 +9,7 @@ license-files = ["LICENSE"]
|
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">= 3.11, < 3.15"
|
|
11
11
|
dependencies = [
|
|
12
|
-
"pdmt5 >= 1.2.
|
|
12
|
+
"pdmt5 >= 1.2.4",
|
|
13
13
|
"pandas >= 2.2.2",
|
|
14
14
|
"typer >= 0.26.0",
|
|
15
15
|
]
|
|
@@ -90,6 +90,7 @@ ignore = [
|
|
|
90
90
|
"assert", # Use of assert (acceptable in tests)
|
|
91
91
|
"hardcoded-password-func-arg", # Possible hardcoded password
|
|
92
92
|
"private-member-access", # Private member accessed
|
|
93
|
+
"shared-clock-mock", # Tests intentionally monkeypatch the process clock
|
|
93
94
|
]
|
|
94
95
|
|
|
95
96
|
[tool.ruff.lint.pydocstyle]
|