import requests from ldm.invoke import __app_name__, __version__ local_version = str(__version__).replace("-", "") package_name = str(__app_name__) def get_pypi_versions(package_name=package_name) -> list[str]: """Get the versions of the package from PyPI""" url = f"https://pypi.org/pypi/{package_name}/json" response = requests.get(url).json() versions: list[str] = list(response["releases"].keys()) return versions def local_on_pypi(package_name=package_name, local_version=local_version) -> bool: """Compare the versions of the package from PyPI and the local package""" pypi_versions = get_pypi_versions(package_name) return local_version in pypi_versions if __name__ == "__main__": if local_on_pypi(): print(f"Package {package_name} is up to date") else: print(f"Package {package_name} is not up to date")