{ "info": { "author": "Eric V. Smith", "author_email": "eric@trueblade.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "---------\nscpclient\n---------\n\nA library that implements the client side of the scp (Secure Copy)\nprotocol. It is designed to be used with paramiko\n(http://www.lag.net/paramiko/).\n\nUsing paramiko\n==============\n\nThere are many ways to use paramiko. For the purposes of these\nexamples, you want to obtain an authenticated SSHClient object::\n\n import paramiko\n\n ssh_client = paramiko.SSHClient()\n ssh_client.connect(hostname, username=username, key_filename=key_filename, password=password)\n\nWriting files\n=============\n\nThe scpclient.Write object is used to write files to an scp\nserver. Its required parameters are a paramiko.SSHClient instance and\na remote directory name. It has 2 methods: send_file and\nsend. send_file takes a filename to send, send takes a file-like\nobject, a remote filename, a mode, and a length. You may call send and\nsend_file multiple times.\n\nExample::\n\n with closing(Write(ssh_client.get_transport(), '.')) as scp:\n scp.send_file('file.txt', True)\n scp.send_file('../../test.log', remote_filename='baz.log')\n\n s = StringIO('this is a test')\n scp.send(s, 'test', '0601', len(s.getvalue()))\n\nWriting directories\n===================\n\nExample::\n\n with closing(WriteDir(ssh_client.get_transport(), 'subdir')) as scp:\n scp.send_dir('../../manuals', preserve_times=True, progress=progress)\n\nReading files\n=============\n\nExample::\n\n with closing(ReadDir(ssh_client.get_transport(), '.')) as scp:\n scp.receive_dir('foo', preserve_times=True)\n\nReading directories\n===================\n\nExample::\n\n with closing(Read(ssh_client.get_transport(), '.')) as scp:\n scp.receive('file.txt')\n\n\nChange log\n==========\n\n0.7 2010-10-27 Eric V. Smith\n----------------------------\n* Remove hack for changing the RPM name (issue #10).\n* No code changes.\n\n0.6 2016-10-02 Eric V. Smith\n----------------------------\n* Fixed issue #8, Support building wheels.\n* No code changes.\n\n0.5 2014-04-27 Eric V. Smith\n----------------------------\n* Fixed issue #5, Not all files included in sdist.\n* Fixed issue #6, Rename bdist RPM to python-scpclient.\n* No code changes.\n\n0.4 2012-11-28 Eric V. Smith\n----------------------------\n* Fixed issue #2, Missing contextlib import. Thanks Olivier CARRERE.\n\n0.3 2011-10-31 Eric V. Smith\n----------------------------\n* Improved documentation, including how to create a paramiko\n connection.\n\n0.2 2011-10-31 Eric V. Smith\n----------------------------\n* Removed useless tests.\n* Fixed embarassing last minute typo which broke the code.\n* Included trivial examples in README.txt. Needs much work.\n* Forbid files that contain '..' in the filename. This is an attempt\n to prevent path traversal. This approach is simplistic, but it's a\n reasonable first step and gets the job done.\n\n0.1 2011-10-31 Eric V. Smith\n----------------------------\n* Initial release.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ericvsmith/scpclient", "keywords": "", "license": "Apache License Version 2.0", "maintainer": "", "maintainer_email": "", "name": "scpclient", "package_url": "https://pypi.org/project/scpclient/", "platform": "", "project_url": "https://pypi.org/project/scpclient/", "project_urls": { "Homepage": "https://bitbucket.org/ericvsmith/scpclient" }, "release_url": "https://pypi.org/project/scpclient/0.7/", "requires_dist": null, "requires_python": "", "summary": "scp client, for use with paramiko.", "version": "0.7" }, "last_serial": 2426757, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "9ff3752b50ae762cd8e9dcb22e7be34c", "sha256": "5d0e185094f605e62e6ba2bbfd250c0b3ded7a7192a71ae0af07c7972e1176e3" }, "downloads": -1, "filename": "scpclient-0.2.tar.gz", "has_sig": false, "md5_digest": "9ff3752b50ae762cd8e9dcb22e7be34c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9545, "upload_time": "2011-11-01T01:07:45", "url": "https://files.pythonhosted.org/packages/31/0d/05cb23e3d7dfd12990d0bdaea39aded66fbdd7e3fd561dd6d9905433285c/scpclient-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f7f9fd5faa7a86a1825d85af64e02f92", "sha256": "15df729ff9c2a856322ee44076fbc4830c4e894863b6fb4b007667d494268429" }, "downloads": -1, "filename": "scpclient-0.3.tar.gz", "has_sig": false, "md5_digest": "f7f9fd5faa7a86a1825d85af64e02f92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10068, "upload_time": "2011-11-01T15:44:59", "url": "https://files.pythonhosted.org/packages/a8/fb/7a5bc9a1eb2f5a469508e223ba7702f7948a980ef2c6358e00b16b2b6a34/scpclient-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "b0a13a4c94f3e10942a1ac92d2efa873", "sha256": "eef0a7611e3d57f84b808bfa1e594a9e18ee4f06a40d8c4cb90235e91766e99d" }, "downloads": -1, "filename": "scpclient-0.4.tar.gz", "has_sig": false, "md5_digest": "b0a13a4c94f3e10942a1ac92d2efa873", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10006, "upload_time": "2012-11-29T01:31:15", "url": "https://files.pythonhosted.org/packages/b8/79/40ad446eabfa22909dc3f41e8f469cce4804c9ec999ae3823c79d9eb59d3/scpclient-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "6c6d45b42ce24df6f29e76be9deaf8fe", "sha256": "4b875a87cb5c54d689f2bae6a6b5e53ce1d1c0ad14baf63b607f76017bf1d8aa" }, "downloads": -1, "filename": "scpclient-0.5.tar.gz", "has_sig": false, "md5_digest": "6c6d45b42ce24df6f29e76be9deaf8fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10202, "upload_time": "2014-04-27T16:07:44", "url": "https://files.pythonhosted.org/packages/4b/3c/3cc6560fecdd5e01cb4c3d234e82b186b50db2cf75c595b87cb95d3cb5e2/scpclient-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "3984ff772f6c069aa6a664414332d0c9", "sha256": "dcd36d915f93b50e6b310c2a7f78af705d665c1d624b75a6bf0884dbd0b0376b" }, "downloads": -1, "filename": "scpclient-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3984ff772f6c069aa6a664414332d0c9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8922, "upload_time": "2016-10-02T13:59:59", "url": "https://files.pythonhosted.org/packages/e4/c9/467c3ef43b08eefd412f6ea6f1dadb42ce21fdc4dceba1da85ee8c9a3190/scpclient-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f899a4c41f829576e3f45c9fb45e84cf", "sha256": "56a1e39f1a12a77acef9510ae7d39364be2ca9de7a344236718f459f10cb2dd9" }, "downloads": -1, "filename": "scpclient-0.6.tar.gz", "has_sig": false, "md5_digest": "f899a4c41f829576e3f45c9fb45e84cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10561, "upload_time": "2016-10-02T14:00:04", "url": "https://files.pythonhosted.org/packages/fa/c0/f3cbc45356da4acd1ed13448c78a5ac95f17d26c8e7bf82011de6fb540a3/scpclient-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "be75ba4ac3c198d1bd3745cb937b6067", "sha256": "bce7a4429d2d8ec1ceae5de99acf5bf3e04b63e27fa832dfac9173d8be98493e" }, "downloads": -1, "filename": "scpclient-0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "be75ba4ac3c198d1bd3745cb937b6067", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8990, "upload_time": "2016-10-27T17:53:05", "url": "https://files.pythonhosted.org/packages/2d/53/19b5fe3db38c349d877a1ac9af898de0ac2c36f26a1730cd1c1ab2b2001b/scpclient-0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e86376bafd47178e6977071f83ee05f7", "sha256": "2a7336123d9fbfb0064907719747a96f1c0add38a99b4d2741adc218d25e11d6" }, "downloads": -1, "filename": "scpclient-0.7.tar.gz", "has_sig": false, "md5_digest": "e86376bafd47178e6977071f83ee05f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10587, "upload_time": "2016-10-27T17:53:08", "url": "https://files.pythonhosted.org/packages/37/72/e1a25df7e5562ad4c5f48c0d3ab43045b56d6680f38aff3fa058a95729c0/scpclient-0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be75ba4ac3c198d1bd3745cb937b6067", "sha256": "bce7a4429d2d8ec1ceae5de99acf5bf3e04b63e27fa832dfac9173d8be98493e" }, "downloads": -1, "filename": "scpclient-0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "be75ba4ac3c198d1bd3745cb937b6067", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8990, "upload_time": "2016-10-27T17:53:05", "url": "https://files.pythonhosted.org/packages/2d/53/19b5fe3db38c349d877a1ac9af898de0ac2c36f26a1730cd1c1ab2b2001b/scpclient-0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e86376bafd47178e6977071f83ee05f7", "sha256": "2a7336123d9fbfb0064907719747a96f1c0add38a99b4d2741adc218d25e11d6" }, "downloads": -1, "filename": "scpclient-0.7.tar.gz", "has_sig": false, "md5_digest": "e86376bafd47178e6977071f83ee05f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10587, "upload_time": "2016-10-27T17:53:08", "url": "https://files.pythonhosted.org/packages/37/72/e1a25df7e5562ad4c5f48c0d3ab43045b56d6680f38aff3fa058a95729c0/scpclient-0.7.tar.gz" } ] }