()
| 57 | |
| 58 | |
| 59 | def _environment() -> str: |
| 60 | gil = getattr(sys, "_is_gil_enabled", lambda: True)() |
| 61 | build = "gil" if gil else "free-threaded" |
| 62 | return ( |
| 63 | f"filelock {filelock.__version__} | {platform.python_implementation()} {platform.python_version()} ({build}) | " |
| 64 | f"{platform.system()} {platform.machine()} | {os.cpu_count()} cpus" |
| 65 | ) |
| 66 | |
| 67 | |
| 68 | def _backends(root: Path) -> Iterator[tuple[str, Callable[[], filelock.BaseFileLock]]]: |