mirror of
https://github.com/lancedb/lancedb.git
synced 2026-08-21 21:48:34 +00:00
7adcffc2b4
PyO3 exposed `LsmWriteSpec` with its default `builtins` module, causing mkdocstrings to resolve the public `lancedb.LsmWriteSpec` re-export as `builtins.LsmWriteSpec` and fail the documentation build. Declare the native extension module and pin the public re-export with a regression test. This also applies the repository's current Ruff formatter to seven previously unformatted Python scripts.
37 lines
967 B
Python
37 lines
967 B
Python
"""
|
|
Takes a list of semver strings and sorts them in ascending order.
|
|
"""
|
|
|
|
import sys
|
|
from packaging.version import parse, InvalidVersion
|
|
|
|
if __name__ == "__main__":
|
|
import argparse
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("prefix", default="v")
|
|
args = parser.parse_args()
|
|
|
|
# Read the input from stdin
|
|
lines = sys.stdin.readlines()
|
|
|
|
# Parse the versions
|
|
versions = []
|
|
for line in lines:
|
|
line = line.strip()
|
|
try:
|
|
version_str = line.removeprefix(args.prefix)
|
|
version = parse(version_str)
|
|
except InvalidVersion:
|
|
# There are old tags that don't follow the semver format
|
|
print(f"Invalid version: {line}", file=sys.stderr)
|
|
continue
|
|
versions.append((line, version))
|
|
|
|
# Sort the versions
|
|
versions.sort(key=lambda x: x[1])
|
|
|
|
# Print the sorted versions as original strings
|
|
for line, _ in versions:
|
|
print(line)
|