Skip to content

Commit a899daf

Browse files
committed
Merge branch 'master' into archiving_updates
2 parents afae255 + 1a7014c commit a899daf

File tree

5 files changed

+154
-1
lines changed

5 files changed

+154
-1
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ language: python
22
python:
33
- '2.6'
44
- '2.7'
5+
- '3.2'
56
- '3.3'
7+
- '3.4'
68
install:
79
- pip install -r test_requirements.txt
810
- pip install -r requirements.txt

CONTRIBUTING.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Contributing Guidelines
2+
3+
For anyone looking to get involved to this project, we are glad to hear from you. Here are a few types of contributions
4+
that we would be interested in hearing about.
5+
6+
* Bug fixes
7+
- If you find a bug, please first report it using Github Issues.
8+
- Issues that have already been identified as a bug will be labelled `bug`.
9+
- If you'd like to submit a fix for a bug, send a Pull Request from your own fork and mention the Issue number.
10+
+ Include a test that isolates the bug and verifies that it was fixed.
11+
* New Features
12+
- If you'd like to accomplish something in the library that it doesn't already do, describe the problem in a new
13+
Github Issue.
14+
- Issues that have been identified as a feature request will be labelled `enhancement`.
15+
- If you'd like to implement the new feature, please wait for feedback from the project maintainers before spending
16+
too much time writing the code. In some cases, `enhancement`s may not align well with the project objectives at
17+
the time.
18+
* Tests, Documentation, Miscellaneous
19+
- If you think the test coverage could be improved, the documentation could be clearer, you've got an alternative
20+
implementation of something that may have more advantages, or any other change we would still be glad hear about
21+
it.
22+
- If its a trivial change, go ahead and send a Pull Request with the changes you have in mind
23+
- If not, open a Github Issue to discuss the idea first.
24+
25+
## Requirements
26+
27+
For a contribution to be accepted:
28+
29+
* The test suite must be complete and pass
30+
* Code must follow existing styling conventions
31+
* Commit messages must be descriptive. Related issues should be mentioned by number.
32+
33+
If the contribution doesn't meet these criteria, a maintainer will discuss it with you on the Issue. You can still
34+
continue to add more commits to the branch you have sent the Pull Request from.
35+
36+
## How To
37+
38+
1. Fork this repository on GitHub.
39+
1. Clone/fetch your fork to your local development machine.
40+
1. Create a new branch (e.g. `issue-12`, `feat.add_foo`, etc) and check it out.
41+
1. Make your changes and commit them. (Did the tests pass?)
42+
1. Push your new branch to your fork. (e.g. `git push myname issue-12`)
43+
1. Open a Pull Request from your new branch to the original fork's `master` branch.
44+
45+
## Developer Guidelines
46+
47+
See DEVELOPING.md for guidelines for developing this project.

DEVELOPING.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Development Guidelines
2+
3+
This document describes tools, tasks and workflow that one needs to be familiar with in order to effectively maintain
4+
this project. If you use this package within your own software as is but don't plan on modifying it, this guide is
5+
**not** for you.
6+
7+
## Tools
8+
9+
* [Pip](https://pip.pypa.io/): a command line package installer for Python. This tool is typically
10+
included with recent versions of Python.
11+
12+
* [virtualenv](https://virtualenv.pypa.io/): a tool to create isolated Python environments. The
13+
first thing you should do once you've cloned this repository is to run `pip install virtualenv;
14+
virtualenv venv; source venv/bin/activate` to create an environment and load it in your shell.
15+
This helps keep all the python packages you install and use isolated into a project specific
16+
location on your system, which helps keep you out of dependency hell. You can exit the
17+
environment using `$ deactivate`.
18+
19+
* [tox](https://testrun.org/tox/): a testing automation tool that can load many Python versions.
20+
This tool allows the project to test against all the compatible versions of Python by leveraging
21+
virtualenv and describing the tasks in a metadata file.
22+
23+
## Tasks
24+
25+
### Building
26+
27+
Building isn't necessarily required for a python package, but it is possible. By running the command
28+
`$ python setup.py build`, an installable package will be placed in the `build/` directory.
29+
30+
A more useful command is `$ python setup.py develop` which will make the package importable from any
31+
other script in your environment, and continue to update and you make changes.
32+
33+
### Testing
34+
35+
This project's tests are kicked off by tox. The `tox.ini` file describes the automation. In
36+
a nutshell, it selects a Python version, installs test dependencies stored in
37+
`test_requirements.txt`, and then runs `nosetests`. [Nose](https://nose.readthedocs.org) is the
38+
actual test runner. All of this can be ran using the following command: `$ tox`
39+
40+
### Generating Documentation
41+
42+
**TODO**
43+
44+
### Releasing
45+
46+
In order to create a release, the following should be completed in order.
47+
48+
1. Ensure all tests are passing (`tox`) and that there is enough test coverage.
49+
1. Make sure you are on the `master` branch of the repository, with all changes merged/committed already.
50+
1. Update the version number in the source code (`opentok/version.py`) and the README. See [Versioning](#versioning) for
51+
information about selecting an appropriate version number.
52+
1. Commit the version number change with the message ("Update to version v.x.x.x"), substituting the new version number.
53+
1. Create a git tag: `git tag -a vx.y.z -m "Release vx.y.z"`
54+
1. Ensure you have permission to update the `opentok` package on PyPI: <https://pypi.python.org/pypi/opentok>.
55+
1. Run `python setup.py sdist upload`, which will build and upload the package to PyPI.
56+
1. Change the version number for future development by adding "a1", then make another commit with the message
57+
"Beginning development on next version".
58+
1. Push the changes to the main repository (`git push origin master`).
59+
1. Upload the `dist/opentok-x.y.z.tar.gz` file to the
60+
[Github Releases](https://github.com/opentok/opentok-python-sdk/releases) page with a description and release notes.
61+
62+
## Workflow
63+
64+
### Versioning
65+
66+
The project uses [semantic versioning](http://semver.org/) as a policy for incrementing version numbers. For planned
67+
work that will go into a future version, there should be a Milestone created in the Github Issues named with the version
68+
number (e.g. "v2.2.1").
69+
70+
During development the version number should end in "a1" or "bx", where x is an increasing number starting
71+
from 1.
72+
73+
### Branches
74+
75+
* `master` - the main development branch.
76+
* `feat.foo` - feature branches. these are used for longer running tasks that cannot be accomplished in one commit.
77+
once merged into master, these branches should be deleted.
78+
* `vx.x.x` - if development for a future version/milestone has begun while master is working towards a sooner
79+
release, this is the naming scheme for that branch. once merged into master, these branches should be deleted.
80+
81+
### Tags
82+
83+
* `vx.x.x` - commits are tagged with a final version number during release.
84+
85+
### Issues
86+
87+
Issues are labelled to help track their progress within the pipeline.
88+
89+
* no label - these issues have not been triaged.
90+
* `bug` - confirmed bug. aim to have a test case that reproduces the defect.
91+
* `enhancement` - contains details/discussion of a new feature. it may not yet be approved or placed into a
92+
release/milestone.
93+
* `wontfix` - closed issues that were never addressed.
94+
* `duplicate` - closed issue that is the same to another referenced issue.
95+
* `question` - purely for discussion
96+
97+
### Management
98+
99+
When in doubt, find the maintainers and ask.

README.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,14 @@ store (such as a database).
5656
# Create a session that attempts to send streams directly between clients (falling back
5757
# to use the OpenTok TURN server to relay streams if the clients cannot connect):
5858
session = opentok.create_session()
59+
60+
from opentok import MediaModes
5961
# A session that uses the OpenTok Media Router:
6062
session = opentok.create_session(media_mode=MediaModes.routed)
63+
6164
# An automatically archived session:
6265
session = opentok.create_session(media_mode=MediaModes.routed, archive_mode=ArchiveModes.always)
66+
6367
# A session with a location hint
6468
session = opentok.create_session(location=u'12.34.56.78')
6569
@@ -235,7 +239,7 @@ Interested in contributing? We :heart: pull requests! See the `Development <DEVE
235239
Support
236240
-------
237241

238-
See http://tokbox.com/opentok/support/ for all our support options.
242+
See https://support.tokbox.com/ for all our support options.
239243

240244
Find a bug? File it on the `Issues <https://github.com/opentok/opentok-python-sdk/issues>`_ page.
241245
Hint: test cases are really helpful!

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def find_version(*file_paths):
5252
'Programming Language :: Python :: 3',
5353
'Programming Language :: Python :: 3.2',
5454
'Programming Language :: Python :: 3.3',
55+
'Programming Language :: Python :: 3.4',
5556

5657
'Topic :: Communications',
5758
'Topic :: Communications :: Chat',

0 commit comments

Comments
 (0)