Daniel Fortunov
Daniel Fortunov

Reputation: 44333

How do a load a python package resource from the current distribution using pkg_resources?

I have a Python package with some css stylesheets which I have included as resources like so:

from setuptools import setup
setup(
    package_data={
        'my.package.name': ['*.css']
    }
    # ...
)

I would now like to load one of these included resources as a string. What is the best way to load a resource from the current package?

I see that the pkg_resources.Distribution object has a get_resource_string() method, but I am stuck on how to use this: How do I get a Distribution object for the current package?

Upvotes: 8

Views: 6608

Answers (1)

Daniel Fortunov
Daniel Fortunov

Reputation: 44333

There is a convenience method at the top level of pkg_resources for this:

import pkg_resources
my_data = pkg_resources.resource_string(__name__, "my_style.css")

Upvotes: 9

Related Questions