You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+55-55
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,28 @@
1
-
Hello! Thank you for choosing to help contribute to the sendgrid-python library. There are many ways you can contribute and help is always welcome.
2
-
1
+
Hello! Thank you for choosing to help contribute to one of the SendGrid open source libraries. There are many ways you can contribute and help is always welcome. We simply ask that you follow the following contribution policies.
2
+
3
+
-[CLAs and CCLAs](#cla)
4
+
-[Roadmap & Milestones](#roadmap)
5
+
-[Feature Request](#feature_request)
6
+
-[Submit a Bug Report](#submit_a_bug_report)
7
+
-[Improvements to the Codebase](#improvements_to_the_codebase)
8
+
-[Understanding the Code Base](#understanding_the_codebase)
-[Creating a Pull Request](#creating_a_pull_request)
12
+
13
+
<aname="roadmap"></a>
3
14
We use [Milestones](https://github.com/sendgrid/sendgrid-python/milestones) to help define current roadmaps, please feel free to grab an issue from the current milestone. Please indicate that you have begun work on it to avoid collisions. Once a PR is made, community review, comments, suggestions and additional PRs are welcomed and encouraged.
4
15
5
-
*[Feature Request](#feature_request)
6
-
*[Submit a Bug Report](#submit_a_bug_report)
7
-
*[Improvements to the Codebase](#improvements_to_the_codebase)
8
-
*[Understanding the Code Base](#understanding_the_codebase)
9
-
*[Testing](#testing)
10
-
*[Testing Multiple Versions of Python](#testing_multiple_versoins_of_python)
*[Creating a Pull Request](#creating_a_pull_request)
16
+
<aname="cla"></a>
17
+
## CLAs and CCLAs
18
+
19
+
Before you get started, SendGrid requires that a SendGrid Contributor License Agreement (CLA) or a SendGrid Company Contributor Licensing Agreement (CCLA) be filled out by every contributor to a SendGrid open source project.
20
+
21
+
Our goal with the CLA and CCLA is to clarify the rights of our contributors and reduce other risks arising from inappropriate contributions. The CLA also clarifies the rights SendGrid holds in each contribution and helps to avoid misunderstandings over what rights each contributor is required to grant to SendGrid when making a contribution. In this way the CLA and CCLA encourage broad participation by our open source community and help us build strong open source projects, free from any individual contributor withholding or revoking rights to any contribution.
22
+
23
+
SendGrid does not merge a pull request made against a SendGrid open source project until that pull request is associated with a signed CLA (or CCLA). Copies of the CLA and CCLA are available [here](https://drive.google.com/a/sendgrid.com/file/d/0B0PlcM9qA91LN2VEUTJWU2RIVXc/view).
24
+
25
+
You may submit your completed [CLA or CCLA](https://drive.google.com/a/sendgrid.com/file/d/0B0PlcM9qA91LN2VEUTJWU2RIVXc/view) to SendGrid at [[email protected]](mailto:[email protected]). SendGrid will then confirm you are ready to begin making contributions.
13
26
14
27
There are a few ways to contribute, which we'll enumerate below:
15
28
@@ -38,29 +51,7 @@ Before you decide to create a new issue, please try the following:
38
51
39
52
### Please use our Bug Report Template
40
53
41
-
In order to make the process easier, we've included a sample bug report template (borrowed from [Ghost](https://github.com/TryGhost/Ghost/)). The template uses [GitHub flavored markdown](https://help.github.com/articles/github-flavored-markdown/) for formatting.
42
-
43
-
```
44
-
Short and descriptive example bug report title
45
-
46
-
#### Issue Summary
47
-
48
-
A summary of the issue and the environment in which it occurs. If suitable, include the steps required to reproduce the bug. Please feel free to include screenshots, screencasts, code examples.
49
-
50
-
51
-
#### Steps to Reproduce
52
-
53
-
1. This is the first step
54
-
2. This is the second step
55
-
3. Further steps, etc.
56
-
57
-
Any other information you want to share that is relevant to the issue being reported. Especially, why do you consider this to be a bug? What do you expect to happen instead?
In order to make the process easier, we've included a [sample bug report template]((https://github.com/sendgrid/sendgrid-python/.github/ISSUE_TEMPLATE)) (borrowed from [Ghost](https://github.com/TryGhost/Ghost/)). The template uses [GitHub flavored markdown](https://help.github.com/articles/github-flavored-markdown/) for formatting.
64
55
65
56
<aname="improvements_to_the_codebase"></a>
66
57
## Improvements to the Codebase
@@ -69,27 +60,38 @@ We welcome direct contributions to the sendgrid-python code base. Thank you!
See the [examples folder](https://github.com/sendgrid/sendgrid-python/tree/master/examples) to get started quickly.
92
92
93
+
If testing from the root directory of this repo, create a new file (e.g. test.py) and replace `import sendgrid` with `from sendgrid import *`
94
+
93
95
<aname="understanding_the_codebase"></a>
94
96
## Understanding the Code Base
95
97
@@ -99,20 +101,20 @@ Working examples that demonstrate usage.
99
101
100
102
**/tests**
101
103
102
-
Tests for the mail send and Web API v3 endpoints.
104
+
Currently we have unit and profiling tests.
103
105
104
106
**/sendgrid**
105
107
106
-
The Web API v3 client is `client.py`, the other files are legacy code for our mail send v2 endpoint.
108
+
The Web API v3 client is `sendgrid.py`, the other files are legacy code for our mail send v2 endpoint.
107
109
108
110
<aname="testing"></a>
109
111
## Testing
110
112
111
113
All PRs require passing tests before the PR will be reviewed.
112
114
113
-
All test files are in the `[tests](https://github.com/sendgrid/sendgrid-python/tree/master/tests)` directory.
115
+
All test files are in the [`test`](https://github.com/sendgrid/sendgrid-python/test) directory.
114
116
115
-
For the purposes of contributing to this repo, please update the [`test_v3_endpoints.py`](https://github.com/sendgrid/sendgrid-python/blob/master/test/test_v3_endpoints.py) file with unit tests as you modify the code.
117
+
For the purposes of contributing to this repo, please update the [`test_sendgrid.py`](https://github.com/sendgrid/sendgrid-python/tree/master/test/test_sendgrid.py) file with unit tests as you modify the code.
116
118
117
119
For Python 2.6.*:
118
120
@@ -122,19 +124,18 @@ For Python 2.7.* and up:
122
124
123
125
`python -m unittest discover -v`
124
126
125
-
<aname="testing_multiple_versoins_of_python"></a>
126
-
## Testing Multiple Versions of Python
127
+
### Testing Multiple Versions of Python
127
128
128
129
All PRs require passing tests before the PR will be reviewed.
Add ```eval "$(pyenv init -)"``` to your shell environment (.profile, .bashrc, etc) after installing tox, you only need to do this once.
140
141
@@ -148,9 +149,9 @@ pyenv install 3.5.0
148
149
python setup.py install
149
150
pyenv local 3.5.0 3.4.3 3.3.6 3.2.6 2.7.8 2.6.9
150
151
pyenv rehash
151
-
````
152
+
```
152
153
153
-
### Execute: ###
154
+
####Execute:####
154
155
155
156
```
156
157
source venv/bin/activate
@@ -162,14 +163,13 @@ tox
162
163
163
164
Generally, we follow the style guidelines as suggested by the official language. However, we ask that you conform to the styles that already exist in the library. If you wish to deviate, please explain your reasoning.
Please run your code through [pyflakes](https://pypi.python.org/pypi/pyflakes), [pylint](https://www.pylint.org/) and [pep8](https://pypi.python.org/pypi/pep8)
0 commit comments