Skip to content

Remove setuptools dependency after eutils removal #726

@bencap

Description

@bencap

Summary

Remove setuptools as an explicit runtime dependency. It was added to support the eutils package's use of pkg_resources, which is no longer needed once eutils is removed in the migration to BioPython.

Problem

setuptools was added to pyproject.toml as a main (non-optional) dependency to provide pkg_resources functionality required by the eutils package. The eutils package itself is being deprecated and removed in favor of BioPython. Once that migration is complete, setuptools will no longer be needed.

Keeping unnecessary dependencies increases the attack surface, complicates dependency resolution, and increases installation size. This dependency should be removed as part of the eutils removal work.

Proposed behavior

After the eutils to BioPython migration is complete and merged:

  1. Remove the setuptools = "~81.0.0" line from the main dependencies in pyproject.toml
  2. Restore setuptools to the build-system requires if it is needed there for the build process (or leave it out if poetry-core is sufficient)
  3. Run poetry lock to update poetry.lock
  4. Verify all tests pass without setuptools as a runtime dependency

Acceptance criteria

  • setuptools has been removed from the main dependencies in pyproject.toml
  • poetry.lock has been updated
  • All tests pass with the updated dependency set
  • The application runs without setuptools being present at runtime
  • No references to pkg_resources remain in the codebase after eutils removal

Implementation notes

  • This is a follow-up task to the eutils deprecation and removal work
  • Ensure this issue is not closed until the eutils removal is merged and confirmed to not use pkg_resources anywhere else
  • If setuptools is needed for the build process, it may remain in the build-system requires section, but it should not be a runtime dependency
  • This should be a low-risk change once eutils is gone

Metadata

Metadata

Assignees

No one assigned

    Labels

    app: backendTask implementation touches the backendtype: maintenanceMaintaining this project

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions