hgext3rd/__init__.py
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 11 Apr 2018 14:48:24 -0700
changeset 37623 eb687c28a915
parent 28541 4b81487a01d4
child 43076 2372284d9457
permissions -rw-r--r--
thirdparty: vendor futures 3.2.0 Python 3 has a concurrent.futures package in the standard library for representing futures. The "futures" package on PyPI is a backport of this package to work with Python 2. The wire protocol code today has its own future concept for handling of "batch" requests. The frame-based protocol will also want to use futures. I've heavily used the "futures" package on Python 2 in other projects and it is pretty nice. It even has a built-in thread and process pool for running functions in parallel. I've used this heavily for concurrent I/O and other GIL-less activities. The existing futures API in the wire protocol code is not as nice as concurrent.futures. Since concurrent.futures is in the Python standard library and will presumably be the long-term future for futures in our code base, let's vendor the backport so we can use proper futures today. # no-check-commit because of style violations Differential Revision: https://phab.mercurial-scm.org/D3261
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28541
4b81487a01d4 extensions: also search for extension in the 'hgext3rd' package
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28450
diff changeset
     1
# name space package to host third party extensions
28450
155e3308289c hgext: officially turn 'hgext' into a namespace package
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1360
diff changeset
     2
from __future__ import absolute_import
155e3308289c hgext: officially turn 'hgext' into a namespace package
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1360
diff changeset
     3
import pkgutil
155e3308289c hgext: officially turn 'hgext' into a namespace package
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1360
diff changeset
     4
__path__ = pkgutil.extend_path(__path__, __name__)