Metadata-Version: 2.4
Name: multiprocessing_importlib_resources
Version: 0.0.4
Summary: multiprocessing-safe importlib.resource.files implementation.
Author-email: Joshix <joshix@asozial.org>
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
License-File: LICENSE
Project-URL: Home, https://codeberg.org/Joshix/multiprocessing-importlib-resources

# multiprocessing-importlib-resources

Storing the Traversable returned by `importlib.resources.files` is not save in zipapps using multiple processes.
Use multiprocessing-importlib-resources to make this safe.

For more information see:

- https://discuss.python.org/t/importlib-resources-files-and-multiprocessing/106813/4
- https://github.com/Joshix-1/importlib.resources.files-multiprocessing--bug
- https://github.com/python/cpython/issues/83544

## Use as importlib.resources.files replacement
```py
from importlib.resources.abc import Traversable
from multiprocessing_importlib_resources import files


PATH: Traversable = files(__name__)
```

## Patch importlib.resources.files for everyone
```py
from importlib.resources.abc import Traversable
import multiprocessing_importlib_resources
multiprocessing_importlib_resources._patch()

# fine now
from importlib.resources import files
PATH: Traversable = files(__name__)
```

