Skip to content

files.put() does not expand ~ #1235

Open
@simonhammes

Description

@simonhammes

Describe the bug

files.put() does not expand ~ to the value of $HOME

To Reproduce

from pyinfra.operations import files

files.put(name='Copy file', src='README.md', dest='~/pyinfra-README.md')
pyinfra @local test.py

Observed behavior

A directory named ~ is created inside the current working directory.

Expected behavior

The file is copied to ~/pyinfra-README.md.

Meta

System Information

System: Linux
      Platform: Linux-6.1.0-26-amd64-x86_64-with-glibc2.36
      Release: 6.1.0-26-amd64
      Machine: x86_64
    pyinfra: v3.1.1
      black: v24.4.2
      black: v24.4.2
      click: v8.1.7
      configparser: v7.1.0
      coverage: v7.5.1
      coverage: v7.5.1
      distro: v1.9.0
      flake8: v7.0.0
      flake8: v7.0.0
      flake8-black: v0.3.6
      flake8-black: v0.3.6
      flake8-isort: v6.1.1
      flake8-isort: v6.1.1
      flake8-spellcheck: v0.12.1
      gevent: v24.10.3
      importlib-metadata: v8.5.0
      ipdb: v0.13.13
      ipdbplugin: v1.5.0
      ipython: v8.29.0
      isort: v5.13.2
      isort: v5.13.2
      jinja2: v3.1.4
      mypy: v1.13.0
      mypy: v1.13.0
      myst-parser: v2.0.0
      myst-parser: v2.0.0
      packaging: v24.1
      paramiko: v3.5.0
      pyinfra-guzzle-sphinx-theme: v0.16
      pyinfra-guzzle-sphinx-theme: v0.16
      pytest: v8.2.1
      pytest: v8.2.1
      pytest-cov: v5.0.0
      pytest-cov: v5.0.0
      python-dateutil: v2.9.0.post0
      pywinrm: v0.5.0
      redbaron: v0.9.2
      setuptools: v66.1.1
      sphinx: v6.2.1
      sphinx: v6.2.1
      twine: v5.1.1
      typeguard: v4.4.0
      types-PyYAML: v6.0.12.20240917
      types-PyYAML: v6.0.12.20240917
      types-cryptography: v3.3.23.2
      types-cryptography: v3.3.23.2
      types-paramiko: v3.5.0.20240928
      types-paramiko: v3.5.0.20240928
      types-python-dateutil: v2.9.0.20241003
      types-python-dateutil: v2.9.0.20241003
      types-setuptools: v75.2.0.20241025
      types-setuptools: v75.2.0.20241025
      typing-extensions: v4.12.2
      wheel: v0.44.0
    Executable: /data/Code/pyinfra/venv/bin/pyinfra
    Python: 3.11.2 (CPython, GCC 12.2.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugLabel for all kind of bugs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions