Skip to content

Commit b67c422

Browse files
committed
deploy: a6d8e98
0 parents  commit b67c422

75 files changed

Lines changed: 9523 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 5b6a16e62f5fa14c7a6c048f82baf9a3
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

.nojekyll

Whitespace-only changes.

_sources/authors.rst.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Authors
2+
=======
3+
Contributors of code, tests and documentation to the project who have agreed to have their work enjoined into the project and project license (BSD).
4+
5+
6+
Acknowledgment
7+
--------------
8+
* PR #46 by ofiliojo
9+
* PR #19 by coreyhartley
10+
* PR #15 by RobertCochran
11+
* PR #12 by erans
12+
* ftpretty by codebynumbers
13+
* pysftp by dundeemt
14+
* paramiko by Robey Pointer
15+
* ssh.py by Zeth

_sources/changes.rst.txt

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
1.1.10 (current, released 2025-10-14)
2+
-----------------------------------
3+
* fix for channel re-use limitation.
4+
* regression fix for properly closing channel cache sockets.
5+
6+
1.1.9 (released 2025-8-06)
7+
-----------------------------------
8+
* adding channel cache to place upper limit on creation overhead.
9+
* removing ssh-dss key type as it was deprecated in paramiko in 4.0.0.
10+
11+
1.1.8 (released 2025-6-13)
12+
--------------------------
13+
* added WARN log level to logger, mapped to QUIET in ssh config.
14+
* added support for int values in CnOpts.log_level mapped to python logging.
15+
16+
1.1.7 (released 2025-2-22)
17+
--------------------------
18+
* bug fix for host key matching servers running on non default ports
19+
20+
1.1.6 (released 2024-10-12)
21+
---------------------------
22+
* added AES-GCM ciphers
23+
24+
1.1.5 (released 2024-6-30)
25+
--------------------------
26+
* added API diff table
27+
* added CnOpts.get_agentkey
28+
* adding support/testing for python 3.12
29+
* switched to pyproject.toml from setup.py
30+
31+
1.1.4 (released 2024-1-04)
32+
--------------------------
33+
* missed the console logger in previous behavior change
34+
35+
1.1.3 (released 2023-12-11)
36+
---------------------------
37+
* adding merge between ssh security options and paramiko compatibility
38+
* changing default logger behavior from hooking into __main__
39+
40+
1.1.2 (released 2023-10-24)
41+
---------------------------
42+
* added support for setting max_workers on ThreadPool functions
43+
44+
1.1.1 (released 2023-08-28)
45+
---------------------------
46+
* added initial support for resuming existing transfers get() & put()
47+
* added max_concurrent_prefetch_requests parameter to get() family
48+
* added prefetch parameter to get() family
49+
50+
1.1.0 (released 2023-08-15)
51+
---------------------------
52+
* added initial support for OpenSSH config-file support to CnOpts
53+
54+
1.0.9 (released 2023-05-08)
55+
---------------------------
56+
* added drivedrop to bypass _adjust_cwd's lack of Windows drive support
57+
* added file_size logic and default remotepath fallback to putfo
58+
* moved Connection.compress to CnOpts.compress
59+
* regression in put_d *again*
60+
* removed SKIP_IF_CI from all but one test in response to the above
61+
* switched to public key auth for all tests !¿macOS?¡
62+
* switched from get_fingerprint() using md5 to helpers.hash using sha3_256
63+
* test clean-up and major refactor
64+
65+
1.0.7 (released 2023-02-27)
66+
---------------------------
67+
* fix regression in put_d
68+
69+
1.0.6 (released 2023-01-15)
70+
---------------------------
71+
* allow CnOpts knownhost to be set to None directly
72+
* standardize on using is for None checks
73+
74+
1.0.5 (released 2022-11-29)
75+
---------------------------
76+
* added log_level to connection options
77+
* added compression security option for Transport
78+
* code optimizations in _start_transport() and _set_authentication()
79+
* moved compression on/off switch to Connection object
80+
* sprinkled debug messaging throughout
81+
* switched to using native logging module instead of paramiko util
82+
83+
1.0.4 (released 2022-09-24)
84+
---------------------------
85+
* added Windows Pure Path logic in put_d() and put_r() through localtree()
86+
* fix for regression in _sftp_channel() causing UnboundLocalError
87+
* improved support for dot notation in known_hosts and private key file
88+
* removed basicConfig() call for improved embedded behavior
89+
90+
1.0.3 (released 2022-09-13)
91+
---------------------------
92+
* added disabled algorithms option for Transport
93+
94+
1.0.2 (released 2022-09-09)
95+
---------------------------
96+
* added sort to localtree() for test continuity
97+
* bug fix for typo in put_d()
98+
99+
1.0.1 (released 2022-07-22)
100+
---------------------------
101+
* added key types security option for Transport
102+
* bug fixes for close()
103+
* default to private key authentication
104+
* enabled timeout setting for channel and transport
105+
* improved host key logging
106+
* localtree & remotetree functions Windows compatible
107+
* started hosting on PyPi
108+
* updated tests and CI pipeline
109+
110+
1.0.0 (released 2021-06-06)
111+
---------------------------
112+
* added ECDSA and ED25519 key support for authentication
113+
* added digest and kex security options for Transport
114+
* added tests for additional functionality
115+
* default callback function for progress notifications
116+
* hash function added to helpers for file verification option
117+
* improved local and remote directory mapping
118+
* improved logging capabilities
119+
* replaced _sftp_connect with context aware channel manager
120+
* retry decorator for automated recovery from failure
121+
* switched to using pathlib for all local filepath operations
122+
* updated documentation and README with advanced examples

_sources/contributing.rst.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Contributing
2+
============
3+
You can contribute to the project in a number of ways. Code is always good, bugs are interesting but tests make your famous!
4+
5+
Bug reports or feature enhancements that include a test are given preferential treatment. So instead of voting for an issue, write a test.
6+
7+
Bug Reports
8+
-----------
9+
If you encounter a bug or some surprising behavior, please file an issue on our `tracker <https://github.com/byteskeptical/sftpretty/issues>`_.
10+
11+
Code
12+
----
13+
#. Fork the repository `sftpretty <https://github.com/byteskeptical/sftpretty>`_
14+
#. Install supporting software packages and sftpretty in --editable mode
15+
16+
a. Make a virtualenv, clone the repos, install the deps from pip install -r requirements-dev.txt
17+
b. Install sftpretty in editable mode, pip install -e .
18+
#. Write any new tests needed and ensure existing tests continue to pass without modification.
19+
20+
a. Setup CI testing for your Fork. Currently testing is done on Github Actions but feel free to use the testing framework of your choosing.
21+
b. Testing features that concern chmod, chown on Windows is NOT supported. Testing compression has to be ran against a local compatible sshd and not the plugin as it does NOT support this test.
22+
c. You will need to setup an ssh daemon on your local machine and create a user: copy the contents of id_sftpretty.pub to the newly created user's authorized_keys file -- Tests that can only be run locally are skipped using the @skip_if_ci decorator so they don't fail when the test suite is run on the CI server.
23+
24+
#. Ensure that your name is added to the end of the :doc:`authors` file using the format Name <email@domain.com> (url), where the (url) portion is optional.
25+
#. Submit a Pull Request to the project.
26+
27+
Docs
28+
----
29+
Using Sphinx to build the docs. ``make html`` is your friend, see docstrings for details on params, etc.
30+
31+
Issue Priorities
32+
----------------
33+
This section lists the priority that will be assigned to an issue:
34+
#. Developer Issues
35+
#. Issues that have a pull request with a test(s) displaying the issue and code change(s) that satisfies the test suite
36+
#. Issues that have a pull request with a test(s) displaying the issue
37+
#. Naked pull requests - a code change request with no accompaning test
38+
#. An issue without a pull request with a test displaying the issue
39+
#. Badly documented issue with no code or test - sftpretty is not an end-user tool, it is a developer tool and it is expected that issues will be submitted like a developer and not an end-user. Issues in the realm of "the internet is broken" will be marked as invalid with a comment pointing the submitter to this section.
40+
41+
Testing
42+
-------
43+
Tests specific to an issue should be put in the tests/ directory and the module should be named test_issue_xx.py The tests within that module should be named test_issue_xx or test_issue_xx_YYYYYY if more than one test. Pull requests should not modify existing tests (exceptions apply). See tests/test_issue_xx.py for a template and further explanation.

0 commit comments

Comments
 (0)