Skip to content

Conversation

@cesarcoatl
Copy link
Member

@cesarcoatl cesarcoatl commented Dec 8, 2025

reorder types on some type comments

Summary by Sourcery

Remove legacy enum34 and types-enum34 dependencies and adjust related type annotations for consistency.

Bug Fixes:

  • Align type comment and stub Union argument orders to avoid dependency on enum34 types.

Enhancements:

  • Remove types-enum34 from java-api-stubs dependencies and requirements.

Build:

  • Drop enum34 from java-api runtime dependencies and requirements.

reorder types on some type comments
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Dec 8, 2025

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Removes legacy enum34/types-enum34 dependencies and aligns type annotations so that runtime and stub signatures match, primarily by reordering Union arguments to put str/unicode first and non-string types last.

Class diagram for updated method Union argument ordering

classDiagram
  class Matcher {
    +replaceAll(arg: Union[str, unicode, Function]) Union[str, unicode]
    +replaceFirst(arg: Union[str, unicode, Function]) Union[str, unicode]
  }

  class Path {
    +endsWith(other: Union[str, unicode, Object, Path]) bool
  }

  class Currency {
    +getInstance(arg: Union[str, unicode, Locale]) Currency
  }

  class Function
  class Object
  class Locale

  Matcher --> Function
  Path --> Object
  Path --> Path
  Currency --> Locale
Loading

File-Level Changes

Change Details Files
Drop legacy enum34/types-enum34 dependencies from the java-api and java-api-stubs packages.
  • Remove enum34 from java-api runtime dependencies in setup.cfg.
  • Remove enum34 from java-api pinned dependencies in requirements.txt.
  • Remove types-enum34 from java-api-stubs dependencies in pyproject.toml.
  • Remove types-enum34 from java-api-stubs pinned dependencies in requirements.txt.
java-api/setup.cfg
java-api/requirements.txt
java-api-stubs/pyproject.toml
java-api-stubs/requirements.txt
Normalize Union type argument ordering for several Java API wrapper methods so that strings come first and stubs match the implementation.
  • Reorder Union arguments for Matcher.replaceAll/replaceFirst in stubs to Union[str, unicode, Function] and mirror the same order in the runtime type comments.
  • Reorder Union arguments for Path.endsWith so that str/unicode precede Object/Path in both stubs and runtime type comments.
  • Reorder Union arguments for Currency.getInstance so that str/unicode precede Locale in both stubs and runtime type comments.
java-api-stubs/stubs/java/util/regex/__init__.pyi
java-api/src/java/util/regex/__init__.py
java-api-stubs/stubs/java/nio/file/__init__.pyi
java-api/src/java/nio/file/__init__.py
java-api-stubs/stubs/java/util/__init__.pyi
java-api/src/java/util/__init__.py

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes - here's some feedback:

  • Given that python_requires is still pinned to ==2.7.18, double‑check that nothing in java-api relies on the enum backport from enum34 (e.g., from enum import Enum usages) since Python 2’s stdlib doesn’t provide enum and this removal could cause runtime import errors.
  • After dropping types-enum34, scan the java-api-stubs package for any remaining references to enum34 or its types to avoid mypy or type-checking failures due to missing stubs.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Given that `python_requires` is still pinned to `==2.7.18`, double‑check that nothing in `java-api` relies on the `enum` backport from `enum34` (e.g., `from enum import Enum` usages) since Python 2’s stdlib doesn’t provide `enum` and this removal could cause runtime import errors.
- After dropping `types-enum34`, scan the `java-api-stubs` package for any remaining references to `enum34` or its types to avoid mypy or type-checking failures due to missing stubs.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@cesarcoatl cesarcoatl merged commit 4edda7d into 17 Dec 8, 2025
5 checks passed
@cesarcoatl cesarcoatl deleted the build/deps/remove-enum34 branch December 8, 2025 19:35
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.

2 participants