Skip to content

Commit 19bb394

Browse files
Merge pull request #666 from jaykay12/first-timer-documentation
Created First-timers.md File
2 parents f17f5d8 + b3feabe commit 19bb394

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

FIRST_TIMERS.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
## Welcome to the SendGrid Open Source Community
2+
If you are new to Open Source, you are at the right place to start with. Contributions are always encouraged & appreciated. Just follow the organisation's Contribution Policies & you are good to go.
3+
## How to get Started?
4+
- [Explore SendGrid](#explore)
5+
- [Raise Issues(If Found Any)](#issues)
6+
- [Setting up the Development Environment](#setup)
7+
- [Proposing Change through a Pull Request](#pr)
8+
- [Be Patient & Wait for reviews](#reviews)
9+
10+
<a name="explore"></a>
11+
### Explore SendGrid
12+
Step 1: Get yourself Access to SendGrid API Service absolutely free from [here](https://sendgrid.com/free/?source=sendgrid-python)\
13+
Step 2: Get familiar with SendGrid Service
14+
- Prerequisites are Python version 2.6, 2.7, 3.4, 3.5 or 3.6
15+
- Set up your [SendGrid API Key](https://app.sendgrid.com/settings/api_keys) to your local workspace [using](https://github.com/sendgrid/sendgrid-python#setup-environment-variables)
16+
- Install SendGrid to your workspace using `pip install sendgrid`
17+
- Copy & Run few sample programs from [here](https://github.com/sendgrid/sendgrid-python#hello-email)
18+
19+
20+
<a name="issues"></a>
21+
### Raise Issues
22+
SendGrid uses GitHub as the content management service so, all the issues related to the project be it some feature request or a bug report, all are reported at the [GitHub Issue Tracker](https://github.com/sendgrid/sendgrid-python/issues)\
23+
Kindly make sure, to check for any duplicate issues raised by fellow contributors before opening a new issue. Be humble & polite while commenting on issues
24+
- Feature Request\
25+
In case you feel like something is missing or lacking in the API Service, feel free to share your views & opinions with the community
26+
- Bug Report\
27+
If you encounter any sort of bug or abnormal behavior, feel free to inform the community after performing the following checks:
28+
- Update to the latest version & check if the bug persists
29+
- Check the Issue Tracker for any similar bug report
30+
31+
Finally fill up the Bug Report Template & Open the Issue highlighting your encountered bug & detailed steps to regenerate the bug.
32+
33+
<a name="setup"></a>
34+
### Setting up the Development Environment
35+
- **Using Docker**\
36+
Use our Docker image to avoid setting up the development environment yourself. See [USAGE.md](https://github.com/sendgrid/sendgrid-python/blob/master/docker/USAGE.md)
37+
38+
- **Setting up Locally**\
39+
Step 1: Install the Prerequistes: Any Version of Python(2.6 through 3.6) & [python_http_client](https://github.com/sendgrid/python-http-client)\
40+
Step 2: Get a local copy of repository using `git clone https://github.com/sendgrid/sendgrid-python.git`\
41+
Step 3: Set your [SendGrid API Key](https://app.sendgrid.com/settings/api_keys) to your local workspace using\
42+
`echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env`\
43+
`echo "sendgrid.env" >> .gitignore`\
44+
`source ./sendgrid.env`\
45+
Step 4: The entire codebase consist of 3 major divisions
46+
- **/examples** contains *Working examples that demonstrate usage*
47+
- **/tests** contains *the unit and profiling tests*
48+
- **/sendgrid** contains *the Web API v3 client ie sendgrid.py and other files*.
49+
50+
51+
<a name="pr"></a>
52+
## Proposing Change through a Pull Request
53+
**Step 1:** Fork the project & Clone your fork using `git clone https://github.com/<USERNAME>/sendgrid-python.git`
54+
55+
**Step 2:** Reconfigure the remotes using `cd sendgrid-python` and `git remote add upstream https://github.com/sendgrid/sendgrid-python.git`
56+
57+
**Step 3:** Create a new branch for your modifications using `git checkout -b <topic-branch-name>`
58+
59+
**Step 4:** Commit the changes in logical chunks & add commit messages strictly following [this](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
60+
61+
**Step 5:** Run all test locally, [for more info](https://github.com/sendgrid/sendgrid-python/blob/master/CONTRIBUTING.md#testing)
62+
63+
**Step 6:** Locally merge your the upstream development branch into your topic-branch using `git pull [--rebase] upstream master`
64+
65+
**Step 7:** Push the topic branch up to your fork using `git push origin <topic-branch-name>`
66+
67+
**Step 8:** Open a Pull Request with clear title and description against the master branch.
68+
69+
In case, you have additional questions, feel free to drop a [mail]([email protected]) or open an issue.
70+
71+
<a name="reviews"></a>
72+
## Be Patient & Wait for Reviews
73+
Kindly be patient & follow the suggestions as provided by the peer reviewers. Make required ammendments & changes to the PR as asked.
74+
75+
## [Explore New Issues to work upon](https://github.com/sendgrid/sendgrid-python/labels/difficulty%3A%20easy)

0 commit comments

Comments
 (0)