https://github.com/althonos/fs.sshfs

Pyfilesystem2 over SSH using paramiko

https://github.com/althonos/fs.sshfs

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 11 committers (9.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.6%) to scientific vocabulary

Keywords

filesystem filesystem-library paramiko pyfilesystem2 ssh

Keywords from Contributors

progress-bar zip tar pyfilesystem ftp serde berkeley-bop smb pysmb cifs
Last synced: 5 months ago · JSON representation

Repository

Pyfilesystem2 over SSH using paramiko

Basic Info
  • Host: GitHub
  • Owner: althonos
  • License: lgpl-2.1
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 218 KB
Statistics
  • Stars: 92
  • Watchers: 6
  • Forks: 31
  • Open Issues: 13
  • Releases: 30
Topics
filesystem filesystem-library paramiko pyfilesystem2 ssh
Created almost 9 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog License

README.md

fs.sshfs star me

Source PyPI Conda Actions Codecov Codacy License Versions Format GitHub issues Downloads Changelog

Requirements

| PyFilesystem2 | PyPI fs | Source fs | License fs | |:-|:-|:-|:-| | six | PyPI six | Source six | License six | | paramiko | PyPI paramiko | Source paramiko | License paramiko | | property-cached | PyPI property | Source property | License property |

fs.sshfs supports all Python versions supported by PyFilesystem2: Python 2.7, and Python 3.5 onwards. Code should still be compatible with Python 3.4, but not tested anymore.

Installation

Install directly from PyPI, using pip:

console $ pip install fs.sshfs

There is also a conda-forge package available:

console $ conda install -c conda-forge fs.sshfs

Usage

Opener

Use fs.open_fs to open a filesystem with an SSH FS URL:

python import fs my_fs = fs.open_fs("ssh://[user[:password]@]host[:port]/[directory]")

The sftp scheme can be used as an alias for the ssh scheme in the FS URL. Additional argument can be passed to the SSHFS constructor as percent-encoded URL parameters (excepted policy). See section below for a list of all supported arguments.

Constructor

For a more granular way of connecting to an SSH server, use the fs.sshfs.SSHFS constructor, which signature is:

python from fs.sshfs import SSHFS my_fs = SSHFS( host, user=None, passwd=None, pkey=None, timeout=10, port=22, keepalive=10, compress=False, config_path='~/.ssh/config' )

with each argument explained below:

  • host: the name or IP address of the SSH server
  • user: the username to connect with, defaults to the current user.
  • passwd: an optional password, used to connect directly to the server or to decrypt the public key, if any given.
  • pkey: a paramiko.PKey object, a path, or a list of paths to an SSH key.
  • timeout: the timeout, in seconds, for networking operations.
  • port: the port the SSH server is listening on.
  • keepalive: the interval of time between keepalive packets, in seconds. Set to 0 to disable.
  • compress: set to True to compress the communications with the server.
  • config_path: the path to an OpenSSH configuration file.
  • exec_timeout: the timeout, in seconds, for arbitrary SSH commands on the server.
  • policy: a paramiko.MissingHostKeyPolicy instance, or None to use paramiko.AutoAddPolicy.

Additional keyword arguments will be passed to the underlying paramiko.SSHClient.connect call, taking precedence over implicitly derived arguments. Once created, the SSHFS filesystem behaves like any other filesystem (see the PyFilesystem2 documentation).

Files

SSHFS.openbin has the following extra options that can be passed as keyword arguments to control the file buffering:

  • prefetch: enabled by default, use a background thread to prefetch the content of a file opened in reading mode. Does nothing for files in writing mode.
  • pipelined: enable pipelined mode, avoid waiting for server answer between two uploaded chunks. Does nothing for files in reading mode.

Configuration

SSHFS are aware of SSH config files and as such, one of the hosts in the configuration file can be provided as the host argument for the filesystem to connect to the server with the proper configuration values.

Feedback

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker of the project if you need to report or ask something. If you are filling in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproductible situation.

Credits

fs.sshfs is developed and maintained by: - Martin Larralde

The following people contributed to fs.sshfs: - Reimar Bauer - Paul Gessinger - Mariusz Kryński - Will McGugan - Jeremy Nimmer - Tim Nyborg - Danica J. Sutherland - John Vandenberg

This project obviously owes a lot to the PyFilesystem2 project and all its contributors.

See also

  • fs, the core PyFilesystem2 library
  • fs.archive, enhanced archive filesystems for PyFilesystem2
  • fs.smbfs, PyFilesystem2 over SMB using pysmb

Owner

  • Name: Martin Larralde
  • Login: althonos
  • Kind: user
  • Location: Heidelberg, Germany
  • Company: EMBL / LUMC, @zellerlab

PhD candidate in Bioinformatics, passionate about programming, SIMD-enthusiast, Pythonista, Rustacean. I write poems, and sometimes they are executable.

GitHub Events

Total
  • Watch event: 2
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Watch event: 2
  • Pull request event: 1
  • Fork event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 271
  • Total Committers: 11
  • Avg Commits per committer: 24.636
  • Development Distribution Score (DDS): 0.299
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Martin Larralde m****e@e****r 190
Martin Larralde m****e@e****e 72
dependabot-preview[bot] 2****] 1
Will McGugan w****n@g****m 1
Tim Nyborg t****g@g****m 1
Reimar Bauer r****j@g****m 1
Paul Gessinger h****o@p****m 1
Mariusz Kryński m****k@s****l 1
John Vandenberg j****n@c****o 1
Jeremy Nimmer j****r@t****l 1
Dougal J. Sutherland d****l@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 40
  • Total pull requests: 22
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 30
  • Total pull request authors: 17
  • Average comments per issue: 2.6
  • Average comments per pull request: 2.0
  • Merged pull requests: 9
  • Bot issues: 1
  • Bot pull requests: 5
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ReimarBauer (7)
  • dhirschfeld (3)
  • geoffjukes (2)
  • sree80 (2)
  • bardiharborow (1)
  • dependabot-preview[bot] (1)
  • prodangp (1)
  • michaelackermannaiub (1)
  • paulgessinger (1)
  • genben (1)
  • althonos (1)
  • shiviser (1)
  • valksen (1)
  • dstromberg (1)
  • willmcgugan (1)
Pull Request Authors
  • dependabot[bot] (3)
  • Cazaril (2)
  • dependabot-preview[bot] (2)
  • dhirschfeld (2)
  • abichinger (2)
  • genben (2)
  • jwnimmer-tri (1)
  • patilkiranm (1)
  • paulgessinger (1)
  • shiviser (1)
  • karolzlot (1)
  • willmcgugan (1)
  • djsutherland (1)
  • mrk-its (1)
  • timnyborg (1)
Top Labels
Issue Labels
bug (18) fixed (13) enhancement (8) question (8) implemented (5) invalid (4) external (2) help wanted (2) wontfix (1) dependencies (1)
Pull Request Labels
dependencies (5)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 84,606 last-month
  • Total dependent packages: 7
    (may contain duplicates)
  • Total dependent repositories: 55
    (may contain duplicates)
  • Total versions: 40
  • Total maintainers: 1
pypi.org: fs.sshfs

Pyfilesystem2 over SSH using paramiko

  • Versions: 30
  • Dependent Packages: 6
  • Dependent Repositories: 55
  • Downloads: 84,606 Last month
Rankings
Dependent packages count: 1.6%
Downloads: 1.6%
Dependent repos count: 2.0%
Average: 4.1%
Forks count: 7.5%
Stargazers count: 7.7%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: fs.sshfs

Once created, the SSHFS filesystem behaves like any other filesystem see the Pyfilesystem2 documentation https://pyfilesystem2.readthedocs.io.

  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent packages count: 28.8%
Forks count: 30.3%
Average: 31.4%
Stargazers count: 32.5%
Dependent repos count: 34.0%
Last synced: 6 months ago

Dependencies

tests/requirements.txt pypi
  • codecov * test
  • docker * test
  • mock * test
  • semantic-version * test
setup.py pypi
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite
  • rasmus-saks/release-a-changelog-action v1.0.1 composite