This seems like a prime case for string formatting:
```python
archive_name = path(output_path) / "{source_name}_version_{desired_version}.tar.gz".format(
    source_name=path(source_archive).namebase, desired_version=desired_version
)
```