diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 560f7d1..fcc257a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,11 @@ Versions follow `Semantic Versioning `_ (``.. TBC (TBC) --------- +Features +^^^^^^^^ +* `#222 `: + Declare the extension as parallel safe. + Bug Fixes ^^^^^^^^^ * `#219 `: diff --git a/autoapi/extension.py b/autoapi/extension.py index b29ddb3..f4a7a35 100644 --- a/autoapi/extension.py +++ b/autoapi/extension.py @@ -316,3 +316,8 @@ def setup(app): app.add_event("autoapi-skip-member") app.setup_extension("sphinx.ext.inheritance_diagram") app.add_directive("autoapi-inheritance-diagram", AutoapiInheritanceDiagram) + + return { + "parallel_read_safe": True, + "parallel_write_safe": True, + } diff --git a/tests/python/test_pyintegration.py b/tests/python/test_pyintegration.py index 26d3e32..f9332f8 100644 --- a/tests/python/test_pyintegration.py +++ b/tests/python/test_pyintegration.py @@ -23,7 +23,7 @@ from autoapi.mappers.python import ( def builder(): cwd = os.getcwd() - def build(test_dir, confoverrides=None): + def build(test_dir, confoverrides=None, **kwargs): os.chdir("tests/python/{0}".format(test_dir)) app = Sphinx( srcdir=".", @@ -32,6 +32,7 @@ def builder(): doctreedir="_build/.doctrees", buildername="text", confoverrides=confoverrides, + **kwargs ) app.build(force_all=True) @@ -639,6 +640,12 @@ class TestComplexPackage(object): assert "unicode_str" in foo_file +class TestComplexPackageParallel(object): + @pytest.fixture(autouse=True, scope="class") + def built(self, builder): + builder("pypackagecomplex", parallel=2) + + @pytest.mark.skipif( sys.version_info < (3, 3), reason="Implicit namespace not supported in python < 3.3" )