Coverage for src / rhiza / __init__.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-02 07:04 +0000

1"""Rhiza — Manage reusable configuration templates for Python projects. 

2 

3Rhiza is a command-line interface (CLI) that helps you maintain consistent 

4configuration across multiple Python projects using templates stored in a 

5central repository. It can initialize projects with standard configuration, 

6materialize (inject) template files into a target repository, and validate the 

7template configuration. 

8 

9## Key features 

10 

11- Template initialization for new or existing projects. 

12- Template materialization with selective include/exclude support. 

13- Configuration validation (syntax and basic semantics). 

14- Multi-host support (GitHub and GitLab). 

15 

16## Quick start 

17 

18Initialize a project with Rhiza templates: 

19 

20```bash 

21cd your-project 

22rhiza init 

23``` 

24 

25Validate your configuration: 

26 

27```bash 

28rhiza validate 

29``` 

30 

31Customize `.rhiza/template.yml`, then sync templates into your project: 

32 

33```bash 

34rhiza sync 

35``` 

36 

37## Main modules 

38 

39- `rhiza.commands` — Core command implementations (init, sync, validate). 

40- `rhiza.models` — Data models and schemas for template configuration. 

41 

42## Documentation 

43 

44For an overview and usage guides, see the repository files: 

45 

46- [README.md](https://github.com/jebel-quant/rhiza-cli/blob/main/README.md) — 

47Project overview and installation instructions. 

48- [USAGE.md](https://github.com/jebel-quant/rhiza-cli/blob/main/USAGE.md) — 

49Practical examples, workflows, and best practices. 

50- [CLI.md](https://github.com/jebel-quant/rhiza-cli/blob/main/CLI.md) — 

51Command reference with examples. 

52 

53Latest version and updates: https://github.com/jebel-quant/rhiza-cli 

54""" 

55 

56from importlib.metadata import PackageNotFoundError, version 

57 

58try: 

59 __version__ = version("rhiza") 

60except PackageNotFoundError: 

61 # Package is not installed, use a fallback version 

62 __version__ = "0.0.0+dev" 

63 

64__all__ = ["commands", "models"]