(define-module (pypi version) #:use-module (pyguile) #:export (sort-versions)) (define (sort-versions versions) (if (null? versions) versions (begin (python-eval "from packaging.version import parse") (let ((sort (python-eval "lambda vs: [s for s, v in sorted([(s, parse(s)) for s in vs], key=lambda x: x[1], reverse=True)]" #t))) (python-apply sort (list versions) '())))))