2015-10-11 14:53:32 +00:00
|
|
|
HOW TO CONTRIBUTE TO TQDM
|
2015-10-11 17:05:33 +00:00
|
|
|
=========================
|
2015-10-11 10:18:26 +00:00
|
|
|
|
2015-10-11 17:05:33 +00:00
|
|
|
This file describes how to contribute changes to the project, and how to
|
|
|
|
upload to the pypi repository.
|
2015-10-11 10:18:26 +00:00
|
|
|
|
2015-11-01 16:01:18 +00:00
|
|
|
Most of the management commands have been directly placed inside the
|
|
|
|
Makefile: `python setup.py make [alias]`, (or simply `make [alias]` in
|
|
|
|
UNIX-like environments).
|
2015-10-13 13:15:11 +00:00
|
|
|
|
2015-10-13 13:25:12 +00:00
|
|
|
Note: to use the Makefile on Windows, you need to install make.exe,
|
|
|
|
for example by installing [MinGW MSYS](http://www.mingw.org/wiki/msys).
|
|
|
|
|
2015-10-11 14:53:32 +00:00
|
|
|
|
2015-10-11 17:05:33 +00:00
|
|
|
HOW TO COMMIT YOUR CONTRIBUTIONS
|
|
|
|
--------------------------------
|
2015-10-11 10:18:26 +00:00
|
|
|
|
2015-11-01 16:01:18 +00:00
|
|
|
Contributions to the project are made using the "Fork & Pull" model. The
|
|
|
|
typical steps would be:
|
2015-10-11 10:18:26 +00:00
|
|
|
|
2015-10-11 17:05:33 +00:00
|
|
|
- create an account on [github](https://github.com)
|
|
|
|
- fork [tqdm](https://github.com/tqdm/tqdm)
|
|
|
|
- make a local clone: `git clone https://github.com/your_account/tqdm.git`
|
|
|
|
- make your changes on your local copy
|
2015-11-01 16:01:18 +00:00
|
|
|
- commit your changes `git commit -a -m "my message"`
|
2015-10-11 17:05:33 +00:00
|
|
|
- TEST YOUR CHANGES (see below)
|
|
|
|
- `push` to your github account: `git push origin`
|
|
|
|
- finally, create a Pull Request (PR) from your github fork
|
|
|
|
(go to your fork's webpage and click on "Pull Request."
|
|
|
|
You can then add a message to describe your proposal.)
|
2015-10-11 10:18:26 +00:00
|
|
|
|
|
|
|
|
2015-10-11 14:53:32 +00:00
|
|
|
TESTING
|
2015-10-11 17:05:33 +00:00
|
|
|
-------
|
2015-10-11 11:35:16 +00:00
|
|
|
|
2015-10-11 17:05:33 +00:00
|
|
|
To test functionality on your machine (such as before submitting a Pull
|
|
|
|
Request), there are a number of unit tests.
|
2015-10-11 11:35:16 +00:00
|
|
|
|
2015-10-13 22:42:01 +00:00
|
|
|
|
|
|
|
Standard unit testing
|
2015-11-01 16:01:18 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~
|
2015-10-13 22:42:01 +00:00
|
|
|
|
|
|
|
The standard way to run the tests:
|
2015-10-11 17:05:33 +00:00
|
|
|
|
|
|
|
- install `tox`
|
|
|
|
- `cd` to the root of the `tqdm` directory (in the same folder as this file)
|
2015-10-13 13:15:11 +00:00
|
|
|
- run the following command:
|
2015-10-11 11:35:16 +00:00
|
|
|
|
2015-10-15 13:47:02 +00:00
|
|
|
```
|
|
|
|
python setup.py make test
|
|
|
|
```
|
|
|
|
|
|
|
|
or
|
|
|
|
|
2015-10-11 11:35:16 +00:00
|
|
|
```
|
2015-10-13 22:42:01 +00:00
|
|
|
make test
|
2015-10-11 11:35:16 +00:00
|
|
|
```
|
|
|
|
|
2015-10-13 22:42:01 +00:00
|
|
|
or
|
2015-10-11 10:18:26 +00:00
|
|
|
|
|
|
|
```
|
2015-10-13 22:42:01 +00:00
|
|
|
tox --skip-missing-interpreters
|
2015-10-11 10:18:26 +00:00
|
|
|
```
|
2015-10-13 13:15:11 +00:00
|
|
|
|
2015-11-01 16:01:18 +00:00
|
|
|
This will build the module and run the tests in a virtual environment.
|
|
|
|
Errors and coverage rates will be output to the console/log. (Ignore missing
|
|
|
|
interpreters errors - these are due to the local machine missing certain
|
|
|
|
versions of Python.)
|
2015-10-13 20:49:38 +00:00
|
|
|
|
2015-11-01 16:01:18 +00:00
|
|
|
Note: to install all versions of the Python interpreter that are specified
|
|
|
|
in [tox.ini](https://raw.githubusercontent.com/tqdm/tqdm/master/tox.ini),
|
|
|
|
you can use `MiniConda` to install a minimal setup. You must also make sure
|
|
|
|
that each distribution has an alias to call the Python interpreter:
|
|
|
|
`python27` for Python 2.7's interpreter, `python32` for Python 3.2's, etc.
|
2015-10-13 20:49:38 +00:00
|
|
|
|
2015-10-13 22:42:01 +00:00
|
|
|
|
|
|
|
Alternative unit testing with Nose
|
2015-11-01 16:01:18 +00:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2015-10-13 22:42:01 +00:00
|
|
|
|
2015-11-01 16:01:18 +00:00
|
|
|
Alternatively, use `nose` to run the tests just for your Python version:
|
2015-10-13 22:42:01 +00:00
|
|
|
|
|
|
|
- install `nose` and `flake8`
|
2015-11-01 16:01:18 +00:00
|
|
|
- run the following command:
|
2015-10-13 22:42:01 +00:00
|
|
|
|
|
|
|
```
|
2015-10-15 13:47:02 +00:00
|
|
|
python setup.py make alltests
|
2015-10-13 22:42:01 +00:00
|
|
|
```
|
|
|
|
|
2015-11-01 16:01:18 +00:00
|
|
|
or
|
2015-10-13 22:42:01 +00:00
|
|
|
|
|
|
|
```
|
|
|
|
nosetests --with-coverage --cover-package=tqdm -v tqdm/
|
|
|
|
python -m flake8 tqdm/_tqdm.py
|
|
|
|
```
|