Skip to content

Decide the future of opyratorfront: it is now a one-line deprecation shim with an unused opyrator dependency #1

Description

@thorwhalen

Surfaced while modernizing the packaging/CI (see the accompanying PR). Two related questions that only the maintainer can answer, recorded here so they are pickup-able cold.

1. opyrator is declared but never imported

install_requires (now [project].dependencies) lists opyrator and i2. Neither is imported anywhere in the package:

  • opyratorfront/__init__.py — docstring only, no imports.
  • opyratorfront/py2pydantic.pyfrom front.py2pydantic import * plus a "moved" warning.

So the only real module-level dependency is front (which was missing from the declared deps — the PR adds it). i2 arrives transitively via front.

Keeping opyrator costs every installer of this package the whole streamlit + pandas + numpy + plotly + fastapi + uvicorn + typer + loguru tree (63 resolved packages) for code that never touches it. opyrator itself has not been released since 0.0.12 (2021).

The PR deliberately does not drop it — that is a dependency-contract change and belongs to the maintainer.

Suggested fix: drop opyrator from [project].dependencies, or move it to an optional extra (e.g. opyratorfront[opyrator]) if some downstream flow really expects it to be pulled in.

2. Is there anything left for this package to do?

The package is now two modules:

  • __init__.py — prose docstring about what opyrator is, no code.
  • py2pydantic.py — a re-export shim over front.py2pydantic, warning "Module moved to front.py2pydantic" since Feb 2022.

The implementation moved to front more than three years ago. Options:

  1. Retire it — set [tool.wads.ci.publish].enabled = false, add a deprecation note to the README, and let PyPI 0.1.1 stand as the last release.
  2. Keep the shim alive — in which case the import-time warn(...) should probably become a DeprecationWarning (it is a bare UserWarning today, which is the wrong category for a moved module) and the README should point at front.
  3. Give it real content again — if the "best of both worlds" idea in the README is still wanted.

No action is taken in the PR beyond making the shim's docstring honest; this is purely a decision request.

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