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 26 committers (3.8%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.5%) to scientific vocabulary
Keywords from Contributors
Repository
scp module for paramiko
Basic Info
Statistics
- Stars: 554
- Watchers: 23
- Forks: 137
- Open Issues: 27
- Releases: 0
Metadata Files
README.rst
Pure python scp module
======================
The scp.py module uses a paramiko transport to send and receive files via the
scp1 protocol. This is the protocol as referenced from the openssh scp program,
and has only been tested with this implementation.
Example
-------
.. code-block:: python
from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('example.com')
# SCPCLient takes a paramiko transport as an argument
scp = SCPClient(ssh.get_transport())
scp.put('test.txt', 'test2.txt')
scp.get('test2.txt')
# Uploading the 'test' directory with its content in the
# '/home/user/dump' remote directory
scp.put('test', recursive=True, remote_path='/home/user/dump')
scp.close()
.. code-block::
$ md5sum test.txt test2.txt
fc264c65fb17b7db5237cf7ce1780769 test.txt
fc264c65fb17b7db5237cf7ce1780769 test2.txt
Using 'with' keyword
--------------------
.. code-block:: python
from paramiko import SSHClient
from scp import SCPClient
with SSHClient() as ssh:
ssh.load_system_host_keys()
ssh.connect('example.com')
with SCPClient(ssh.get_transport()) as scp:
scp.put('test.txt', 'test2.txt')
scp.get('test2.txt')
.. code-block::
$ md5sum test.txt test2.txt
fc264c65fb17b7db5237cf7ce1780769 test.txt
fc264c65fb17b7db5237cf7ce1780769 test2.txt
Uploading file-like objects
---------------------------
The ``putfo`` method can be used to upload file-like objects:
.. code-block:: python
import io
from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('example.com')
# SCPCLient takes a paramiko transport as an argument
scp = SCPClient(ssh.get_transport())
# generate in-memory file-like object
fl = io.BytesIO()
fl.write(b'test')
fl.seek(0)
# upload it directly from memory
scp.putfo(fl, '/tmp/test.txt')
# close connection
scp.close()
# close file handler
fl.close()
Tracking progress of your file uploads/downloads
------------------------------------------------
A ``progress`` function can be given as a callback to the SCPClient to handle
how the current SCP operation handles the progress of the transfers. In the
example below we print the percentage complete of the file transfer.
.. code-block:: python
from paramiko import SSHClient
from scp import SCPClient
import sys
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('example.com')
# Define progress callback that prints the current percentage completed for the file
def progress(filename, size, sent):
sys.stdout.write("%s's progress: %.2f%% \r" % (filename, float(sent)/float(size)*100) )
# SCPCLient takes a paramiko transport and progress callback as its arguments.
scp = SCPClient(ssh.get_transport(), progress=progress)
# you can also use progress4, which adds a 4th parameter to track IP and port
# useful with multiple threads to track source
def progress4(filename, size, sent, peername):
sys.stdout.write("(%s:%s) %s's progress: %.2f%% \r" % (peername[0], peername[1], filename, float(sent)/float(size)*100) )
scp = SCPClient(ssh.get_transport(), progress4=progress4)
scp.put('test.txt', '~/test.txt')
# Should now be printing the current progress of your put function.
scp.close()
Owner
- Name: James Bardin
- Login: jbardin
- Kind: user
- Location: Boston, MA
- Company: HashiCorp
- Repositories: 19
- Profile: https://github.com/jbardin
GitHub Events
Total
- Issues event: 10
- Watch event: 16
- Issue comment event: 17
- Push event: 9
- Fork event: 1
Last Year
- Issues event: 10
- Watch event: 16
- Issue comment event: 17
- Push event: 9
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Remi Rampin | r****n@g****m | 109 |
| James Bardin | j****n@l****m | 26 |
| Justin Riley | j****y@g****m | 6 |
| Daniel Howlett | d****n@d****k | 4 |
| Jannis Kowalick | j****9@g****m | 4 |
| Timothy Z Searcy | t****y@g****m | 3 |
| grzegorzcode | 3****e | 3 |
| Ron Even | r****n@w****i | 2 |
| Yogesh Lele | l****h@g****m | 2 |
| Dominic London | d****n@p****m | 2 |
| Johny Mo Swag | j****g@g****m | 2 |
| Ganesh Hubale | g****e@r****m | 2 |
| James Bardin | j****n@b****u | 2 |
| etirta | 5****a | 1 |
| Hugo Genesse | h****e@w****m | 1 |
| Kevin Landreth | k****h@f****m | 1 |
| Lucas Hoffman | l****n@t****m | 1 |
| jbardin | j****n@j****) | 1 |
| Tim Gates | t****s@i****m | 1 |
| Super | g****g@g****m | 1 |
| Nathan V | n****v@g****m | 1 |
| Mariano | m****o@g****m | 1 |
| Federico Capoano | n****s@n****g | 1 |
| Edward Betts | e****d@4****m | 1 |
| Alexander Urieles | a****n@g****m | 1 |
| Davide Guerri | d****i@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 74
- Total pull requests: 45
- Average time to close issues: 5 months
- Average time to close pull requests: 2 months
- Total issue authors: 70
- Total pull request authors: 24
- Average comments per issue: 2.77
- Average comments per pull request: 2.6
- Merged pull requests: 25
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 7
- Pull requests: 0
- Average time to close issues: 12 days
- Average time to close pull requests: N/A
- Issue authors: 6
- Pull request authors: 0
- Average comments per issue: 3.14
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- nanomosfet (2)
- madscientist (2)
- 654sd (2)
- AdrienMatricon (2)
- ss8913 (1)
- rotherfuchs (1)
- axfelix (1)
- process0 (1)
- mykaul (1)
- gkambalu (1)
- DonDebonair (1)
- Overv (1)
- u1735067 (1)
- ElieTaillard (1)
- collectVood (1)
Pull Request Authors
- remram44 (13)
- nanomosfet (3)
- liliangnike (3)
- jannisko (2)
- re995 (2)
- grzegorzcode (2)
- dominiclondon (2)
- sabatini0035 (2)
- ganeshhubale (2)
- yehudaan (1)
- herm (1)
- sjbronner (1)
- hoffmanlucas (1)
- TomCos (1)
- furrycatherder (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 23
-
Total downloads:
- pypi 10,777,797 last-month
- Total docker downloads: 73,512,999
-
Total dependent packages: 97
(may contain duplicates) -
Total dependent repositories: 1,972
(may contain duplicates) - Total versions: 99
- Total maintainers: 4
pypi.org: scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- Documentation: https://scp.readthedocs.io/
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0
published about 2 years ago
Rankings
alpine-v3.18: py3-scp-pyc
Precompiled Python bytecode for py3-scp
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.5-r1
published about 3 years ago
Rankings
Maintainers (1)
alpine-v3.18: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.5-r1
published about 3 years ago
Rankings
Maintainers (1)
proxy.golang.org: github.com/jbardin/scp.py
- Documentation: https://pkg.go.dev/github.com/jbardin/scp.py#section-documentation
- License: other
-
Latest release: v0.15.0
published about 2 years ago
Rankings
alpine-v3.13: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.13.3-r0
published over 5 years ago
Rankings
Maintainers (1)
alpine-v3.12: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.13.2-r3
published over 6 years ago
Rankings
Maintainers (1)
alpine-v3.14: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.13.4-r0
published about 5 years ago
Rankings
Maintainers (1)
alpine-edge: py3-scp-pyc
Precompiled Python bytecode for py3-scp
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0-r0
published about 2 years ago
Rankings
Maintainers (1)
alpine-edge: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0-r0
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.17: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.4-r2
published almost 4 years ago
Rankings
Maintainers (1)
alpine-v3.15: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.1-r0
published almost 5 years ago
Rankings
Maintainers (1)
alpine-v3.16: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.4-r1
published about 4 years ago
Rankings
Maintainers (1)
spack.io: py-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: []
-
Latest release: 0.13.2
published over 4 years ago
Rankings
Maintainers (1)
conda-forge.org: scp
- Homepage: https://github.com/jbardin/scp.py.git
- License: LGPL-2.1-or-later
-
Latest release: 0.14.4
published over 4 years ago
Rankings
anaconda.org: scp
- Homepage: https://github.com/jbardin/scp.py.git
- License: LGPL-2.1-or-later
-
Latest release: 0.14.1
published over 4 years ago
Rankings
alpine-v3.19: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.5-r1
published about 3 years ago
Rankings
Maintainers (1)
alpine-v3.21: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0-r0
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.19: py3-scp-pyc
Precompiled Python bytecode for py3-scp
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.5-r1
published about 3 years ago
Rankings
Maintainers (1)
alpine-v3.20: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.5-r2
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.20: py3-scp-pyc
Precompiled Python bytecode for py3-scp
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.14.5-r2
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.22: py3-scp
scp module for paramiko
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0-r0
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.21: py3-scp-pyc
Precompiled Python bytecode for py3-scp
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0-r0
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.22: py3-scp-pyc
Precompiled Python bytecode for py3-scp
- Homepage: https://github.com/jbardin/scp.py
- License: LGPL-2.1-or-later
-
Latest release: 0.15.0-r0
published about 2 years ago
Rankings
Maintainers (1)
Dependencies
- paramiko *
- actions/checkout v3 composite
- actions/setup-python v4 composite