You can clone with
https://github.com/davedash/elasticutils/blob/64a55ebaed0973a0027f3a0fffdfd8b7d083a903/elasticutils/__init__.py#L21 initializes the attr on _local only for the thread importing the module. Any other thread won't see that attr, and es_required() will throw an AttributeError the first time it's used on that thread.
In overhauling for pyelasticsearch, I nixed all the thread-local stuff. As a side note, while _local.disabled gets populated, it doesn't appear to ever get queried. So ... I'm not really sure what that was for anyhow.
Closing this out.