Skip to main content

An example project demonstrating various ways to access data files in Python package

Project description

This project shows how to package data files within a Python distribution, and has some example code for reading the data files. To build this distribution, create a venv with setuptools, wheel, and pep517 installed, then execute the latter as a module:

python -m pep517.build .

The distributions (an sdist .tar.gz and a bdist .whl) will be written to ./dist/ subdirectory. To test it out, install the distribution and run the console script resources-example.

Here’s a compatibility summary of the five approaches demonstrated:

Module

Description

In stdlib?

Works on Py2?

Works on Py3?

Works in zipfile?

example1.py

os.path.join

yes

yes

yes

no

example2.py

pkgutil

yes

yes

yes

yes

example3.py

pkg_resources

no

yes

yes

yes

example4.py

importlib.resources

yes

no

yes (3.7+)

yes

example5.py

importlib_resources

no

yes

yes

yes

If you are interested in creating an executable zip from source, you can use stdlib zipapp utility (Python 3.5+):

python3 -m zipapp --compress /path/to/resources-example --main="myapp:main" --output=myapp.zip

And now you can run the zip directly with the interpreter (any Python version):

python myapp.zip

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resources-example-0.2.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

resources_example-0.2-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file resources-example-0.2.tar.gz.

File metadata

  • Download URL: resources-example-0.2.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for resources-example-0.2.tar.gz
Algorithm Hash digest
SHA256 2308f460c40de7ce5bb200f65d11e98fd547e1ae45d4480cf63110450b11e5d8
MD5 4af5bd0f5f933af16b71e2aad90a7e86
BLAKE2b-256 34c4a6c9e13313c5d6806729feeebfff9e0c696f49f84522fbbbca5c5e20f507

See more details on using hashes here.

File details

Details for the file resources_example-0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: resources_example-0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for resources_example-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8171bbd50ffbb694f5e86d198fd556f8fd66c2a2537cd46e9406105119949418
MD5 5bd1e3af5ec1aedacf8b43e33ba60424
BLAKE2b-256 eb6f3414bcf5bb8fbe1c9c5b27e91cec9cc43199b8b503f0d987918e1f1a7c9d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page