Skip to content

drop or relax dependency on pkg_resources? #356

Open
@anthrotype

Description

@anthrotype

setuptools' pkg_resources is considered sort of deprecated nowadays, and it's being replaced by importlib.resources (added to python3.7 stdlib) and importlib.metadata (included in python3.8).
Both of the latter have backports on PyPI for previous pythons:
https://pypi.org/project/importlib_resources/
https://pypi.org/project/importlib-metadata/

As far as I understand, fs needs pkg_resources for two reasons:

  1. for implementing namespace packages
  2. for dynamically loading plugins as entry-points

For the first, the Python Packaging Authority's packaging guide recommends to use pkgutil-style namespace packages which allegedly work on both py2 and py3 (I have never used them though): https://packaging.python.org/guides/packaging-namespace-packages/#pkgutil-style-namespace-packages

For the second point, I think importlib.metadata should support this. Other big projects like pytest have recently switched to using that (see pytest-dev/pluggy#199).

My immediate issue is that I cannot package my app (https://github.com/googlefonts/fontmake) with PyObsidizer because the latter does not support pkg_resources:
indygreg/PyOxidizer#134

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions