Skip to content

Commit 5181a39

Browse files
author
Pan
committed
Updated sources for error code refactoring.
Added all libssh2 error codes to ssh2.error_codes. Added flake8 configuration for cython. Updated setup.py with global cython directives - removed per file directives. Updated all cython files for PEP-8. Added contributing guide, code of conduct and github issue template. Updated readme.
1 parent d229bc3 commit 5181a39

39 files changed

+4196
-3083
lines changed

.github/CONTRIBUTING.rst

Lines changed: 419 additions & 0 deletions
Large diffs are not rendered by default.

.github/code_of_conduct.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of experience,
9+
nationality, personal appearance, race, religion, or sexual identity and
10+
orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at [http://contributor-covenant.org/version/1/4][version]
72+
73+
[homepage]: http://contributor-covenant.org
74+
[version]: http://contributor-covenant.org/version/1/4/

.github/issue_template.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
### Directions
2+
3+
_Issue tracker is for actionable bug reports, issues with the code and feature requests._
4+
_For general questions use the [mail group](https://groups.google.com/forum/#!forum/ssh2-python)._
5+
_Remove this section and everything on and above this line._
6+
7+
### Bug reports
8+
9+
__Steps to reproduce:__
10+
11+
1. Example code that produces error.
12+
2. Stack trace or error messages.
13+
14+
__Expected behaviour:__ [What was expected to happen.]
15+
16+
__Actual behaviour:__ [What actually happened.]
17+
18+
__Additional info:__ [Include version of ``libssh2`` and any other relevant information.]

README.rst

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,15 @@ ______________
1919

2020
System packages are available on the `latest releases page <https://github.com/ParallelSSH/ssh2-python/releases/latest>`_ built on Centos/RedHat 6/7, Ubuntu 14.04/16.04, Debian 7/8 and Fedora 22/23/24.
2121

22+
The library has *no dependencies* other than ``libssh2``.
23+
2224

2325
Installation from Source
2426
_________________________
2527

2628
Install ``libssh2`` and Python header files.
2729

30+
2831
Ubuntu
2932
--------
3033

@@ -57,11 +60,14 @@ In addition, as ``ssh2-python`` is a thin wrapper of ``libssh2`` with Python sem
5760
Quick Start
5861
_____________
5962

60-
61-
Both byte and unicode strings are accepted as arguments and encoded appropriately. To change default encoding change the value of ``ssh2.utils.ENCODING``. Channel output is always byte strings.
63+
Both byte and unicode strings are accepted as arguments and encoded appropriately. To change default encoding, ``utf-8``, change the value of ``ssh2.utils.ENCODING``. Channel output is always byte strings.
6264

6365
See `Complete Example`_ for a complete example including socket connect.
6466

67+
Please use either the issue tracker for reporting issues with code or the `mail group`_ for discussion and questions.
68+
69+
Contributions are most welcome!
70+
6571

6672
Authentication Methods
6773
-------------------------
@@ -220,7 +226,7 @@ ________________________________________
220226

221227

222228
* SSH channel operations (exec,shell,subsystem) and methods
223-
* SSH agent
229+
* SSH agent functionality
224230
* Public key authentication and management
225231
* SFTP operations
226232
* SFTP file handles and attributes
@@ -277,3 +283,4 @@ Performance of above example, compared with Paramiko.
277283
.. _libssh2: https://www.libssh2.org
278284
.. _Cython: https://www.cython.org
279285
.. _`examples directory`: https://github.com/ParallelSSH/ssh2-python/tree/master/examples
286+
.. _`mail group`: https://groups.google.com/forum/#!forum/ssh2-python

setup.cfg

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@ universal = 0
99

1010
[flake8]
1111
max-line-length = 80
12+
filename = *.pyx,*.px*
13+
exclude = .eggs,*.egg,build
14+
ignore = E901,E225,E226,E227,E999

setup.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,15 @@
2727
# _comp_args = ["-ggdb"]
2828
_comp_args = ["-O3"]
2929
_embedded_lib = bool(os.environ.get('EMBEDDED_LIB'))
30-
cython_args = {'cython_compile_time_env': {'EMBEDDED_LIB': _embedded_lib}} \
31-
if USING_CYTHON else {}
30+
cython_directives = {'embedsignature': True,
31+
'boundscheck': False,
32+
'optimize.use_switch': True,
33+
'wraparound': False,
34+
}
35+
cython_args = {
36+
'cython_directives': cython_directives,
37+
'cython_compile_time_env': {'EMBEDDED_LIB': _embedded_lib}} \
38+
if USING_CYTHON else {}
3239

3340
extensions = [
3441
Extension(sources[i].split('.')[0].replace('/', '.'),

0 commit comments

Comments
 (0)