Skip to content

Unused dependencies (typechecks, coveralls), simplejson PR #10 needs rebase, redundant setup.py #15

Open

Description

@iskandr

Several packaging leftovers remain after the move to pyproject.toml.

  • typechecks>=0.0.2 (pyproject.toml:28) is never imported. git log -S typechecks -- serializable/ tests/ finds no import in any commit. Every install pulls it in for nothing.
  • simplejson>=3.0.0 (pyproject.toml:29) is still imported at serializable/helpers.py:20. PR remove usage of external simplejson #10 replaces it with the stdlib json, but GitHub marks that PR as conflicting: it edits requirements.txt and setup.py's install_requires, and neither exists anymore. The stdlib module works as a drop-in here because to_json/from_json only pass dicts, lists, and primitives to dumps. With serializable.helpers.json patched to stdlib json, all 42 tests pass. The fix is to rebase remove usage of external simplejson #10 onto pyproject.toml or redo it.
  • coveralls in the dev extras (pyproject.toml:37) is unused. The workflow uploads coverage with coverallsapp/github-action (.github/workflows/tests.yml:64), and nothing runs the coveralls CLI.
  • setup.py only calls setup(), and its comment says metadata lives in pyproject.toml. Deleting it requires raising build-system.requires from setuptools>=61.0 to >=64 so pip install -e (used by develop.sh and CI) still works without it.

Proposed fix: drop typechecks and coveralls, land the simplejson removal, and delete setup.py along with the setuptools bump.

Activity

  1. iskandr commented on Oct 7, 2026

    @iskandr
    CollaboratorAuthor

    Progress:

  2. iskandr commented on Oct 7, 2026

    @iskandr
    CollaboratorAuthor

    Issues filed to replace typechecks with isinstance checks and type annotations: openvax/varcode#580, openvax/mhctools#535, openvax/topiary#488, openvax/pyensembl#456 and openvax/varlens#34. The retirement plan is tracked in openvax/typechecks#5. serializable can drop the dependency once varcode, mhctools and topiary have released versions that no longer import it.

  3. iskandr commented on Oct 28, 2026

    @iskandr
    CollaboratorAuthor

    Topiary no longer blocks this cleanup: openvax/topiary#533 closed openvax/topiary#488 and shipped in Topiary 5.100.3. Its published runtime no longer imports typechecks; check_padding_around_mutation now performs the equivalent public-boundary validation directly and rejects falsy non-integers that previously bypassed the check.

    The Varcode and MHCtools replacement issues (openvax/varcode#580 and openvax/mhctools#535) are also closed. I am leaving this issue open because openvax/varlens#34 remains open; before removing typechecks here, the minimum supported released dependency set should be verified end-to-end so a fresh install cannot lose the transitive module while a downstream package still imports it.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions