Skip to content

Commit a9e1518

Browse files
committed
deploy: ee69194
0 parents  commit a9e1518

75 files changed

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

_sources/contributing.rst.txt

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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, python3 -m venv .sftpretty
17+
b. Clone the repo, git clone https://github.com/`username`/sftpretty
18+
c. Install sftpretty and it's dependencies in editable mode, python3 -m pip install -e .[dev,lint,test]
19+
20+
#. Write any new tests needed and ensure existing tests continue to pass without modification.
21+
22+
a. Setup CI testing for your fork. Currently testing is done on Github Actions but feel free to use the framework of your choosing.
23+
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 pytest-sftpserver plugin as it does NOT support this feature.
24+
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 ran locally are skipped using the @skip_if_ci decorator so they don't fail when the test suite runs on the CI server.
25+
26+
#. 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.
27+
#. Submit a Pull Request to the project.
28+
29+
Docs
30+
----
31+
Using Sphinx to build the docs. ``make html`` is your friend, see docstrings for details on params, etc.
32+
33+
Issue Priorities
34+
----------------
35+
This section lists the priority that will be assigned to an issue:
36+
#. Developer Issues
37+
#. Issues that have a pull request with a test(s) displaying the issue and code change(s) that satisfies the test suite
38+
#. Issues that have a pull request with a test(s) displaying the issue
39+
#. Naked pull requests - a code change request with no accompaning test
40+
#. An issue without a pull request with a test displaying the issue
41+
#. 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.
42+
43+
Testing
44+
-------
45+
Tests specific to an issue should be placed inside the tests/ directory and the file 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 exists. Pull requests should not modify existing tests with extremely rare exception. See tests/test_issue_xx.py for a template and additional context.

0 commit comments

Comments
 (0)