cli-usereq 0.68.0__py3-none-any.whl

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 (37) hide show
  1. cli_usereq-0.68.0.dist-info/METADATA +1134 -0
  2. cli_usereq-0.68.0.dist-info/RECORD +37 -0
  3. cli_usereq-0.68.0.dist-info/WHEEL +5 -0
  4. cli_usereq-0.68.0.dist-info/entry_points.txt +4 -0
  5. cli_usereq-0.68.0.dist-info/licenses/LICENSE +674 -0
  6. cli_usereq-0.68.0.dist-info/top_level.txt +1 -0
  7. usereq/__init__.py +62 -0
  8. usereq/__main__.py +17 -0
  9. usereq/cli.py +4963 -0
  10. usereq/compress.py +393 -0
  11. usereq/compress_files.py +134 -0
  12. usereq/doxygen_parser.py +172 -0
  13. usereq/find_constructs.py +394 -0
  14. usereq/generate_markdown.py +158 -0
  15. usereq/resources/docs/Document_Source_Code_in_Doxygen_Style.md +130 -0
  16. usereq/resources/docs/HDT_Test_Authoring_Guide.md +318 -0
  17. usereq/resources/docs/Requirements_Template.md +78 -0
  18. usereq/resources/prompts/analyze.md +191 -0
  19. usereq/resources/prompts/change.md +279 -0
  20. usereq/resources/prompts/check.md +190 -0
  21. usereq/resources/prompts/cover.md +271 -0
  22. usereq/resources/prompts/create.md +134 -0
  23. usereq/resources/prompts/fix.md +273 -0
  24. usereq/resources/prompts/flowchart.md +272 -0
  25. usereq/resources/prompts/implement.md +194 -0
  26. usereq/resources/prompts/new.md +278 -0
  27. usereq/resources/prompts/readme.md +234 -0
  28. usereq/resources/prompts/recreate.md +265 -0
  29. usereq/resources/prompts/refactor.md +265 -0
  30. usereq/resources/prompts/references.md +131 -0
  31. usereq/resources/prompts/renumber.md +150 -0
  32. usereq/resources/prompts/workflow.md +254 -0
  33. usereq/resources/prompts/write.md +129 -0
  34. usereq/resources/prompts-version.txt +1 -0
  35. usereq/source_analyzer.py +2280 -0
  36. usereq/static_check.py +812 -0
  37. usereq/token_counter.py +123 -0
usereq/__init__.py ADDED
@@ -0,0 +1,62 @@
1
+ """!
2
+ @file __init__.py
3
+ @brief Initialization module for the `usereq` package.
4
+ @details Exposes package metadata and lazily-resolved CLI entrypoints while avoiding eager
5
+ import of `usereq.cli` during package initialization.
6
+ @author GitHub Copilot
7
+ @version 0.0.70
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import importlib
13
+ from . import compress # usereq.compress submodule
14
+ from . import compress_files # usereq.compress_files submodule
15
+ from . import find_constructs # usereq.find_constructs submodule
16
+ from . import generate_markdown # usereq.generate_markdown submodule
17
+ from . import source_analyzer # usereq.source_analyzer submodule
18
+ from . import token_counter # usereq.token_counter submodule
19
+ from typing import Any
20
+
21
+ __version__ = "0.68.0"
22
+ """! @brief Semantic version string of the package."""
23
+
24
+
25
+ def main(argv: list[str] | None = None) -> int:
26
+ """!
27
+ @brief Execute the package CLI entrypoint without eager module import side effects.
28
+ @details Lazily imports `usereq.cli.main` on call to avoid pre-loading `usereq.cli`
29
+ during package initialization, preventing runpy module-execution RuntimeWarning for
30
+ `python -m usereq.cli`.
31
+ @param argv {list[str] | None} Optional CLI arguments list forwarded to `usereq.cli.main`.
32
+ @return {int} CLI process exit code produced by `usereq.cli.main`.
33
+ @satisfies SRS-056
34
+ """
35
+
36
+ from .cli import main as cli_main
37
+
38
+ return cli_main(argv)
39
+
40
+
41
+ def __getattr__(name: str) -> Any:
42
+ """!
43
+ @brief Lazily resolve deferred public package attributes.
44
+ @details Resolves `cli` on first access to preserve backward-compatible attribute
45
+ access (`usereq.cli`) while keeping package initialization free from eager CLI import.
46
+ @param name {str} Requested attribute name.
47
+ @return {Any} Resolved attribute object.
48
+ @throws {AttributeError} Raised when the attribute is not a supported deferred symbol.
49
+ @satisfies SRS-056
50
+ """
51
+
52
+ if name == "cli":
53
+ return importlib.import_module(f"{__name__}.cli")
54
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
55
+
56
+
57
+ __all__ = [
58
+ "__version__", "main", "cli",
59
+ "source_analyzer", "token_counter", "generate_markdown",
60
+ "compress", "compress_files", "find_constructs",
61
+ ]
62
+ """! @brief List of public symbols exported by the package."""
usereq/__main__.py ADDED
@@ -0,0 +1,17 @@
1
+ """!
2
+ @file __main__.py
3
+ @brief Package entry point for execution as a module.
4
+ @details Enables running the package via `python -m usereq`. Delegates execution to the CLI main function.
5
+ @author GitHub Copilot
6
+ @version 0.0.70
7
+ """
8
+ from .cli import main
9
+ import sys
10
+
11
+
12
+ if __name__ == "__main__":
13
+ """!
14
+ @brief Entry point check.
15
+ @details Executes `main()` and exits with the returned status code when run as a script.
16
+ """
17
+ sys.exit(main())