[Bug 300364] devel/py-resource: Deprecate (needs devel/py-jsonform, which does not import on Python 3)

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 30 Oct 2026 22:21:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=300364

            Bug ID: 300364
           Summary: devel/py-resource: Deprecate (needs devel/py-jsonform,
                    which does not import on Python 3)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: patrick@crandol.com
                CC: bofh@freebsd.org, python@FreeBSD.org
                CC: bofh@freebsd.org, python@FreeBSD.org

py-Resource 0.2.1 cannot be imported, because its required dependency
devel/py-jsonform does not import on Python 3:

    $ python3.12 -c 'import rsrc'
    ImportError: cannot import name 'JsonForm' from partially initialized
module 'jsonform' (most likely due to a circular import)
(/usr/local/lib/python3.12/site-packages/jsonform/__init__.py)

jsonform is Python 2 code: jsonform/__init__.py:6 makes an implicit
relative import that becomes a circular import on Python 3
(devel/py-jsonform is proposed for deprecation in its own PR).

Fixing jsonform alone would not be enough. py-Resource's own code is
broken as well: the Flask adapter fails every request on Flask 2.2+
(MethodView.dispatch_request signature, request.args.iterlists), the
Django adapter uses the Python 2 iterlists/iteritems, and
rsrc.contrib.token needs itsdangerous.TimedJSONWebSignatureSerializer,
which itsdangerous 2.1 removed. That is several separate fixes, not a
minimal patch.

Upstream: 0.2.1 (2017-08-25) is the last release, and
github.com/RussellLuo/resource has had no commits since 2020-04-23.

This proposes deprecating it; I've left EXPIRATION_DATE for you to set.
The patch sets

    DEPRECATED= Depends on devel/py-jsonform, which fails to import on Python 3
    BROKEN=             requires devel/py-jsonform, which fails to import on
Python 3

If you would rather keep the port, devel/py-jsonform would need fixing
and keeping too, plus separate fixes for the Flask 2.2+ and Django
adapters and for itsdangerous 2.1 in rsrc.contrib.token.

Impact: the only consumer, devel/py-opengrok-tools, depended on it by
mistake: opengrok uses the standard library `resource` module.
Bug 300212 proposes removing that dependency; if that is accepted,
nothing in the tree depends on py-resource.

-- 
You are receiving this mail because:
You are on the CC list for the bug.