[[Image(https://xpra.org/icons/packages.png)]] = Dependencies = [[BR]] {{{#!div class="box" = Common Dependencies = Most of these dependencies should be installed automatically when you install [/wiki/Packaging packages]. Unless otherwise stated, the dependencies are all optional. ||= Project =||= Source Download Link =||= Purpose =||= Client or Server =||= Notes =|| ||[http://www.gtk.org/ gtk]||[http://ftp.gnome.org/pub/gnome/sources/gtk+/]||UI Toolkit||both||Required. Server only supports version 2.x, version 3.x not fully supported by the client (#640)|| ||[http://www.numpy.org/ numpy]||[https://pypi.org/project/numpy/#files]||Python Buffers||both||Recommended || ||[http://pyopengl.sourceforge.net/ pyopengl]||[https://pypi.python.org/pypi/PyOpenGL] and [[BR]] [https://pypi.python.org/pypi/PyOpenGL-accelerate]||[/wiki/ClientRendering/OpenGL OpenGL accelerated rendering]||client|| || ||[https://github.com/zdohnal/pycups pycups]||[https://pypi.org/project/pycups/]||[/wiki/Printing]||both|| || |||||||||||| - || ||||||||||||[/wiki/Network Network]: || ||[https://github.com/aresch/rencode rencode]||[https://pypi.python.org/pypi/rencode/]||[/wiki/PacketEncoding#BencodevsRencode PacketEncoding : rencode vs bencode]||both ||Recommended || ||[http://pyyaml.org/ pyyaml]||[https://pypi.python.org/pypi/PyYAML/]||packet encoder||both ||optional (usually unused)|| ||[https://pypi.python.org/pypi/lz4 python-lz4]||[https://github.com/python-lz4/python-lz4]||[/wiki/PacketEncoding lz4 packet compression]||both||Recommended, win32 build, see [/attachment/ticket/878/lz4-msvc-fix.patch] || ||[http://www.oberhumer.com/opensource/lzo/ python-lzo]||[http://www.oberhumer.com/opensource/lzo/download/]||[/wiki/PacketEncoding lzo packet compression]||both||optional (usually unused as lz4 is better) - win32 build, see #1044|| ||[https://cryptography.io/en/latest/ python-cryptography]||[https://pypi.python.org/pypi/cryptography]||Encryption||both||win32 build, see ticket:876#comment:5|| ||[https://github.com/jstasiak/python-zeroconf python-zeroconf]||[https://pypi.org/project/zeroconf/]||? ||0.19.1 is the last version supported with python2|| ||[http://alastairs-place.net/projects/netifaces/ python-netifaces]||[https://pypi.python.org/pypi/netifaces]||[https://en.wikipedia.org/wiki/Multicast_DNS Multicast DNS] session publishing||server|| || ||[https://pypi.python.org/pypi/dbus-python/ dbus-python]||[https://dbus.freedesktop.org/releases/dbus-python/]||desktop integration, server control interface ||both||not applicable to MS Windows or Mac OSX|| ||[https://github.com/liris/websocket-client websocket-client]||[https://pypi.python.org/pypi/websocket-client/]||websocket client connections||client|| || ||[https://github.com/novnc/websockify websockify]||[https://pypi.python.org/pypi/websockify/]||websocket server connections||server|| || ||[https://www.openssl.org/ openssl]||[https://www.openssl.org/source/]||SSL||both|| || ||[https://pypi.org/project/paramiko/ paramiko]||[https://pypi.org/project/paramiko/]||ssh integration||both|| || |||||||||||| - || ||||||||||||[/wiki/Authentication Authentication]: || ||[https://github.com/sigmaris/python-gssapi python-gssapi]||[https://pypi.org/project/python-gssapi]||GSSAPI [/wiki/Authentication Authentication]||server|| #1691|| ||[https://github.com/apple/ccs-pykerberos python-kerberos]||[https://pypi.org/project/kerberos/]||Kerberos [/wiki/Authentication Authentication]||server|| #1691|| ||[https://www.python-ldap.org python-ldap]||[https://pypi.org/project/python-ldap/]||LDAP [/wiki/Authentication Authentication]||server|| #1691|| ||[https://github.com/cannatag/ldap3 python-ldap3]||[https://pypi.org/project/ldap3/]||LDAP v3 [/wiki/Authentication Authentication]||server|| #1691|| ||[https://github.com/google/pyu2f pyu2f]||[https://pypi.org/project/pyu2f/]||U2F [/wiki/Authentication Authentication]||server|| #1789|| |||||||||||| - || ||||||||||||Python module dependencies: || ||[https://github.com/phihag/ipaddress python-ipaddress]||[https://pypi.org/project/ipaddress/]||unspecified: r11859|| || ||[https://github.com/kjd/idna python-idna]||[https://pypi.org/project/idna/]||unspecified: r11860|| || ||[https://github.com/micheles/decorator python-decorator]||[https://pypi.org/project/decorator/]||required by gssapi: r18781 || || ||[https://github.com/pytest-dev/pytest-runner pytest-runner]||[https://pypi.org/project/pytest-runner/]||required by python-lz4: r17864 || || ||[http://deprecation.readthedocs.io/ python-deprecation]||[https://pypi.org/project/deprecation/]||required by python-lz4: r17749|| || ||[https://github.com/matze/pkgconfig python-pkgconfig]||[https://pypi.org/project/pkgconfig/]||required by python-lz4: r17748 || || ||[https://github.com/pypa/setuptools_scm/ python-setuptools-scm]||[https://pypi.org/project/setuptools-scm/]||required by python-lz4: r15282|| || ||[https://nose.readthedocs.io/en/latest/]||[https://pypi.org/project/nose/]||required by python-lz4: r8676 || || ||[https://github.com/etingof/pyasn1 pyasn1]||[https://pypi.org/project/pyasn1/]||unspecified: r5829|| || ||[https://github.com/wbond/asn1crypto asn1crypto]||[https://pypi.org/project/asn1crypto/]||required by python-cryptography: r17856 || || ||[https://github.com/pypa/packaging python-packaging]||[https://pypi.org/project/packaging/]||required by python-cryptography: r15310|| || ||[https://github.com/pyparsing/pyparsing/ pyparsing]||[https://pypi.org/project/pyparsing/]||required by python-cryptography: r15310|| || ||[https://cffi.readthedocs.io/en/latest/ cffi]||[https://pypi.org/project/cffi/]||required by python-cryptography: r11633 || || ||[https://github.com/benjaminp/six six]||[https://pypi.org/project/six/]||required by python-cryptography: r11640|| || ||[https://github.com/jstasiak/enum-compat enum-compat]||[https://pypi.org/project/enum-compat/]||required by zeroconf: r20441|| || ||[https://bitbucket.org/stoneleaf/enum34 enum34]||[https://pypi.org/project/enum34/]||required by enum-compat: r15397|| || ||[https://github.com/pypa/setuptools setuptools]||[https://pypi.org/project/setuptools/]||unspecified: r5829|| || ||[https://github.com/eliben/pycparser pycparser]||[https://pypi.org/project/pycparser/]||? ||required by another python module?|| ||[https://github.com/pyca/pynacl/ pynacl]||[https://pypi.org/project/PyNaCl/]||crypto library used by paramiko||both|| || ||[https://github.com/pyca/bcrypt/ bcrypt]||[https://pypi.org/project/bcrypt/]||crypto library used by paramiko||both|| || ||||||||||||[/wiki/Encodings Picture encoding dependencies]: || ||[http://www.videolan.org/developers/x264.html x264]||[ftp://ftp.videolan.org/pub/x264/snapshots/]||h264 encoding||server||win32 build, see ticket:270#comment:2|| ||[http://www.ffmpeg.org/ ffmpeg]||[http://ffmpeg.org/releases/]||h264, h265, vp8 and vp9 decoding||client|| || ||[http://www.webmproject.org/tools/ vpx]||[http://downloads.webmproject.org/releases/webm/index.html]||vp8 and vp9 codec||both|| || ||[https://code.google.com/p/webp/ webp]||[http://downloads.webmproject.org/releases/webp/index.html]||webp codec||both||Versions <1.0 only|| ||[http://www.libpng.org/pub/png/libpng.html libpng]||[ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/]||png encoding||both|| || ||[https://github.com/libjpeg-turbo/libjpeg-turbo libjpeg-turbo]||[https://sourceforge.net/projects/libjpeg-turbo/files/]||jpeg encoding||both|| || ||[https://python-pillow.github.io/ python-pillow]||[https://pypi.python.org/pypi/Pillow]||png,jpeg,webp encoding and decoding, format conversion||both||Required || ||[http://opencv.org/ opencv]||[http://opencv.org/downloads.html]||[/wiki/Webcam webcam capture]||client|| || ||[https://chromium.googlesource.com/libyuv/libyuv/ libyuv]||[https://chromium.googlesource.com/libyuv/libyuv/]||[/wiki/CSC] ||both|| || ||[https://mathema.tician.de/software/pycuda/ pycuda]||[https://pypi.python.org/pypi/pycuda]||[/wiki/Encodings/nvenc nvenc encoding]||server|| || ||[http://www.nvidia.com/object/cuda_home_new.html cuda]||[https://developer.nvidia.com/cuda-toolkit]||[/wiki/Encodings/nvenc nvenc encoding]||server|| || ||[http://pythonhosted.org/nvidia-ml-py/ pyNVML]||[https://pypi.python.org/pypi/nvidia-ml-py/ nvidia-ml-py]||[/wiki/Encodings/nvenc nvenc encoding]||server|| || ||||||||||||[/wiki/Sound Sound dependencies]: || ||[http://xiph.org/ogg/ Ogg]||[http://downloads.xiph.org/releases/ogg/]||ogg container format||both|| || ||[https://www.opus-codec.org/ opus]||[http://downloads.xiph.org/releases/opus/]||Sound codec||both|| || ||[https://xiph.org/flac/ Flac]||[http://downloads.xiph.org/releases/flac/]||flac codec||both|| || ||[http://www.speex.org/ Speex]||[http://downloads.xiph.org/releases/speex/]||speex codec||both|| || ||[http://www.vorbis.com/ Vorbis]||[http://downloads.xiph.org/releases/vorbis/]||vorbis codec||both|| || ||[http://www.wavpack.com/ wavpack]||[http://www.wavpack.com/downloads.html]||wavpack codec||both|| || ||[http://lame.sourceforge.net/ lame]||[http://sourceforge.net/projects/lame/files/lame/]||MP3 codec||both|| || ||[http://www.twolame.org/ TwoLame]||[http://sourceforge.net/projects/twolame/files/twolame/]||MP3 encoding||both|| || ||[http://sourceforge.net/projects/mad/ Mad]||[http://sourceforge.net/projects/mad/files/libmad/]||MP3 decoding||both|| || ||[http://gstreamer.freedesktop.org/ gstreamer]||[http://gstreamer.freedesktop.org/src/]||sound support||both|| || ||[/wiki/Building Build dependencies]:|| ||[http://cython.org/ cython]||[https://pypi.python.org/pypi/Cython/]||Cython compiler|| ||[http://yasm.tortall.net/ yasm]||[http://www.tortall.net/projects/yasm/releases/]||Assembler optimizations|| ||[http://www.nasm.us/ nasm]||[http://www.nasm.us/pub/nasm/releasebuilds/]||Assembler optimizations|| ||ORC||[http://gstreamer.freedesktop.org/src/orc/]||Sound codecs|| ||[https://gmplib.org/ gmplib]||[https://gmplib.org/download/gmp/]||Sound codecs|| }}} {{{#!div class="box" [[Image(https://xpra.org/icons/win32.png)]] = MS Windows = The dependencies specific to MS Windows are only required when building from [/wiki/Source source]. The original reference documentation comes from winswitch: [http://winswitch.org/dev/win32.html]. ||= Project =||= Source Download Link =||= Purpose =|| ||[http://pythonhosted.org/comtypes/ comtypes]||[https://pypi.python.org/pypi/comtypes]||COM bindings for webcam code|| ||[http://www.chiark.greenend.org.uk/~sgtatham/putty/ putty]||[http://tortoisesvn.net/downloads.html]||SSH transport (fallback)|| ||[http://cx-freeze.sourceforge.net/ cx-freeze]||[https://pypi.python.org/pypi/cx_Freeze]||create standalone executables|| ||[http://www.jrsoftware.org/isinfo.php InnoSetup]||[http://www.jrsoftware.org/isdl.php]||create installer package|| About putty: we use the [http://tortoisesvn.net tortoisesvn] build which includes a GUI for validating hosts signatures and asking for usernames + passwords. On other platforms, we use openssh or paramiko (see #1646). }}} {{{#!div class="box" [[Image(https://xpra.org/icons/osx.png)]] = Mac OS X = The dependencies specific to Mac OS X are only required when building from [/wiki/Source source]. Most of these dependencies are build tools and libraries which are not available by default from Apple's developer tools. ||= Project =||= Source Download Link =|| ||[https://github.com/jralls/gtk-mac-bundler gtk-mac-bundler]||[http://ftp.gnome.org/pub/gnome/sources/gtk-mac-bundler/]|| ||[https://bitbucket.org/ronaldoussoren/py2app py2app]||[https://pypi.org/project/py2app/]|| ||||[http://pythonhosted.org/pyobjc/ pyobjc]:|| || ||[https://pypi.org/project/pyobjc-core/]|| || ||[https://pypi.org/project/pyobjc-framework-Cocoa/]|| || ||[https://pypi.org/project/pyobjc-framework-Quartz/]|| || ||[https://pypi.org/project/pyobjc-framework-AVFoundation/]|| || ||[https://pypi.org/project/pyobjc-framework-SystemConfiguration/]|| ||[https://bitbucket.org/ronaldoussoren/modulegraph modulegraph]||[https://pypi.org/project/modulegraph/]|| ||[https://bitbucket.org/ronaldoussoren/macholib macholib]||[https://pypi.org/project/macholib/]|| }}}