Add requirements for repeatable install
[diaspy.git] / README.md
1 ## Unofficial Python interface for Diaspora\* social network
2
3 [![Diaspy on PyPI](https://badge.fury.io/py/diaspy-api.png)](https://pypi.python.org/pypi/diaspy-api)
4
5 `diaspy` is a set of modules which form an Python interface to the API of
6 Diaspora\* social network.
7
8 Test suite will cause problems when run with 2.x so testing should be done
9 using python3 interpreter.
10
11 Object oriented design of `diaspy` makes it easily reusable by other
12 developers who want to use only part of the interface and create derivative
13 works from it.
14
15 Developers who don't like the design of `diaspy` and want to create something better
16 can use only `diaspy.connection.Connection()` object as it is capable of
17 doing everything. Other modules are just layers that provide easier access to
18 parts of the Diaspora\* API.
19
20 ----
21
22 ### Dependencies
23
24 List of software `diaspy` requires to run.
25 Versions used by maintainer are the ones available in stock Arch x86\_64 repositories.
26
27 **`python`**
28
29 Version: 3.3.3
30 [Website](https://www.python.org/)
31
32
33 **`python-requests`**
34
35 Version: 2.1.0
36 [Website](http://docs.python-requests.org/en/latest/)
37
38 **`python-dateutil`**
39
40 Version: >= 2.2
41 [Website](https://github.com/dateutil/dateutil)
42
43 *Optional:* **`python-beautifulsoup4`**
44 [Website](https://www.crummy.com/software/BeautifulSoup/)
45
46
47 ----
48
49 #### Quick intro
50
51 #### 1. Posting text to your stream
52
53 You only need two objects to do this: `Stream()` and `Connection()`.
54
55 >>> import diaspy
56 >>> c = diaspy.connection.Connection(pod='https://pod.example.com',
57 ... username='foo',
58 ... password='bar')
59 >>> c.login()
60 >>> stream = diaspy.streams.Stream(c)
61 >>> stream.post('Your first post')
62
63 ----
64
65 #### 2. Reference implementation
66
67 There is no official reference implementation of D\* client using `diaspy`.
68 The `diaspy.client` module is no longer maintained and will be removed in the future.
69
70 However, there is a small script written that uses `diaspy` as its backend.
71 Look for `diacli` in marekjm's repositories on GitHub.
72
73 ----
74
75 To get more information about how the code works read
76 documentation (`./doc/` directory) and manual (`./manual/` directory).