| import os | |
| import subprocess | |
| def get_version(): | |
| command = ["git", "describe", "--tags"] | |
| try: | |
| version = subprocess.check_output(command).decode().strip() | |
| version_parts = version.split("-") | |
| if len(version_parts) > 1 and version_parts[0].startswith("magic_pdf"): | |
| return version_parts[1] | |
| else: | |
| raise ValueError(f"Invalid version tag {version}. Expected format is magic_pdf-<version>-released.") | |
| except Exception as e: | |
| print(e) | |
| return "0.0.0" | |
| def write_version_to_commons(version): | |
| commons_path = os.path.join(os.path.dirname(__file__), 'magic_pdf', 'libs', 'version.py') | |
| with open(commons_path, 'w') as f: | |
| f.write(f'__version__ = "{version}"\n') | |
| if __name__ == '__main__': | |
| version_name = get_version() | |
| write_version_to_commons(version_name) | |