Mercurial > pub > dyncall > bindings
diff python/pydc/README.txt @ 28:edbbd467f50a
python binding:
- update to dyncall 1.1
- Python 3 support (supports both, Python 2 and 3)
- using the Capsule API over PyCObject, when available
- support for python unicode strings (for both, Python 2 and 3)
- doc cleanup
ruby binding:
- doc cleanup
author | Tassilo Philipp |
---|---|
date | Tue, 07 Apr 2020 21:16:37 +0200 |
parents | 681db37a300c |
children | 6cc2b7fc7ea2 |
line wrap: on
line diff
--- a/python/pydc/README.txt Sun Jan 12 12:10:38 2020 +0100 +++ b/python/pydc/README.txt Tue Apr 07 21:16:37 2020 +0200 @@ -1,8 +1,12 @@ dyncall python bindings -(C) 2007-2016 Daniel Adler -Dec 4, 2007: initial -Mar 22,2016: update to dyncall 0.9, includes breaking sig char changes -Apr 19,2018: update to dyncall 1.0 +Copyright 2007-2016 Daniel Adler + 2018-2020 Tassilo Philipp + +Dec 4, 2007: initial +Mar 22, 2016: update to dyncall 0.9, includes breaking sig char changes +Apr 19, 2018: update to dyncall 1.0 +Apr 7, 2020: update to dyncall 1.1, Python 3 support, using the Capsule + API, as well as support for python unicode strings BUILD/INSTALLATION @@ -15,7 +19,7 @@ python setup.py install -Building an egg isn't supported, currently. +Building a wheel package isn't supported, currently. API @@ -35,31 +39,32 @@ x is positional parameter-type charcode, y is result-type charcode - SIG | FROM PYTHON | C/C++ | TO PYTHON - ----+------------------------------------+--------------------+----------------------------------- - 'v' | | void | - 'B' | PyBool | bool | PyBool - 'c' | PyInt (range checked) | char | PyInt - 'C' | PyInt (range checked) | unsigned char | PyInt - 's' | PyInt (range checked) | short | PyInt - 'S' | PyInt (range checked) | unsigned short | PyInt - 'i' | PyInt | int | PyInt - 'I' | PyInt | unsigned int | PyInt - 'j' | PyLong | long | PyLong - 'J' | PyLong | unsigned long | PyLong - 'l' | PyLongLong | long long | PyLongLong - 'L' | PyLongLong | unsigned long long | PyLongLong - 'f' | PyFloat (cast to single precision) | float | PyFloat (cast to double precision) - 'd' | PyFloat | double | PyFloat - 'p' | PyCObject | void* | PyCObject encapsulating a void* - 'Z' | PyString | const char* | PyString + SIG | FROM PYTHON 2 | FROM PYTHON 3 @@@ | C/C++ | TO PYTHON 2 | TO PYTHON 3 @@@ + ----+------------------------------------+------------------------------------+---------------------------------+------------------------------------+----------------------------------- + 'v' | | | void | | + 'B' | PyBool | PyBool | bool | PyBool | PyBool + 'c' | PyInt (range checked) | PyInt (range checked) | char | PyInt | PyInt + 'C' | PyInt (range checked) | PyInt (range checked) | unsigned char | PyInt | PyInt + 's' | PyInt (range checked) | PyInt (range checked) | short | PyInt | PyInt + 'S' | PyInt (range checked) | PyInt (range checked) | unsigned short | PyInt | PyInt + 'i' | PyInt | PyInt | int | PyInt | PyInt + 'I' | PyInt | PyInt | unsigned int | PyInt | PyInt + 'j' | PyLong | PyLong | long | PyLong | PyLong + 'J' | PyLong | PyLong | unsigned long | PyLong | PyLong + 'l' | PyLongLong | PyLongLong | long long | PyLongLong | PyLongLong + 'L' | PyLongLong | PyLongLong | unsigned long long | PyLongLong | PyLongLong + 'f' | PyFloat (cast to single precision) | PyFloat (cast to single precision) | float | PyFloat (cast to double precision) | PyFloat (cast to double precision) + 'd' | PyFloat | PyFloat | double | PyFloat | PyFloat + 'p' | PyUnicode/PyString/PyLong | PyUnicode/PyBytes/PyLong | void* | Py_ssize_t | Py_ssize_t + 'Z' | PyUnicode/PyString | PyUnicode/PyBytes | const char* (UTF-8 for unicode) | PyString | PyUnicode TODO ==== -- support signature suffixes used to indicate calling conventions, are not supported yet! -- not sure if returning 'p' is working, creating PyCObject, check and write test code +- signature suffixes used to indicate calling conventions are not supported yet! +- not sure if returning 'p' is working, creating PyCObject, check and write test code @@@ +- callback support BUGS @@ -70,9 +75,11 @@ solution: installation of latest python for os x (MacPython 2.5) - build log: - python setup.py install +EXAMPLE BUILD +============= + + $ python setup.py install running install running build running build_py