{"id":47409998,"url":"https://github.com/pyside/pyside-setup","last_synced_at":"2026-04-01T19:01:18.408Z","repository":{"id":139424880,"uuid":"408357652","full_name":"pyside/pyside-setup","owner":"pyside","description":"Git super project for PySide","archived":false,"fork":false,"pushed_at":"2026-03-26T22:53:20.000Z","size":59545,"stargazers_count":119,"open_issues_count":0,"forks_count":25,"subscribers_count":9,"default_branch":"dev","last_synced_at":"2026-03-27T05:47:33.004Z","etag":null,"topics":["hacktoberfest","pyside","python","qt","qtforpython"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyside.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSES/Apache-2.0.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-09-20T08:02:34.000Z","updated_at":"2026-03-26T17:33:13.000Z","dependencies_parsed_at":"2026-01-07T15:07:21.428Z","dependency_job_id":null,"html_url":"https://github.com/pyside/pyside-setup","commit_stats":null,"previous_names":[],"tags_count":183,"template":false,"template_full_name":null,"purl":"pkg:github/pyside/pyside-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyside%2Fpyside-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyside%2Fpyside-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyside%2Fpyside-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyside%2Fpyside-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyside","download_url":"https://codeload.github.com/pyside/pyside-setup/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyside%2Fpyside-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","pyside","python","qt","qtforpython"],"created_at":"2026-03-20T23:00:34.863Z","updated_at":"2026-04-01T19:01:18.387Z","avatar_url":"https://github.com/pyside.png","language":"C++","funding_links":[],"categories":["GUI Development"],"sub_categories":[],"readme":"# Qt For Python\n\nQt For Python is the [Python Qt bindings project](https://wiki.qt.io/PySide6),\nproviding access to the complete Qt framework as well as to generator tools for\nrapidly generating bindings for any C++ libraries.\n\nShiboken is the generator used to build the bindings.\n\nSee README.pyside6.md and README.shiboken6.md for details.\n\n## Building\n\nTo build both Shiboken and PySide simply execute:\n\n * `python setup.py build`, or\n * `python setup.py install`\n\nto build and install into your current Python installation.\n\nThe same setup.py script is used to build all the components of the project:\n\n * shiboken6 (the supporting Python module)\n * shiboken6-generator (the bindings generation executable)\n * PySide6\n\nPreferably, a Qt (build) environment should be used to automatically pick up\nthe associated `qtpaths6`, but optionally one can specify the location of `qtpaths6`\nand `cmake` if it is not in the current PATH with:\n\n * `--qtpaths=/path/to/qt/bin/qtpaths6`, and\n * `--cmake=/path/to/bin/cmake`\n\nrespectively.\n\nBy default, all of the above is built when no special options are passed to the\nscript. You can use the `--build-type` parameter to specify which things should\nbe built:\n\n * `--build-type=shiboken6`, build/package only the python module\n * `--build-type=shiboken6-generator`, build/package the generator executable\n * `--build-type=pyside6`, build/package the PySide6 bindings.\n * `--build-type=all`, the implicit default to build all of the above\n\nWhen building PySide6, optionally, one can specify the location of the\nshiboken6 cmake config path if it is not on the current PATH with:\n\n * `--shiboken-config-dir=/path/to/shiboken/cmake/config/dir`\n\nThis is useful if you did a cmake installation of shiboken6 into a custom\nlocation.\n\nFor Windows, if OpenSSL support is required, it's necessary to specify the\ndirectory path that contains the OpenSSL shared libraries `libeay32.dll` and\n`ssleay32.dll`, for example:\n\n* `--openssl=C:\\OpenSSL-Win64\\bin`\n\nThis will make sure that the libraries are copied into the PySide6 package and\nare found by the QtNetwork module.\n\n## Building Additional Options\n\nOn Linux and macOS you can use the option `--standalone` to embed Qt libraries\ninto the PySide6 package. The option does not affect Windows, because it is\nused implicitly, i.e. all relevant DLLs have to be copied into the PySide6\npackage anyway, because there is no proper rpath support on the platform.\n\nYou can use the option `--rpath=/path/to/lib/path` to specify which rpath\nvalues should be embedded into the PySide6 modules and shared libraries. This\noverrides the automatically generated values when the option is not specified.\n\nYou can use the option `--qt-conf-prefix` to pass a path relative to the\nPySide6 installed package, which will be embedded into an auto-generated\n`qt.conf` registered in the Qt resource system. This path will serve as the\nPrefixPath for QLibraryInfo, thus allowing to choose where Qt plugins should be\nloaded from. This option overrides the usual prefix chosen by `--standalone`\noption, or when building on Windows.\n\nTo temporarily disable registration of the internal `qt.conf` file, a new\nenvironment variable called PYSIDE_DISABLE_INTERNAL_QT_CONF is introduced.\n\nYou should assign the integer \"1\" to disable the internal `qt.conf`, or \"0\" (or\nleave empty) to keep using the internal `qt.conf` file.\n\n## Development Options\n\nFor development purposes the following options might be of use, when\nusing `setup.py build`:\n\n * `--ignore-git`, will skip the fetching and checkout steps for supermodule\n   and all submodules.\n * `--limited-api=yes|no`, default yes if applicable. Set or clear the limited\n   API flag.\n * `--module-subset`, allows for specifying the Qt modules to be built.\n   A minimal set is: `--module-subset=Core,Gui,Test,Widgets`.\n * `--package-timestamp`, allows specifying the timestamp that will be used as\n   part of the version number for a snapshot package.\n   For example given `--package-timestamp=1529646276` the package version will\n   be `5.x.y.dev1529646276`.\n * `--reuse-build`, option allows recompiling only the modified sources and not\n   the whole world, shortening development iteration time.\n * `--sanitize-address`, will build the project with address sanitizer.\n * `--skip-cmake`, will reuse the already generated Makefiles (or equivalents),\n   instead of invoking, CMake to update the Makefiles (note, CMake should be\n   ran at least once to generate the files).\n * `--skip-docs`, skip the documentation generation.\n * `--skip-make-install`, will not run make install (or equivalent) for each\n   module built.\n * `--skip-modules`, allows for specifying the Qt modules that will be skipped\n   during the build process.\n   For example: `--skip-modules=WebEngineCore,WebEngineWidgets`\n * `--skip-packaging`, will skip creation of the python package, enabled (Linux\n   or macOS only).\n * `--verbose-build`, will output the compiler invocation with command line\n   arguments, etc.\n * `--disable-pyi`, will suppress the generation of .pyi files. This allows\n   debugging when the project builds but the pyi generator complains.\n\n## Requirements\n\n * Python 3.10+ is supported (for Qt 6.11+)\n * CMake: Specify the path to cmake with `--cmake` option or add cmake to the\n   system path.\n * Qt 6.x is supported. Specify the path to qtpaths with `--qtpaths` option or\n   add `qtpaths6` to the system path.\n\n### Optional\n\n#### OpenSSL:\n\nSpecifying the `--openssl` option only affects Windows. It is a no-op for other\nplatforms.\n\nPlease note that official Windows packages do not ship the OpenSSL libraries\ndue to import/export restrictions as described in\nhttps://doc.qt.io/qt-6/ssl.html#import-and-export-restrictions\n\nYou can specify the location of the OpenSSL DLLs with the following option:\n`--openssl=\u003c/path/to/openssl/bin-directory\u003e`.\n\nYou can download\n[OpenSSL for Windows here](http://slproweb.com/products/Win32OpenSSL.html)\n\nOfficial Qt packages do not link to the SSL library directly, but rather try to\nfind the library at runtime.\n\nOn Windows, official Qt builds will try to pick up OpenSSL libraries at\napplication path, system registry, or in the PATH environment variable.\n\nOn macOS, official Qt builds use SecureTransport (provided by OS) instead of\nOpenSSL.\n\nOn Linux, official Qt builds will try to pick up the system OpenSSL library.\n\n\u003e **Note**: this means that Qt packages that directly link to the OpenSSL\n\u003e shared libraries, are not currently compatible with standalone PySide6\n\u003e packages.\n\n#### macOS SDK:\n\nYou can specify which macOS SDK should be used for compilation with the option\n`--macos-sysroot=\u003c/path/to/sdk\u003e`, for example:\n```\n--macos-sysroot=/Applications/Xcode.app/.../Developer/SDKs/MacOSX10.12.sdk/\n```\n\n#### macOS minimum deployment target:\n\nYou can specify a custom macOS minimum deployment target with the option\n`--macos-deployment-target=\u003cvalue\u003e`, for example:\n```\n--macos-deployment-target=10.10\n```\n\nIf the option is not set, the minimum deployment target of the used Qt library\nwill be used instead. Thus it is not necessary to use the option without a good\nreason.\n\nIf a new value is specified, it has to be higher or equal to both Python's and\nQt's minimum deployment targets.\n\nDescription: macOS allows specifying a minimum OS version on which a binary\nwill be able to run. This implies that an application can be built on a machine\nwith the latest macOS version installed, with latest Xcode version and SDK\nversion and the built application can still run on an older OS version.\n\n\n## CMake super project\n\nFor development convenience, a CMake super project is included in the root of\nthe repository.\n\nThe super project can be built using standalone CMake, or using an IDE's CMake\nintegration (Qt Creator for example).\n\nNevertheless the default build process is done via setup.py, in which case each\nof the sub-projects are built and installed separately, as mentioned, the super\nproject is just for development convenience.\n\n## IDE (Qt Creator) case\n\nWhen using an IDE, just open the root CMakeLists.txt file as a new project, and\nmake sure to specify the following things:\n\n * `LLVM_INSTALL_DIR`, the environment variable should point to your libclang\n   library location\n * `Qt`, either select a Qt Kit when configuring the project, or make sure that\n   the `qtpaths6` binary is present in the PATH environment variable.\n * `Python`, the PATH environment variable should also point to the Python\n   interpreter which you wish to use for building the projects (can either be\n   a system interpreter, or a virtualenv one for example)\n\nOnce that is done, just re-run CMake, so that it picks up the new environment\nvalues. If needed, all other cache variables defined by the project files can\nbe re-adjusted (for example FORCE_LIMITED_API).\n\n## Command line CMake case\n\nWhen building using the command line CMake binary, make sure to invoke it in\na separate build directory, and not in the root source directory.\n\nMake sure you have the correct environment variables set up, as described in\nthe previous section.\n\nThe invocation would then look like:\n```bash\nmkdir build \u0026\u0026 cd build\ncmake -DCMAKE_BUILD_TYPE=Release ..\n# make or nmake or msbuild or jom\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyside%2Fpyside-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyside%2Fpyside-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyside%2Fpyside-setup/lists"}