MrlixiangWE opened a new pull request, #179: URL: https://github.com/apache/otava/pull/179
`otava` has no `__init__.py`, so `import otava` gives an empty namespace package, and the types a library user needs are spread over `otava.series`, `otava.analysis` and `otava.change_point_divisive.base`. This re-exports them from the package root and documents the surface in `docs/API.md`. `__all__` holds nine names: what you need to build a `Series`, analyze it and read the change points back, plus `compute_change_points`, which is where the issue started. `__version__` comes from the distribution metadata. Importers, config and `main` stay out — they belong to the CLI. Which names belong in that set is your call. `otava/py.typed` goes with it. The annotations are already there, but without the marker mypy on downstream code reports `module is installed, but missing library stubs or py.typed marker` and skips them. Submodule imports are unchanged. `import otava` now costs what `import otava.series` has always cost, since the package root pulls in the analysis code; `import otava.main` is unaffected. #178 rewrites `Series`, `AnalyzedSeries`, `Metric`, `AnalysisOptions` and `ChangePoint` as Pydantic models. It merges with this without conflict, and the documented example still runs on top of it. Closes #101 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
