{ "info": { "author": "Rowan Goemans", "author_email": "goemansrowan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools" ], "description": "sphinx-multibuild\n=================\nBuild sphinx documentation from multiple source directories. Also includes an\nautomatic build on change feature. This works by symlinking all the input\ndirectories to a single temporary directory and then running sphinx on that\ntemporary directory.\n\nShould work with Python >= 2.7 on Linux and Windows Vista or later.\n\n.. warning::\n Since symlinks on Windows require admin privilege this script has to run\n in admin mode. It works without admin privilege on Windows 10 creators update\n if you have `enabled developer mode `_.\n\nHow to install\n--------------\n\nYou can use pip install to install the package: ``pip install sphinx-multibuild``\n\nSphinx-autobuild respects the ``SHPINXBUILD`` environment variable and will use the\ncontents of that to build. If it is not set it defaults to the python\nexecutable with ``-msphinx`` as the argument.\n\nHow to use from command line\n----------------------------\n\nOutput of the ``--help`` command:\n\n::\n\n usage: sphinx_multibuild.py [-h] -i INPUTDIRS -s TEMPDIR -o OUTPUTDIR [-q]\n [-m] [-b builder] [-M makebuilder] [-a] [-E]\n [-d path] [-j N] [-c path] [-C] [-D setting=value]\n [-t tag] [-A name=value] [-n] [-v] [-Q] [-w file]\n [-W] [-T] [-N] [-P]\n [filenames [filenames ...]]\n\n Build multiple sphinx documentation directories into a single document.\n Also supports automatic build on change. Sphinx options arguments are \n passed through.\n\n positional arguments:\n filenames See `sphinx-build -h`\n\n optional arguments:\n -h, --help show this help message and exit\n -i INPUTDIRS, --inputdir INPUTDIRS\n One or more input directories.\n -s TEMPDIR, --symlinkdir TEMPDIR\n Temporary directory where symlinks are placed.\n -o OUTPUTDIR, --outputdir OUTPUTDIR\n The directory where you want the output to be placed\n -q, --quiet Only print warnings and errors.\n -m, --monitor Monitor for changes and autobuild\n -b builder See `sphinx-build -h`\n -M makebuilder See `sphinx-build -h`\n -a See `sphinx-build -h`\n -E See `sphinx-build -h`\n -d path See `sphinx-build -h`\n -j N See `sphinx-build -h`\n -c path See `sphinx-build -h`\n -C See `sphinx-build -h`\n -D See `sphinx-build -h`\n -t tag See `sphinx-build -h`\n -A See `sphinx-build -h`\n -n See `sphinx-build -h`\n -v See `sphinx-build -h`\n -Q See `sphinx-build -h`\n -w files See `sphinx-build -h`\n -W See `sphinx-build -h`\n -T See `sphinx-build -h`\n -N See `sphinx-build -h`\n -P See `sphinx-build -h`\n\nSphinx options are available and are passed through to\nsphinx builder. The exception are the in- and output directories since those\narguments are used by sphinx-multibuild itself. The -i specifies an input\nand can be repeated multiple times. The -s options specifies the temporary\ndirectory where symlinks are placed and the -o options sets the sphinx output\ndirectory. Please note that no real files or directories may be placed in the\ntemporary directory.\n\nHere is an example of building a document with two input directories:\n\n ``sphinx-multibuild -i ../doc -i ./build/doc/apigen -s ./build/doc/tmp -o ./build/doc/sphinx -b html -c ./build/doc/sphinx``\n\nHere is another example where the -M builder is used to build latexpdf in a single step.\n\n ``sphinx-multibuild -i ../doc -i ./build/doc/apigen -s ./build/doc/tmp -o ./build/doc/sphinx -M latexpdf -c ./build/doc/sphinx``\n\nUsing the ``-m`` option will continuously build the output when anything changes in any of the input directories.\n\n ``sphinx-multibuild -m -i ../doc -i ./build/doc/apigen -s ./build/doc/tmp -o ./build/doc/sphinx -b html -c ./build/doc/sphinx``\n\n\nHow to use as module\n--------------------\nIt is also possible to use sphinx-autobuild as a module and control the building\nprogrammatically. There is a single class ``SphinxMultiBuilder`` that you can\ninstantiate and create builds or automatically build on change:\n\n\n.. code-block:: python\n\n from sphinx_multibuild import SphinxMultiBuilder\n import logging\n import time\n import sys\n\n # Package respects loglevel set by application. Info prints out change events\n # in input directories and warning prints exception that occur during symlink \n # creation/deletion.\n loglevel = logging.INFO\n logging.basicConfig(format='%(message)s', level=loglevel)\n\n # You can register a handler that will be called when a symlink\n # Can't be created or deleted.\n def handle_autobuild_error(input_path, exception):\n pass\n\n # Instantiate multi builder. The last two params are optional.\n builder = SphinxMultiBuilder(# input directories\n [\"./doc\", \"./build/api/doc\"],\n # Temp directory where symlinks are placed.\n \"/tmp\",\n # Output directory\n \"./build/sphinx\"\n # Sphinx arguments, this doesn't include the in- \n # and output directory and filenames argments.\n [\"-m\", \"html\", \"-c\", \"./build/doc\"], \n # Specific files to build(optional).\n [\"index.rst\"],\n # Callback that will be called when symlinking\n # error occurs during autobuilding. (optional)\n handle_autobuild_error)\n # build once\n builder.build()\n\n # start autobuilding on change in any input directory until ctrl+c is pressed.\n builder.start_autobuilding()\n try:\n while True:\n time.sleep(1)\n except KeyboardInterrupt:\n builder.stop_autobuilding()\n\n # return the last exit code sphinx build returned had as program exit code.\n sys.exit(builder.get_last_exit_code())", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/rowanG077/sphinx-multibuild/archive/1.2.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rowanG077/sphinx-multibuild", "keywords": "sphinx,autobuild,multiple-directories", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sphinx-multibuild", "package_url": "https://pypi.org/project/sphinx-multibuild/", "platform": "", "project_url": "https://pypi.org/project/sphinx-multibuild/", "project_urls": { "Download": "https://github.com/rowanG077/sphinx-multibuild/archive/1.2.1.tar.gz", "Homepage": "https://github.com/rowanG077/sphinx-multibuild" }, "release_url": "https://pypi.org/project/sphinx-multibuild/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "Allow sphinx to build with multiple source directories and watch for changes.", "version": "1.2.1" }, "last_serial": 5954164, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "6191bd7e637feb4b20ae63d44244a094", "sha256": "a40ef8d97649abdcebb8a738bee6eeb6a74cde625119bcd293b3b25db7c9fc76" }, "downloads": -1, "filename": "sphinx-multibuild-1.0.tar.gz", "has_sig": false, "md5_digest": "6191bd7e637feb4b20ae63d44244a094", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6345, "upload_time": "2018-04-05T16:03:53", "url": "https://files.pythonhosted.org/packages/4a/a9/6b23b952b8f19f4b0de2087a6aae95f6facd645d5886fb2cab64093cc5af/sphinx-multibuild-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f99fee8a1230e477ce54bf35268b6c86", "sha256": "76ce87bef9f455b7dd1ad6bc714d3c6e59e58e127f277c5b9893ce12a5a81d03" }, "downloads": -1, "filename": "sphinx-multibuild-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f99fee8a1230e477ce54bf35268b6c86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6344, "upload_time": "2018-04-05T16:08:44", "url": "https://files.pythonhosted.org/packages/d4/44/2b20b60eab9bc598bb58669c0d97798b52b77cfd7ea48b6eca0ce2407837/sphinx-multibuild-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "f52c9092e2cf6882879c635db952d4b3", "sha256": "2430e9b63bdd05e9ef96b2c8832e35eb6c094f5f6f1578a3b9141d79a34b8138" }, "downloads": -1, "filename": "sphinx-multibuild-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f52c9092e2cf6882879c635db952d4b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6416, "upload_time": "2018-04-05T17:11:50", "url": "https://files.pythonhosted.org/packages/96/f5/c98d08a02ad53ca349fb2f663c18c259a8f3f68572d3c6d7f4f4a95cad21/sphinx-multibuild-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c988d6216031655c02b137f45c7165e4", "sha256": "0449cac42c0b473a355dee42b72a8fe7890810647406ea8c81aa019d2ed29f5e" }, "downloads": -1, "filename": "sphinx-multibuild-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c988d6216031655c02b137f45c7165e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6446, "upload_time": "2018-04-05T17:27:43", "url": "https://files.pythonhosted.org/packages/67/93/4d6c23a9cfa1c09acfa3cf4939a8f8a4578b3e48d61ba14afaab26976c4d/sphinx-multibuild-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "99e321adb91b3ba3f69d649013226745", "sha256": "6dac4afb1e4ede6122a07b875d6ec1226181a41dc1246cd3f739b96e4fc503c0" }, "downloads": -1, "filename": "sphinx-multibuild-1.0.4.tar.gz", "has_sig": false, "md5_digest": "99e321adb91b3ba3f69d649013226745", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6544, "upload_time": "2018-04-05T18:17:34", "url": "https://files.pythonhosted.org/packages/45/c4/deaf7bdc7b5901f5593c64e37138ad6b8ff9d89d093f2572521c75840631/sphinx-multibuild-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "fde8179964687745fc804da8e8524e7d", "sha256": "c939640021795a1802ef83894bb3b4cb98b19c1a7ef0ced2f5b88842c77082c0" }, "downloads": -1, "filename": "sphinx-multibuild-1.0.5.tar.gz", "has_sig": false, "md5_digest": "fde8179964687745fc804da8e8524e7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6526, "upload_time": "2018-04-05T18:20:24", "url": "https://files.pythonhosted.org/packages/02/7a/3c030783a24a853d5465dd3fb6304d28d84770e9a9ff6ee69aeb315bd242/sphinx-multibuild-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "6cfb8dc5f4d9ac34aa14671321bcb279", "sha256": "1c8d14bffbbd8aaf41b4ec978c48dba12d7f1e504f3764c19dd949e3ccdfa9ac" }, "downloads": -1, "filename": "sphinx-multibuild-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6cfb8dc5f4d9ac34aa14671321bcb279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6751, "upload_time": "2018-04-07T19:58:24", "url": "https://files.pythonhosted.org/packages/56/b7/6ccfd6a6a072a5e9e3de0d2d87f78a62b669d85305096e48ad3e97e7f5ac/sphinx-multibuild-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "ddd762e02f75a26eed00cd465b90188b", "sha256": "60e7f1ad87f585ecf323396cc43337ca6a39c275a412ce0d391d4adaa12b8a2d" }, "downloads": -1, "filename": "sphinx-multibuild-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ddd762e02f75a26eed00cd465b90188b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6786, "upload_time": "2018-04-08T12:37:48", "url": "https://files.pythonhosted.org/packages/1e/a6/2c2a44a8ea8daee816b2d76d24faa3ab6c4bf3f022591209f49330d105ba/sphinx-multibuild-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "5dc79fe58d9499d9dea2b72ca83ec028", "sha256": "43b28f118c67dcb1eca0620d01ab6d749d778568fef07e266012014a059131ec" }, "downloads": -1, "filename": "sphinx-multibuild-1.1.2.tar.gz", "has_sig": false, "md5_digest": "5dc79fe58d9499d9dea2b72ca83ec028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6772, "upload_time": "2018-05-13T02:21:59", "url": "https://files.pythonhosted.org/packages/85/02/4b502e48c0b16e31ef3c06e328d3920d25c365f89cdeb8564a5fc46f92e5/sphinx-multibuild-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1cca03395ace8a2d2397ecb587968cee", "sha256": "f56ba329db2f402476518b3cc1daaa8b5d18d102b13c5a755eb6bd22f05bfe62" }, "downloads": -1, "filename": "sphinx-multibuild-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1cca03395ace8a2d2397ecb587968cee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6776, "upload_time": "2018-05-13T02:25:37", "url": "https://files.pythonhosted.org/packages/6b/ca/ce3fb34a7d1bce3c25842db2ba06d48fa7b05bbd1ed1e9a5aa93e3c7f90a/sphinx-multibuild-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "d25a2ceb00ca0f07fc8dbdf5f1da5251", "sha256": "88aedb55dbee166e0029b7771a96a602bd2709b2ead69c8eb3d2f4ecf6dc2c87" }, "downloads": -1, "filename": "sphinx-multibuild-1.2.1.tar.gz", "has_sig": false, "md5_digest": "d25a2ceb00ca0f07fc8dbdf5f1da5251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6937, "upload_time": "2019-10-10T10:42:57", "url": "https://files.pythonhosted.org/packages/f6/b4/1d1f4fb3c95a6b6ef88c6ce7f6bb407248f616146b4f39e8469475ed0b32/sphinx-multibuild-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d25a2ceb00ca0f07fc8dbdf5f1da5251", "sha256": "88aedb55dbee166e0029b7771a96a602bd2709b2ead69c8eb3d2f4ecf6dc2c87" }, "downloads": -1, "filename": "sphinx-multibuild-1.2.1.tar.gz", "has_sig": false, "md5_digest": "d25a2ceb00ca0f07fc8dbdf5f1da5251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6937, "upload_time": "2019-10-10T10:42:57", "url": "https://files.pythonhosted.org/packages/f6/b4/1d1f4fb3c95a6b6ef88c6ce7f6bb407248f616146b4f39e8469475ed0b32/sphinx-multibuild-1.2.1.tar.gz" } ] }