Qt for Python/Development Getting Started: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
m (CristianMaureiraFredes moved page PySide Development Getting Started to PySide2 Development Getting Started: PySide is outdated, renaming to PySide2)
No edit summary
Line 1: Line 1:
 
[[Category:PySide2]]
[[Category:PySide]]
 
= Getting Started with PySide Development =
 
If you're new to PySide Development, this page is for you! This page is intended to help you get setup and running as a new developer.


== Overview ==
== Overview ==
 
The Qt for Python (PySide2) project is supported by [https://qt.io The Qt Company] and the developers who use Qt for Python.
The PySide project is supported by the developers who use PySide. This means that anyone who shares an interest in PySide can join the community, participate in its decision making processes, and contribute to PySide development. This page will summarize the key points around how you contribute to PySide, but since PySide follows the same development process as the Qt project, it's in your best interest to read the [http://wiki.qt.io/Main_Page Qt Project Wiki]. For simplicity purposes, much of that wiki page will be summarized here so you can get started faster.
This means that anyone who shares an interest in the project can join the community, participate in its decision making processes, and contribute to its development.
This page will summarize the key points around how you can contribute to the project.
Qt for Python follows the same development process as the Qt project, it's in your best interest to read the [http://wiki.qt.io/Main_Page Qt Project Wiki].


== Reporting Bugs ==
== Reporting Bugs ==
 
Bugs should be reported to the Qt bug tracker at https://bugreports.qt.io/browse/PYSIDE Please include details on how to reproduce your problem and consider contributing a fix for it.
Bugs should be reported to the Qt bug tracker at https://bugreports.qt.io/browse/PYSIDE Please include details on how to reproduce your problem and consider contributing a fix for it. Since PySide is developer supported, bugs get fixed when developers contribute fixes for them.
 
== Getting and Building the Source ==
 
PySide is split into two packages: Shiboken and PySide. Shiboken is a code generator that is used to generate the C++ code needed by PySide to wrap Qt classes. Shiboken can also be used to wrap other C++ classes. The repositories for both Shiboken and PySide are located on gitorious.org:
 
* Shiboken: http://code.qt.io/cgit/pyside/shiboken.git/tree/
* PySide: http://code.qt.io/cgit/pyside/pyside.git/tree/
* PySide2: http://code.qt.io/cgit/pyside/pyside-setup.git/tree/
 
Instructions on building are available for [[Building_PySide_on_Linux | Linux]], [[Building_PySide_on_Windows | Windows]], and [[Building_PySide_on_Mac_OS_X | OS X]]. You'll almost certainly want to use a debug build during development.


== Contributing Patches ==
== Contributing Patches ==


This section might be partly outdated because it was written for PySide 1. See [[Qt Contribution Guidelines]].
Because PySide2 is a Qt project, all patches must be submitted through [https://codereview.qt.io Qt's Gerrit code integration system].
 
Make sure you go through [https://wiki.qt.io/Gerrit_Introduction Gerrit's introduction page] before starting contributing.
Because PySide is a Qt project, all patches must be submitted through Qt's Gerrit code integration system at https://codereview.qt.io All developers need a user account on Gerrit and to agree to the Qt Contributor Agreement. Patches submitted via the bug tracked, mailing list, or pull requests cannot be accepted.
All developers need a user account on Gerrit and to agree to the Qt Contributor Agreement. Patches submitted via the bug tracked, mailing list, or pull requests cannot be accepted.


A bug tracker (JIRA) account is needed before a Gerrit account can be created:
A bug tracker (JIRA) account is needed before a Gerrit account can be created:


* '''JIRA account'''
* '''JIRA account'''
*# Go to [https://bugreports.qt.io bugreports.qt.io] and click on '''Sign Up'''
** Go to [https://bugreports.qt.io bugreports.qt.io] and click on '''Sign Up'''
*# Fill out the details
** Fill out the details
* '''Gerrit account'''
* '''Gerrit account'''
*# Go to [https://codereview.qt-project.org codereview.qt-project.org] and click on '''Sign In'''
** Go to [https://codereview.qt-project.org codereview.qt-project.org] and click on '''Sign In'''
*# Login with the username/password you created with JIRA
** Login with the username/password you created with JIRA
*#* '''NOTE:''' Gerrit usernames are case-sensitive, but JIRA usernames are not. If you attempt to log into Gerrit with different capitalizations, you will end up with multiple accounts.
*** '''NOTE:''' Gerrit usernames are case-sensitive, but JIRA usernames are not. If you attempt to log into Gerrit with different capitalizations, you will end up with multiple accounts.
*# Enter your '''full name''' and click '''Save Changes'''
** Enter your '''full name''' and click '''Save Changes'''
*# Skip the SSH part for now and scroll all the way down and click '''"New Contributor Agreement"'''
** Skip the SSH part for now and scroll all the way down and click '''"New Contributor Agreement"'''
*## Select '''Individual''' or '''Corporate''', then scroll down and type '''I AGREE''' then '''submit'''
*** Select '''Individual''' or '''Corporate''', then scroll down and type '''I AGREE''' then '''submit'''
*## To check if your agreement was submitted, click on '''Settings''' then '''Agreements'''
*** To check if your agreement was submitted, click on '''Settings''' then '''Agreements'''


=== Configuring local directories for Gerrit ===
=== Configuring local directories for Gerrit ===
After cloning the project's repository:
git clone --recursive https://codereview.qt-project.org/pyside/pyside-setup pyside
be sure you are on the desired branch you want to contribute.
Most of the work is being done under *5.9*, but you can submit patches to 5.11 and dev
branches.


Please follow the [[Setting-up-Gerrit | Qt Setting up Gerrit]] instructions, particularly the Local Setup and Configuring Git sections. Add a gerrit remote to local project directory with:
Please follow the [[Setting-up-Gerrit | Qt Setting up Gerrit]] instructions, particularly the Local Setup and Configuring Git sections. Add a gerrit remote to local project directory with:


<code>
git remote add gerrit ssh://codereview.qt-project.org/pyside/pyside-setup 
$ git remote add gerrit ssh://codereview.qt.io/pyside/<project>
</code>
 
where <project> is either pyside or shiboken.


=== Pushing changes to Gerrit ===
=== Pushing changes to Gerrit ===
Line 58: Line 48:
After you have committed your changes locally, you can push them to Gerrit like this:
After you have committed your changes locally, you can push them to Gerrit like this:


<code>
  git push gerrit HEAD:refs/for/<branch>
  $ git push gerrit HEAD:refs/for/master
 
where '''<branch>''' is the branch you were working at the moment of doing changes in the code.

Revision as of 10:50, 26 March 2018


Overview

The Qt for Python (PySide2) project is supported by The Qt Company and the developers who use Qt for Python. This means that anyone who shares an interest in the project can join the community, participate in its decision making processes, and contribute to its development. This page will summarize the key points around how you can contribute to the project. Qt for Python follows the same development process as the Qt project, it's in your best interest to read the Qt Project Wiki.

Reporting Bugs

Bugs should be reported to the Qt bug tracker at https://bugreports.qt.io/browse/PYSIDE Please include details on how to reproduce your problem and consider contributing a fix for it.

Contributing Patches

Because PySide2 is a Qt project, all patches must be submitted through Qt's Gerrit code integration system. Make sure you go through Gerrit's introduction page before starting contributing. All developers need a user account on Gerrit and to agree to the Qt Contributor Agreement. Patches submitted via the bug tracked, mailing list, or pull requests cannot be accepted.

A bug tracker (JIRA) account is needed before a Gerrit account can be created:

  • JIRA account
  • Gerrit account
    • Go to codereview.qt-project.org and click on Sign In
    • Login with the username/password you created with JIRA
      • NOTE: Gerrit usernames are case-sensitive, but JIRA usernames are not. If you attempt to log into Gerrit with different capitalizations, you will end up with multiple accounts.
    • Enter your full name and click Save Changes
    • Skip the SSH part for now and scroll all the way down and click "New Contributor Agreement"
      • Select Individual or Corporate, then scroll down and type I AGREE then submit
      • To check if your agreement was submitted, click on Settings then Agreements

Configuring local directories for Gerrit

After cloning the project's repository:

git clone --recursive https://codereview.qt-project.org/pyside/pyside-setup pyside

be sure you are on the desired branch you want to contribute. Most of the work is being done under *5.9*, but you can submit patches to 5.11 and dev branches.

Please follow the Qt Setting up Gerrit instructions, particularly the Local Setup and Configuring Git sections. Add a gerrit remote to local project directory with:

git remote add gerrit ssh://codereview.qt-project.org/pyside/pyside-setup  

Pushing changes to Gerrit

After you have committed your changes locally, you can push them to Gerrit like this:

git push gerrit HEAD:refs/for/<branch>

where <branch> is the branch you were working at the moment of doing changes in the code.