Spaces:
Sleeping
Sleeping
| import pkg_resources | |
| import toml | |
| def update_pyproject_versions(pyproject_path): | |
| try: | |
| with open(pyproject_path) as file: | |
| data = toml.load(file) | |
| except FileNotFoundError: | |
| print(f"Error: The file '{pyproject_path}' was not found.") | |
| return | |
| except toml.TomlDecodeError: | |
| print( | |
| f"Error: The file '{pyproject_path}' is not a valid TOML" | |
| " file." | |
| ) | |
| return | |
| dependencies = ( | |
| data.get("tool", {}).get("poetry", {}).get("dependencies", {}) | |
| ) | |
| for package in dependencies: | |
| if package.lower() == "python": | |
| continue # Skip the Python version dependency | |
| try: | |
| version = pkg_resources.get_distribution(package).version | |
| dependencies[package] = version | |
| except pkg_resources.DistributionNotFound: | |
| print(f"Warning: Package '{package}' not installed.") | |
| with open(pyproject_path, "w") as file: | |
| toml.dump(data, file) | |
| print(f"Updated versions written to {pyproject_path}") | |
| # Usage | |
| update_pyproject_versions("pyproject.toml") | |