========
CryptoIM
========
.. image:: https://travis-ci.org/oskopek/CryptoIM.png?branch=develop
:target: https://travis-ci.org/oskopek/CryptoIM
:alt: TravisCI
.. image:: https://coveralls.io/repos/oskopek/CryptoIM/badge.png?branch=develop
:target: https://coveralls.io/r/oskopek/CryptoIM?branch=develop
:alt: Coveralls
.. image:: https://pypip.in/v/CryptoIM/badge.png
:target: https://pypi.python.org/pypi/CryptoIM/
:alt: Latest Version
.. image:: https://pypip.in/d/CryptoIM/badge.png
:target: https://pypi.python.org/pypi/CryptoIM/
:alt: Downloads
.. image:: https://pypip.in/license/CryptoIM/badge.png
:target: https://pypi.python.org/pypi/CryptoIM/
:alt: License
A secure* instant messenger written in Python out of sheer fun.
\* not really secure (at least not yet)
.. image:: http://cdn.imghack.se/images/47f573797aea70092c62defa3a35b3fe.png
:alt: CryptoIM snapshot
Building
========
1. **Get the source code** `at GitHub <https://github.com/oskopek/CryptoIM>`_.
2. **Build**: ``python setup.py build`` and ``sudo python setup.py install``
3. To **run**: ``python main.py``
4. To run **unit tests**: ``python setup.py nosetests``
5. To **clean**, run: ``python setup.py clean --all``
6. To **edit** connection options, edit the ``main.cfg`` file.
Building on Linux
=================
* Make sure to **install** these packages using your package manager: ``python`` and ``python-setuptools``
* Follow steps 2., 3. and 6. from **Building**
Building on Windows
===================
* **Install** `Python <http://www.python.org/download/releases/3.3.3/#download>`_ and `Setuptools <https://pypi.python.org/pypi/setuptools#windows>`_.
* Follow steps 2., 3. and 6. from **Building**
Contributing
============
**Everyone** is encouraged to help improve this project.
Here are some ways *you* can contribute:
* by using alpha, beta, and prerelease versions
* by reporting bugs
* by suggesting new features
* by translating to a new language
* by writing or editing documentation
* by writing specifications
* by writing code (**no patch is too small**: fix typos, add comments, clean up inconsistent whitespace)
* by refactoring code
* by closing `issues <https://github.com/oskopek/CryptoIM/issues>`_
* by reviewing patches
Info
====
CryptoIM uses `semantic versioning <http://semver.org/>`_ and branching model similar to `this <http://nvie.com/posts/a-successful-git-branching-model/>`_.
Submitting an Issue
===================
We use the `GitHub issue tracker <https://github.com/oskopek/CryptoIM/issues>`_ to track bugs and features. Before
submitting a bug report or feature request, check to make sure it hasn't
already been submitted. When submitting a bug report, please include a `Gist <https://gist.github.com/>`_
that includes a stack trace and any details that may be necessary to reproduce
the bug, including your Python version and operating system.
Submitting a Pull Request
=========================
1. `Fork the repository <http://help.github.com/fork-a-repo/>`_.
2. `Create a topic branch <http://learn.github.com/p/branching.html>`_.
3. Implement your feature or bug fix.
4. Run ``python setup.py nosetests``. If the tests fail, return to step 3.
5. If applicable, add tests for your feature or bug fix.
6. Add, commit, and push your changes.
7. `Submit a pull request <http://help.github.com/send-pull-requests/>`_.