| 38 | |
| 39 | @classmethod |
| 40 | def current(cls) -> Platform: |
| 41 | system = platform.system().lower() |
| 42 | machine = platform.machine().lower() |
| 43 | if system == "linux": |
| 44 | if machine in ("aarch64", "arm64"): |
| 45 | return cls.Linux_aarch64 |
| 46 | elif machine in ("amd64", "x86_64"): |
| 47 | return cls.Linux_x86_64 |
| 48 | elif system == "darwin": |
| 49 | if machine in ("aarch64", "arm64"): |
| 50 | return cls.Macos_aarch64 |
| 51 | elif machine in ("amd64", "x86_64"): |
| 52 | return cls.Macos_x86_64 |
| 53 | elif system == "windows" and machine in ("amd64", "x86_64"): |
| 54 | return cls.Windows_x86_64 |
| 55 | |
| 56 | raise ValueError( |
| 57 | "The current operating system / machine pair is not supported for building docs!: " |
| 58 | f"{system} / {machine}" |
| 59 | ) |
| 60 | |
| 61 | @property |
| 62 | def extension(self): |