quantilica-cli 0.9.0__tar.gz → 0.9.1__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.
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/CHANGELOG.md +15 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/PKG-INFO +1 -1
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/pyproject.toml +1 -1
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/sdk.py +3 -3
- quantilica_cli-0.9.1/tests/test_package_hygiene.py +29 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/.githooks/pre-commit +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/.githooks/pre-push +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/.github/workflows/publish.yml +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/.github/workflows/test.yml +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/.gitignore +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/LICENSE +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/README.md +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/__init__.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/cli.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/health.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/manifests.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/progress.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/sources.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/cli/ui.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/src/quantilica/py.typed +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/__init__.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/test_health.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/test_manifests.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/test_sdk.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/test_sdk_onda_a2.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/test_sources.py +0 -0
- {quantilica_cli-0.9.0 → quantilica_cli-0.9.1}/tests/test_ui.py +0 -0
|
@@ -5,6 +5,21 @@ Todas as mudanças notáveis deste projeto serão documentadas neste arquivo.
|
|
|
5
5
|
O formato segue [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/),
|
|
6
6
|
e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
|
|
7
7
|
|
|
8
|
+
## [0.9.1] - 2026-10-04
|
|
9
|
+
|
|
10
|
+
Correção de escape inválido introduzido na v0.8.0 (Onda A.2 do SDK).
|
|
11
|
+
|
|
12
|
+
### Corrigido
|
|
13
|
+
- `SyntaxWarning: invalid escape sequence '\['` nas mensagens de `convert`,
|
|
14
|
+
`archive` e `pipeline` do `FetcherApp` (`quantilica/cli/sdk.py`): as três
|
|
15
|
+
f-strings passaram a raw (`rf"..."`), preservando o texto enviado ao Rich
|
|
16
|
+
(`\[analysis]` escapado). O warning aparecia na saída de **todo**
|
|
17
|
+
`quantilica <fonte> --help` e hoje também é `SyntaxError` em Python ≥ 3.14.
|
|
18
|
+
- Novo teste de higiene (`tests/test_package_hygiene.py`) que compila todos os
|
|
19
|
+
módulos do pacote com `SyntaxWarning` convertido em erro, fechando a porta
|
|
20
|
+
para regressões da mesma classe (o ruff não cobre escapes inválidos com o
|
|
21
|
+
conjunto de regras `E,F,I,UP,B`).
|
|
22
|
+
|
|
8
23
|
## [0.9.0] - 2026-10-04
|
|
9
24
|
|
|
10
25
|
Registra o `cvm-fetcher` como fonte instalável sob demanda, após a v0.1.0 do
|
|
@@ -360,7 +360,7 @@ class FetcherApp:
|
|
|
360
360
|
except ImportError:
|
|
361
361
|
console.print(
|
|
362
362
|
f"[red]Erro:[/red] convert requer extras de análise: "
|
|
363
|
-
|
|
363
|
+
rf"pip install {self.name}\[analysis]"
|
|
364
364
|
)
|
|
365
365
|
raise typer.Exit(1) from None
|
|
366
366
|
console.print(
|
|
@@ -413,7 +413,7 @@ class FetcherApp:
|
|
|
413
413
|
except ImportError:
|
|
414
414
|
console.print(
|
|
415
415
|
f"[red]Erro:[/red] archive requer extras de análise: "
|
|
416
|
-
|
|
416
|
+
rf"pip install {self.name}\[analysis]"
|
|
417
417
|
)
|
|
418
418
|
raise typer.Exit(1) from None
|
|
419
419
|
console.print(f"[green]✓[/green] Arquivo criado em [dim]{output}[/dim].")
|
|
@@ -512,7 +512,7 @@ class FetcherApp:
|
|
|
512
512
|
except ImportError:
|
|
513
513
|
console.print(
|
|
514
514
|
f"[red]Erro:[/red] pipeline (conversão) requer extras de "
|
|
515
|
-
|
|
515
|
+
rf"análise: pip install {self.name}\[analysis]"
|
|
516
516
|
)
|
|
517
517
|
raise typer.Exit(1) from None
|
|
518
518
|
console.print(
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""Guardas de sanidade do pacote `quantilica.cli` (fontes, não testes de CLI)."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import warnings
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
import quantilica.cli
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_fontes_sem_invalid_escape_sequence() -> None:
|
|
12
|
+
"""Nenhum módulo pode emitir ``SyntaxWarning`` na importação.
|
|
13
|
+
|
|
14
|
+
Um escape inválido em f-string (``"\\["`` fora de raw string) passa
|
|
15
|
+
silenciosamente pelo ruff e pelo import, mas polui a saída de **todo**
|
|
16
|
+
``quantilica <fonte> --help`` com três linhas de warning — e vira
|
|
17
|
+
``SyntaxError`` em uma versão futura do Python.
|
|
18
|
+
"""
|
|
19
|
+
raiz = Path(quantilica.cli.__file__).parent
|
|
20
|
+
com_warning: list[str] = []
|
|
21
|
+
for caminho in sorted(raiz.rglob("*.py")):
|
|
22
|
+
fonte = caminho.read_text(encoding="utf-8")
|
|
23
|
+
with warnings.catch_warnings():
|
|
24
|
+
warnings.simplefilter("error", SyntaxWarning)
|
|
25
|
+
try:
|
|
26
|
+
compile(fonte, str(caminho), "exec")
|
|
27
|
+
except SyntaxWarning as exc: # pragma: no cover - só em regressão
|
|
28
|
+
com_warning.append(f"{caminho.name}: {exc.messages[0]}")
|
|
29
|
+
assert not com_warning, "SyntaxWarning ao compilar: " + "; ".join(com_warning)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|