Skip to content

#1946: spyder commandlet#1954

Open
tineff96 wants to merge 14 commits into
devonfw:mainfrom
tineff96:feature/1946-SpyderCommandlet
Open

#1946: spyder commandlet#1954
tineff96 wants to merge 14 commits into
devonfw:mainfrom
tineff96:feature/1946-SpyderCommandlet

Conversation

@tineff96
Copy link
Copy Markdown
Contributor

@tineff96 tineff96 commented May 19, 2026

This PR fixes #1946

Implemented changes:

  • Added Spyder commandlet based on PipBasedCommandlet.
  • Ensured Spyder is installed via the existing Python/pip environment instead of directly running uv pip install spyder without a virtual environment.
  • Added SpyderTest to verify the commandlet setup and installation path.
  • Added a minimal PyPI mock entry for Spyder in the existing pip test fixture.

Testing instructions

Please add concise, understandable instructions on how a reviewer can test/verify the functionality of your contribution here:

  1. Run ide install spyder.
  2. Optionally install a specific version, e.g. ide install spyder 6.1.4.
  3. Verify installation completes successfully without the uv error No virtual environment found.
  4. Verify that Spyder is installed into the IDEasy Python environment, e.g. check that the Spyder executable exists under software/python/Scripts.
  5. Optionally run ide spyder --help or start Spyder manually.

Tested locally on Windows:

  • ide mvn -pl cli test
  • Result: Tests run: 690, Failures: 0, Errors: 0, Skipped: 10
  • Manual test: install spyder completed successfully and Spyder could be started.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

Checklist for tool commandlets

Have you added a new «tool» as commandlet? There are the following additional checks:

  • The tool can be installed automatically (during setup via settings) or via the commandlet call
  • The tool is isolated in its IDEasy project, see Sandbox Principle
  • The new tool is added to the table of tools in LICENSE.asciidoc
  • The new commandlet is a command-wrapper for «tool»
  • Proper help texts for all supported languages are added here
  • The new commandlet installs potential dependencies automatically
  • The variables «TOOL»_VERSION and «TOOL»_EDITION are honored by your commandlet
  • The new commandlet is tested on all platforms it is available for or tested on all platforms that are in scope of the linked issue

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board May 19, 2026
@tineff96 tineff96 self-assigned this May 19, 2026
@tineff96 tineff96 added the commandlet ide sub-command label May 19, 2026
@tineff96 tineff96 moved this from 🆕 New to 🏗 In progress in IDEasy board May 19, 2026
@tineff96 tineff96 marked this pull request as ready for review May 19, 2026 14:43
@tineff96 tineff96 moved this from 🏗 In progress to 🆕 New in IDEasy board May 19, 2026
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 19, 2026

Coverage Report for CI Build 26504038966

Coverage decreased (-0.001%) to 71.056%

Details

  • Coverage decreased (-0.001%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 11 coverage regressions across 4 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

11 previously-covered lines in 4 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 8 90.59%
com/devonfw/tools/ide/common/Tag.java 1 98.17%
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.33%
com/devonfw/tools/ide/version/VersionSegment.java 1 88.19%

Coverage Stats

Coverage Status
Relevant Lines: 15681
Covered Lines: 11628
Line Coverage: 74.15%
Relevant Branches: 6990
Covered Branches: 4481
Branch Coverage: 64.11%
Branches in Coverage %: Yes
Coverage Strength: 3.13 hits per line

💛 - Coveralls

@tineff96 tineff96 moved this from 🆕 New to 🏗 In progress in IDEasy board May 20, 2026
@tineff96 tineff96 moved this from 🏗 In progress to Team Review in IDEasy board May 20, 2026
@laert-ll laert-ll self-requested a review May 20, 2026 12:21
@laert-ll
Copy link
Copy Markdown
Contributor

laert-ll commented May 20, 2026

I currently get the following error (tested on both Windows and Linux) when running ide install spyder:

error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment

It seems like uv needs the Python environment to be set before it runs.

I would also suggest to add some tests for the installation.

Other than that, great work!

@tineff96
Copy link
Copy Markdown
Contributor Author

I could not reproduce the reported issue so far on Windows.

I will try again tomorrow on both Windows and Linux to investigate further.

@hohwille hohwille changed the title #1946 spyder commandlet #1946: spyder commandlet May 21, 2026
@tineff96
Copy link
Copy Markdown
Contributor Author

tineff96 commented May 27, 2026

I adjusted the installation flow so that Spyder is installed via the existing Python/pip environment instead of directly running uv pip install spyder without a virtual environment. I also added a SpyderTest for the installation path.

I tested it locally on Windows:

  • ide mvn -pl cli test passes with Tests run: 690, Failures: 0, Errors: 0, Skipped: 10
  • Manual test via the current branch code: install spyder successfully installed Spyder 6.1.4
  • The Spyder executable was created under software/python/Scripts and I was able to start Spyder

Could you please re-test on your side?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commandlet ide sub-command

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

SpyderCommandlet

3 participants