Skip to content

Commit

Permalink
Auto-fix ruff rules in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cbornet committed Oct 15, 2024
1 parent db2c121 commit 849c7ac
Show file tree
Hide file tree
Showing 82 changed files with 351 additions and 450 deletions.
13 changes: 7 additions & 6 deletions scripts/ci/pypi_nightly_tag.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#!/usr/bin/env python
"""
Idea from https://github.com/streamlit/streamlit/blob/4841cf91f1c820a392441092390c4c04907f9944/scripts/pypi_nightly_create_tag.py
"""
"""Idea from https://github.com/streamlit/streamlit/blob/4841cf91f1c820a392441092390c4c04907f9944/scripts/pypi_nightly_create_tag.py."""

import sys

Expand All @@ -24,13 +22,15 @@ def get_latest_published_version(build_type: str, is_nightly: bool) -> Version:
elif build_type == "main":
url = PYPI_LANGFLOW_NIGHTLY_URL if is_nightly else PYPI_LANGFLOW_URL
else:
raise ValueError(f"Invalid build type: {build_type}")
msg = f"Invalid build type: {build_type}"
raise ValueError(msg)

res = requests.get(url)
try:
version_str = res.json()["info"]["version"]
except Exception as e:
raise RuntimeError("Got unexpected response from PyPI", e)
msg = "Got unexpected response from PyPI"
raise RuntimeError(msg, e)
return Version(version_str)


Expand Down Expand Up @@ -75,7 +75,8 @@ def create_tag(build_type: str):

if __name__ == "__main__":
if len(sys.argv) != 2:
raise Exception("Specify base or main")
msg = "Specify base or main"
raise Exception(msg)

build_type = sys.argv[1]
tag = create_tag(build_type)
Expand Down
23 changes: 11 additions & 12 deletions scripts/ci/update_lf_base_dependency.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os
import sys
import re
import sys

import packaging.version

Expand All @@ -10,41 +10,40 @@
def update_base_dep(pyproject_path: str, new_version: str) -> None:
"""Update the langflow-base dependency in pyproject.toml."""
filepath = os.path.join(BASE_DIR, pyproject_path)
with open(filepath, "r") as file:
with open(filepath, encoding="utf-8") as file:
content = file.read()

replacement = f'langflow-base-nightly = "{new_version}"'

# Updates the pattern for poetry
pattern = re.compile(r'langflow-base = \{ path = "\./src/backend/base", develop = true \}')
if not pattern.search(content):
raise Exception(f'langflow-base poetry dependency not found in "{filepath}"')
msg = f'langflow-base poetry dependency not found in "{filepath}"'
raise Exception(msg)
content = pattern.sub(replacement, content)
with open(filepath, "w") as file:
with open(filepath, "w", encoding="utf-8") as file:
file.write(content)


def verify_pep440(version):
"""
Verify if version is PEP440 compliant.
"""Verify if version is PEP440 compliant.
https://github.com/pypa/packaging/blob/16.7/packaging/version.py#L191
"""

try:
return packaging.version.Version(version)
except packaging.version.InvalidVersion as e:
raise e
except packaging.version.InvalidVersion:
raise


def main() -> None:
if len(sys.argv) != 2:
raise Exception("New version not specified")
msg = "New version not specified"
raise Exception(msg)
base_version = sys.argv[1]

# Strip "v" prefix from version if present
if base_version.startswith("v"):
base_version = base_version[1:]
base_version = base_version.removeprefix("v")

verify_pep440(base_version)
update_base_dep("pyproject.toml", base_version)
Expand Down
25 changes: 15 additions & 10 deletions scripts/ci/update_pyproject_name.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
import os
import sys
import re
import sys

BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))


def update_pyproject_name(pyproject_path: str, new_project_name: str) -> None:
"""Update the project name in pyproject.toml."""
filepath = os.path.join(BASE_DIR, pyproject_path)
with open(filepath, "r") as file:
with open(filepath, encoding="utf-8") as file:
content = file.read()

# Regex to match the version line under [tool.poetry]
pattern = re.compile(r'(?<=^name = ")[^"]+(?=")', re.MULTILINE)

if not pattern.search(content):
raise Exception(f'Project name not found in "{filepath}"')
msg = f'Project name not found in "{filepath}"'
raise Exception(msg)
content = pattern.sub(new_project_name, content)

with open(filepath, "w") as file:
with open(filepath, "w", encoding="utf-8") as file:
file.write(content)


def update_uv_dep(pyproject_path: str, new_project_name: str) -> None:
"""Update the langflow-base dependency in pyproject.toml."""
filepath = os.path.join(BASE_DIR, pyproject_path)
with open(filepath, "r") as file:
with open(filepath, encoding="utf-8") as file:
content = file.read()

if new_project_name == "langflow-nightly":
Expand All @@ -35,19 +36,22 @@ def update_uv_dep(pyproject_path: str, new_project_name: str) -> None:
pattern = re.compile(r"langflow-base = \{ workspace = true \}")
replacement = "langflow-base-nightly = { workspace = true }"
else:
raise ValueError(f"Invalid project name: {new_project_name}")
msg = f"Invalid project name: {new_project_name}"
raise ValueError(msg)

# Updates the dependency name for uv
if not pattern.search(content):
raise Exception(f"{replacement} uv dependency not found in {filepath}")
msg = f"{replacement} uv dependency not found in {filepath}"
raise Exception(msg)
content = pattern.sub(replacement, content)
with open(filepath, "w") as file:
with open(filepath, "w", encoding="utf-8") as file:
file.write(content)


def main() -> None:
if len(sys.argv) != 3:
raise Exception("Must specify project name and build type, e.g. langflow-nightly base")
msg = "Must specify project name and build type, e.g. langflow-nightly base"
raise Exception(msg)
new_project_name = sys.argv[1]
build_type = sys.argv[2]

Expand All @@ -58,7 +62,8 @@ def main() -> None:
update_pyproject_name("pyproject.toml", new_project_name)
update_uv_dep("pyproject.toml", new_project_name)
else:
raise ValueError(f"Invalid build type: {build_type}")
msg = f"Invalid build type: {build_type}"
raise ValueError(msg)


if __name__ == "__main__":
Expand Down
26 changes: 13 additions & 13 deletions scripts/ci/update_pyproject_version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os
import sys
import re
import sys

import packaging.version

Expand All @@ -10,42 +10,41 @@
def update_pyproject_version(pyproject_path: str, new_version: str) -> None:
"""Update the version in pyproject.toml."""
filepath = os.path.join(BASE_DIR, pyproject_path)
with open(filepath, "r") as file:
with open(filepath, encoding="utf-8") as file:
content = file.read()

# Regex to match the version line under [tool.poetry]
pattern = re.compile(r'(?<=^version = ")[^"]+(?=")', re.MULTILINE)

if not pattern.search(content):
raise Exception(f'Project version not found in "{filepath}"')
msg = f'Project version not found in "{filepath}"'
raise Exception(msg)

content = pattern.sub(new_version, content)

with open(filepath, "w") as file:
with open(filepath, "w", encoding="utf-8") as file:
file.write(content)


def verify_pep440(version):
"""
Verify if version is PEP440 compliant.
"""Verify if version is PEP440 compliant.
https://github.com/pypa/packaging/blob/16.7/packaging/version.py#L191
"""

try:
return packaging.version.Version(version)
except packaging.version.InvalidVersion as e:
raise e
except packaging.version.InvalidVersion:
raise


def main() -> None:
if len(sys.argv) != 3:
raise Exception("New version not specified")
msg = "New version not specified"
raise Exception(msg)
new_version = sys.argv[1]

# Strip "v" prefix from version if present
if new_version.startswith("v"):
new_version = new_version[1:]
new_version = new_version.removeprefix("v")

build_type = sys.argv[2]

Expand All @@ -56,7 +55,8 @@ def main() -> None:
elif build_type == "main":
update_pyproject_version("pyproject.toml", new_version)
else:
raise ValueError(f"Invalid build type: {build_type}")
msg = f"Invalid build type: {build_type}"
raise ValueError(msg)


if __name__ == "__main__":
Expand Down
15 changes: 8 additions & 7 deletions scripts/ci/update_uv_dependency.py
Original file line number Diff line number Diff line change
@@ -1,38 +1,39 @@
import os
import sys
import re
import sys

BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))


def update_uv_dep(base_version: str) -> None:
"""Update the langflow-base dependency in pyproject.toml."""

pyproject_path = os.path.join(BASE_DIR, "pyproject.toml")

# Read the pyproject.toml file content
with open(pyproject_path, "r") as file:
with open(pyproject_path, encoding="utf-8") as file:
content = file.read()

# For the main project, update the langflow-base dependency in the UV section
pattern = re.compile(r'(dependencies\s*=\s*\[\s*\n\s*)("langflow-base==[\d.]+")')
replacement = r'\1"langflow-base-nightly=={}"'.format(base_version)
replacement = rf'\1"langflow-base-nightly=={base_version}"'

# Check if the pattern is found
if not pattern.search(content):
raise Exception(f"{pattern} UV dependency not found in {pyproject_path}")
msg = f"{pattern} UV dependency not found in {pyproject_path}"
raise Exception(msg)

# Replace the matched pattern with the new one
content = pattern.sub(replacement, content)

# Write the updated content back to the file
with open(pyproject_path, "w") as file:
with open(pyproject_path, "w", encoding="utf-8") as file:
file.write(content)


def main() -> None:
if len(sys.argv) != 2:
raise Exception("specify base version")
msg = "specify base version"
raise Exception(msg)
base_version = sys.argv[1]
base_version = base_version.lstrip("v")
update_uv_dep(base_version)
Expand Down
5 changes: 3 additions & 2 deletions scripts/factory_restart_space.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
# ]
# ///
import argparse
import sys

from huggingface_hub import HfApi, list_models
from rich import print
Expand All @@ -23,11 +24,11 @@

if not space:
print("Please provide a space to restart.")
exit()
sys.exit()

if not parsed_args.token:
print("Please provide an API token.")
exit()
sys.exit()

# Or configure a HfApi client
hf_api = HfApi(
Expand Down
16 changes: 8 additions & 8 deletions src/backend/langflow/version/version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import contextlib


def get_version() -> str:
"""
Retrieves the version of the package from a possible list of package names.
"""Retrieves the version of the package from a possible list of package names.
This accounts for after package names are updated for -nightly builds.
Returns:
Expand All @@ -19,20 +21,18 @@ def get_version() -> str:
]
_version = None
for pkg_name in pkg_names:
try:
with contextlib.suppress(ImportError, metadata.PackageNotFoundError):
_version = metadata.version(pkg_name)
except (ImportError, metadata.PackageNotFoundError):
pass

if _version is None:
raise ValueError(f"Package not found from options {pkg_names}")
msg = f"Package not found from options {pkg_names}"
raise ValueError(msg)

return _version


def is_pre_release(v: str) -> bool:
"""
Returns a boolean indicating whether the version is a pre-release version,
"""Returns a boolean indicating whether the version is a pre-release version,
as per the definition of a pre-release segment from PEP 440.
"""
return any(label in v for label in ["a", "b", "rc"])
6 changes: 3 additions & 3 deletions src/backend/tests/api_keys.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@


def get_required_env_var(var: str) -> str:
"""
Get the value of the specified environment variable.
"""Get the value of the specified environment variable.
Args:
var (str): The environment variable to get.
Expand All @@ -18,7 +17,8 @@ def get_required_env_var(var: str) -> str:
"""
value = os.getenv(var)
if not value:
raise ValueError(f"Environment variable {var} is not set")
msg = f"Environment variable {var} is not set"
raise ValueError(msg)
return value


Expand Down
Loading

0 comments on commit 849c7ac

Please sign in to comment.