Skip to content

Conversation

@tlambert03
Copy link
Member

No description provided.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @tlambert03, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request focuses on improving the project's build and development environment. It introduces a CI workflow for building wheels on multiple platforms, updates pre-commit hooks, and makes several changes to example files, primarily to align with PyQt6 API changes and improve code clarity. The patch.sh file is removed.

Highlights

  • CI Workflow: A new CI workflow (.github/workflows/ci.yml) is added to build wheels on Ubuntu, Windows, and macOS using cibuildwheel.
  • Pre-commit Hooks: The pre-commit configuration (.pre-commit-config.yaml) is updated to use newer versions of typos and ruff, and a files filter is added.
  • Example Updates: Several example files are modified to use QtAds.CDockManager.eConfigFlag and QtAds.CDockWidget.eMinimumSizeHintMode enums instead of direct attribute access, and to use currentTextChanged signal for QComboBox instead of activated[str].
  • .gitignore: The .gitignore file is updated to ignore vscode settings, perspective ini files, aqtinstall logs, and the wheelhouse directory.
  • Project Build: The project.py file is updated to use absolute paths for qmake and to correctly set the resource file.
  • Test Suite: A new test suite (tests/test_examples.py) is added to run the examples and ensure they don't crash.
  • Patch Script Removal: The patch.sh script is removed.

Changelog

Click here to see the changelog
  • .github/workflows/ci.yml
    • Added a new CI workflow to build wheels on multiple platforms.
  • .gitignore
    • Added ignore rules for vscode settings, perspective ini files, aqtinstall logs, and the wheelhouse directory.
  • .pre-commit-config.yaml
    • Updated pre-commit hooks to use newer versions of typos and ruff.
    • Added a files filter to pre-commit configuration.
  • examples/autohide/main.py
    • Replaced direct attribute access with QtAds.CDockManager.eConfigFlag and QtAds.CDockWidget.eMinimumSizeHintMode enums.
    • Used currentTextChanged signal for QComboBox instead of activated[str].
  • examples/autohidedragndrop/main.py
    • Added a DroppableItem class to handle drag and drop events.
    • Replaced direct attribute access with QtAds.CDockManager.eConfigFlag and QtAds.CDockWidget.eMinimumSizeHintMode enums.
    • Used currentTextChanged signal for QComboBox instead of activated[str].
  • examples/centralwidget/main.py
    • Replaced direct attribute access with QtAds.CDockManager.eConfigFlag and QtAds.CDockWidget.eMinimumSizeHintMode enums.
    • Used currentTextChanged signal for QComboBox instead of activated[str].
  • examples/deleteonclose/main.py
    • Replaced direct attribute access with QtAds.CDockManager.eConfigFlag.
  • examples/dockindock/main.py
    • Added pathlib import and appended the example's directory to sys.path.
  • examples/emptydockarea/main.py
    • Replaced direct attribute access with QtAds.CDockManager.eConfigFlag and QtAds.CDockWidget.eMinimumSizeHintMode enums.
    • Used currentTextChanged signal for QComboBox instead of activated[str].
  • patch.sh
    • Removed the patch.sh script.
  • project.py
    • Updated to use absolute paths for qmake.
    • Corrected resource file path setting.
  • pyproject.toml
    • Updated dependencies and build system requirements.
    • Added tool configurations for cibuildwheel and ruff.
  • tests/test_examples.py
    • Added a new test suite to run the examples and ensure they don't crash.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


The CI builds, they hum and spin,
Wheels are built, again and again.
Pre-commit hooks, they check with care,
Ensuring code is beyond compare.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request introduces CI build workflows, updates dependencies, and modernizes some Qt API usage in the examples. Overall, the changes look good and improve the project's build process and code quality. However, there are a few minor issues that could be addressed.

Summary of Findings

Merge Readiness

The pull request is almost ready to be merged. After addressing the identified issues, the code will be in good shape. I am unable to approve the pull request, and users should have others review and approve this code before merging.

@tlambert03 tlambert03 merged commit 8438c37 into main Mar 1, 2025
4 checks passed
@tlambert03 tlambert03 deleted the cibw branch March 2, 2025 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant