toxygen_wrapper/README.md

49 lines
1.8 KiB
Markdown
Raw Normal View History

2022-09-24 05:41:12 +02:00
# toxygen_wrapper
2022-09-24 06:35:33 +02:00
ctypes wrapping of [Tox](https://tox.chat/) libtoxcore
2022-09-25 09:21:16 +02:00
<https://github.com/TokTok/c-toxcore> into Python.
Taken from the wrapper directory of the now abandoned
2022-09-24 06:35:33 +02:00
<https://github.com/toxygen-project/toxygen> `next_gen` branch
by Ingvar.
2022-09-25 09:21:16 +02:00
The basics of NGC groups are supported, as well as AV and toxencryptsave.
2022-09-26 05:32:07 +02:00
There is no coverage of conferences as they are not supported in ```toxygen```
and the list of still unwrapped calls as of Sept. 2022 can be found in
```tox.c-toxcore.missing```.
It has been tested with UDP and TCP proxy (Tor). It has ***not*** been
tested on Windows, and there may be some breakage, which should be
easy to fix.
2022-09-24 06:00:03 +02:00
## Install
Put the parent of the wrapper directory on your PYTHONPATH and
2022-09-26 05:32:07 +02:00
touch a file called `__init__.py` in its parent directory.
2022-09-24 06:00:03 +02:00
## Prerequisites
2022-09-24 06:35:33 +02:00
No prerequisites in Python3.
2022-09-24 06:00:03 +02:00
2022-09-24 06:35:33 +02:00
## Other wrappers
2022-09-24 06:00:03 +02:00
There are a number of other wrappings into Python of Tox core.
This one uses CTYPES which has its merits - there is no need to
recompile anything as with Cython - change the Python file and it's done.
2022-09-25 09:21:16 +02:00
CTYPES code can be brittle, segfaulting if you've got things wrong,
2022-09-24 06:35:33 +02:00
but if your wrapping is right, it is very efficient and easy to work on.
2022-09-24 06:00:03 +02:00
Others include:
2022-09-24 06:35:33 +02:00
* <https://github.com/TokTok/py-toxcore-c> Cython bindings.
Incomplete and not really actively supported. Maybe it will get
worked on in the future, but TokTok seems to be working on
2022-09-25 09:21:16 +02:00
java, rust, scalla, go, etc. bindings instead.
No support for NGC groups or toxencryptsave.
2022-09-24 06:35:33 +02:00
* <https://github.com/oxij/PyTox>
forked from https://github.com/aitjcize/PyTox
by Wei-Ning Huang <aitjcize@gmail.com>.
2022-09-25 09:21:16 +02:00
Hardcore C wrapping which is not easy to keep up to date.
No support for NGC or toxencryptsave. Abandonned.
This was the basis for the TokTok/py-toxcore-c code until recently.