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