aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
blob: b1d892629e07aba791692043960e60cb2b43687b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Pygithub3
==========

Pygithub3 is a wrapper to the `Github API v3 <http://developer.github.com/v3/>`_,
written in Python.

It has been developed with extensibility in mind, because the ``API`` is in a
beta state, trying to achieve a very loosly coupled software.

It should be very easy to extend to support new ``requests`` and ``resources``,
because each of them are managed by itself.

Fast install
-------------
::

    pip install pygithub3

Fast example
-------------
::

    from pygithub3.github import Github

    gh = Github()
    copitux = gh.users.get('copitux')
    copitux_followers = gh.users.followers.list('copitux')
    copitux_followers.all()  # lazy iterator that must be consumed

    gh.users.set_credentials(login='github_user', password='github_password')
    # or: gh.users.set_token('token_code')
    github_user = gh.users.get()
    gh.users.followers.set_credentials(login='another_user', password='another_password')
    another_user_followers = gh.users.followers.list().all()
    """ Continue...
    gh.users.emails.set_credentials( ...
    github_user_emails = gh.users.emails.list()

    Each service (users, emails, followers ...) is isolated from the rest. Maybe in
    future releases the behaviour of Github component changes to share configuration
    """

Achievements
-------------

- The core
- `User service <http://developer.github.com/v3/users/>`_

TODO
-----

- `Repo service <http://developer.github.com/v3/repos/>`_
- Docs

Contribute
-----------

1. Fork the `repository <https://github.com/copitux/python-github3>`_
2. Write a test to cover new feature or to reproduce bug
3. Code with `pep8 <http://www.python.org/dev/peps/pep-0008/>`_ rules
4. Add you to ``AUTHORS``
5. Pull request it

**Note**: I use `nose <http://readthedocs.org/docs/nose/en/latest/>`_ test environment,
with `mock <http://www.voidspace.org.uk/python/mock/>`_ ``pip install nose mock``