├── MANIFEST.in ├── .gitignore ├── CHANGES.md ├── COPYING ├── LICENSE ├── docs ├── source │ ├── installation.rst │ ├── index.rst │ ├── contribute.rst │ ├── quickstart.rst │ ├── specifications.rst │ └── conf.py ├── Makefile └── make.bat ├── setup.py └── README.rst /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *COPYING 2 | recursive-include buildozer *.spec 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[co] 2 | 3 | # Packages 4 | .*.swp 5 | .*.swo 6 | *.egg 7 | *.egg-info 8 | dist 9 | build 10 | eggs 11 | parts 12 | bin 13 | var 14 | sdist 15 | develop-eggs 16 | .installed.cfg 17 | 18 | # Installer logs 19 | pip-log.txt 20 | 21 | # Unit test / coverage reports 22 | .coverage 23 | .tox 24 | 25 | #Translations 26 | *.mo 27 | 28 | #Mr Developer 29 | .mr.developer.cfg 30 | MANIFEST 31 | -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- 1 | ### 0.14 2 | (April 21st, 2014) 3 | 4 | - More fixes for linux console on Python 2 5 | 6 | 7 | ### 0.13 8 | (April 21st, 2014) 9 | 10 | - Fixes for Python 2 (Python 3 support was a little bit too invasive.) 11 | 12 | - Fixes Windows console color 13 | 14 | 15 | ### 0.12 16 | (April 21st, 2014) 17 | 18 | - Fixes a open() and encoding for Python 2 on JsonStore 19 | 20 | 21 | ### 0.11 22 | (April 20th, 2014) 23 | 24 | - Buildozer is now compatible with Python 3.3 25 | 26 | - Scripts have been moved to buildozer/scripts, and created by console-scripts 27 | in setup.py. 28 | 29 | - Windows is supported, but no target are available for it. Though, it is 30 | sufficient to create a project. 31 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Mathieu Virbel 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2013 Kivy Team and other contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /docs/source/installation.rst: -------------------------------------------------------------------------------- 1 | Installation 2 | ============ 3 | 4 | Buildozer itself doesn't depend on any library, and works on Python 2.7 and >= 5 | 3.3. Depending the platform you want to target, you might need more tools 6 | installed. Buildozer tries to give you hints or tries to install few things for 7 | you, but it doesn't cover every situation. 8 | 9 | First, install the buildozer project with:: 10 | 11 | pip install --upgrade buildozer 12 | 13 | Targeting Android 14 | ----------------- 15 | 16 | If you target Android, you must install at least Cython, few build libs, and a 17 | Java SDK. Some binaries of the Android SDK are still in 32 bits, so you need 18 | few 32bits libraries available:: 19 | 20 | Android on Ubuntu 12.04 (64bit) 21 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 | 23 | :: 24 | 25 | sudo pip install --upgrade cython 26 | sudo apt-get install build-essential ccache git ia32-libs python2.7 python2.7-dev openjdk-7-jdk unzip zlib1g-dev 27 | 28 | Android on Ubuntu 13.10 (64bit) 29 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | 31 | :: 32 | 33 | sudo pip install --upgrade cython 34 | sudo dpkg --add-architecture i386 35 | sudo apt-get update 36 | sudo apt-get install build-essential ccache git ia32-libs libncurses5:i386 libstdc++6:i386 python2.7 python2.7-dev openjdk-7-jdk unzip zlib1g-dev zlib1g:i386 37 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. Buildozer documentation master file, created by 2 | sphinx-quickstart on Sun Apr 20 16:56:31 2014. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to Buildozer's documentation! 7 | ===================================== 8 | 9 | Buildozer is a tool that aim to package mobiles application easily. It 10 | automates the entire build process, download the prerequisites like 11 | python-for-android, Android SDK, NDK, etc. 12 | 13 | Buildozer manage a file named `buildozer.spec` in your application directory, 14 | describing your application requirements and settings such as title, icon, 15 | included modules etc. It will use the specification file to create a package 16 | for Android, iOS, and more. 17 | 18 | Currently, Buildozer supports packaging for: 19 | 20 | - Android: via `Python for Android 21 | `_. You must have a Linux or OSX 22 | computer to be able to compile for Android. 23 | 24 | - iOS: via `Kivy iOS `_. You must have an OSX 25 | computer to be able to compile for iOS. 26 | 27 | - Supporting others platform is in the roadmap (such as .exe for Windows, .dmg 28 | for OSX, etc.) 29 | 30 | If you have any questions about Buildozer, please refer to the `Kivy's user 31 | mailing list `_. 32 | 33 | .. toctree:: 34 | :maxdepth: 2 35 | 36 | installation 37 | quickstart 38 | specifications 39 | contribute 40 | 41 | Indices and tables 42 | ================== 43 | 44 | * :ref:`genindex` 45 | * :ref:`modindex` 46 | * :ref:`search` 47 | 48 | -------------------------------------------------------------------------------- /docs/source/contribute.rst: -------------------------------------------------------------------------------- 1 | Contribute 2 | ========== 3 | 4 | 5 | Write your own recipe 6 | --------------------- 7 | 8 | A recipe allows you to compile libraries / python extension for the mobile. 9 | Most of the time, the default compilation instructions doesn't work for the 10 | target, as ARM compiler / Android NDK introduce specifities that the library 11 | you want doesn't handle correctly, and you'll need to patch. Also, because the 12 | Android platform cannot load more than 64 dynamic library, we have a mechanism 13 | to bundle all of them in one to ensure you'll not hit this limitation. 14 | 15 | To test your own recipe via Buildozer, you need to: 16 | 17 | #. Fork `Python for Android `_, and 18 | clone your own version (this will allow easy contribution later):: 19 | 20 | git clone http://github.com/YOURNAME/python-for-android 21 | 22 | #. Change your `buildozer.spec` to reference your version:: 23 | 24 | android.p4a_dir = /path/to/your/python-for-android 25 | 26 | #. Copy your recipe into `python-for-android/recipes/YOURLIB/recipe.sh` 27 | 28 | #. Rebuild. 29 | 30 | When you correctly get the compilation and your recipe works, you can ask us to 31 | include it in the python-for-android project, by issuing a Pull Request: 32 | 33 | #. Create a branch:: 34 | 35 | git checkout --track -b recipe-YOURLIB origin/master 36 | 37 | #. Add and commit:: 38 | 39 | git add python-for-android/recipes/YOURLIB/* 40 | git commit -am 'Add support for YOURLIB` 41 | 42 | #. Push to Github 43 | 44 | git push origin master 45 | 46 | #. Go to `http://github.com/YOURNAME/python-for-android`, and you should see 47 | your new branch and a button "Pull Request" on it. Use it, write a 48 | description about what you did, and Send! 49 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Buildozer 3 | ''' 4 | 5 | from setuptools import setup 6 | import codecs 7 | import os 8 | import re 9 | 10 | here = os.path.abspath(os.path.dirname(__file__)) 11 | 12 | 13 | def find_version(*file_paths): 14 | # Open in Latin-1 so that we avoid encoding errors. 15 | # Use codecs.open for Python 2 compatibility 16 | with codecs.open(os.path.join(here, *file_paths), 'r', 'utf-8') as f: 17 | version_file = f.read() 18 | 19 | # The version line must have the form 20 | # __version__ = 'ver' 21 | version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", 22 | version_file, re.M) 23 | if version_match: 24 | return version_match.group(1) 25 | raise RuntimeError("Unable to find version string.") 26 | 27 | setup( 28 | name='buildozer', 29 | version=find_version('buildozer', '__init__.py'), 30 | description='Generic Python packager for Android / iOS and Desktop', 31 | author='Mathieu Virbel', 32 | author_email='mat@kivy.org', 33 | url='http://github.com/kivy/buildozer', 34 | license='MIT', 35 | packages=[ 36 | 'buildozer', 37 | 'buildozer.targets', 38 | 'buildozer.libs', 39 | 'buildozer.scripts'], 40 | package_data={'buildozer': ['default.spec']}, 41 | include_package_data=True, 42 | classifiers=[ 43 | 'Development Status :: 4 - Beta', 44 | 'Intended Audience :: Developers', 45 | 'Topic :: Software Development :: Build Tools', 46 | 'Programming Language :: Python :: 2', 47 | 'Programming Language :: Python :: 2.7', 48 | 'Programming Language :: Python :: 3', 49 | 'Programming Language :: Python :: 3.1', 50 | 'Programming Language :: Python :: 3.2', 51 | 'Programming Language :: Python :: 3.3'], 52 | entry_points={ 53 | 'console_scripts': [ 54 | 'buildozer=buildozer.scripts.client:main', 55 | 'buildozer-remote=buildozer.scripts.remote:main']}) 56 | -------------------------------------------------------------------------------- /docs/source/quickstart.rst: -------------------------------------------------------------------------------- 1 | Quickstart 2 | ========== 3 | 4 | Let's get started with Buildozer! 5 | 6 | Init and build for Android 7 | -------------------------- 8 | 9 | #. Buildozer will try to guess the version of your application, by searching a 10 | line like `__version__ = "1.0.3"` in your `main.py`. Ensure you have one at 11 | the start of your application. It is not mandatory but heavilly advised. 12 | 13 | #. Create a `buildozer.spec` file, with:: 14 | 15 | buildozer init 16 | 17 | #. Edit the `buildozer.spec` according to the :ref:`specifications`. You should 18 | at least change the `title`, `package.name` and `package.domain` in the 19 | `[app]` section. 20 | 21 | #. Start a Android/debug build with:: 22 | 23 | buildozer -v android debug 24 | 25 | #. Now it's time for a coffee / tea, or a dinner if you have a slow computer. 26 | The first build will be slow, as it will download the Android SDK, NDK, and 27 | others tools needed for the compilation. 28 | Don't worry, thoses files will be saved in a global directory and will be 29 | shared accross the different project you'll manage with Buildozer. 30 | 31 | #. At the end, you should have an APK file in the `bin/` directory. 32 | 33 | 34 | Run my application 35 | ------------------ 36 | 37 | Buildozer is able to deploy the application on your mobile, run it, and even 38 | get back the log into the console. It will work only if you already compiled 39 | your application at least once:: 40 | 41 | buildozer android deploy run logcat 42 | 43 | For iOS, it would look the same:: 44 | 45 | buildozer ios deploy run 46 | 47 | You can combine the compilation with the deployment:: 48 | 49 | buildozer -v android debug deploy run logcat 50 | 51 | You can also set this line at the default command to do if Buildozer is started 52 | without any arguments:: 53 | 54 | buildozer setdefault android debug deploy run logcat 55 | 56 | # now just type buildozer, and it will do the default command 57 | buildozer 58 | 59 | 60 | Install on non-connected devices 61 | -------------------------------- 62 | 63 | If you have compiled a package, and want to share it easily with others 64 | devices, you might be interested with the `serve` command. It will serve the 65 | `bin/` directory over HTTP. Then you just have to access to the URL showed in 66 | the console from your mobile:: 67 | 68 | buildozer serve 69 | 70 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Buildozer 2 | ========= 3 | 4 | This tool is currently in alpha. 5 | 6 | Buildozer is a tool for creating application packages easily. 7 | 8 | The goal is to have one "buildozer.spec" file in your app directory, describing 9 | your application requirements and settings such as title, icon, included modules 10 | etc. Buildozer will use that spec to create a package for Android, iOS, Windows, 11 | OSX and/or Linux. 12 | 13 | Buildozer currently supports packaging for Android via the `python-for-android 14 | `_ 15 | project, and for iOS via the kivy-ios project. Support for other operating systems 16 | is intended in the future. 17 | 18 | Usage example 19 | ------------- 20 | 21 | #. Install buildozer:: 22 | 23 | # latest dev 24 | git clone git://github.com/kivy/buildozer 25 | cd buildozer 26 | sudo python2.7 setup.py install 27 | 28 | # via pip (latest stable) 29 | sudo pip install buildozer 30 | 31 | # via easy_install 32 | sudo easy_install buildozer 33 | 34 | #. Go into your application directory and do:: 35 | 36 | buildozer init 37 | # edit the buildozer.spec, then 38 | buildozer android debug deploy run 39 | 40 | Example of commands:: 41 | 42 | # buildozer commands 43 | buildozer clean 44 | 45 | # buildozer target command 46 | buildozer android update 47 | buildozer android deploy 48 | buildozer android debug 49 | buildozer android release 50 | 51 | # or all in one (compile in debug, deploy on device) 52 | buildozer android debug deploy 53 | 54 | # set the default command if nothing set 55 | buildozer setdefault android debug deploy run 56 | 57 | 58 | Usage 59 | ----- 60 | 61 | :: 62 | 63 | Usage: buildozer [--verbose] [target] [command1] [command2] 64 | 65 | Available targets: 66 | android Android target, based on python-for-android project 67 | ios iOS target, based on kivy-ios project. (not working yet.) 68 | 69 | Global commands (without target): 70 | clean Clean the whole Buildozer environment. 71 | help Show the Buildozer help. 72 | init Create a initial buildozer.spec in the current directory 73 | setdefault Set the default command to do when no arguments are given 74 | version Show the Buildozer version 75 | 76 | Target commands: 77 | clean Clean the target environment 78 | update Update the target dependencies 79 | debug Build the application in debug mode 80 | release Build the application in release mode 81 | deploy Deploy the application on the device 82 | run Run the application on the device 83 | 84 | 85 | 86 | buildozer.spec 87 | -------------- 88 | 89 | See `buildozer/default.spec `_ for an up-to-date spec file. 90 | 91 | 92 | Default config 93 | -------------- 94 | 95 | You can override the value of *any* buildozer.spec config token by 96 | setting an appropriate environment variable. These are all of the 97 | form ``$SECTION_TOKEN``, where SECTION is the config file section and 98 | TOKEN is the config token to override. Dots are replaced by 99 | underscores. 100 | 101 | For example, here are some config tokens from the [app] section of the 102 | config, along with the environment variables that would override them. 103 | 104 | - ``title`` -> ``$APP_TITLE`` 105 | - ``package.name`` -> ``$APP_PACKAGE_NAME`` 106 | - ``android.p4a_dir`` -> ``$APP_ANDROID_P4A_DIR`` 107 | 108 | -------------------------------------------------------------------------------- /docs/source/specifications.rst: -------------------------------------------------------------------------------- 1 | Specifications 2 | ============== 3 | 4 | This document explains in detail all the configuration tokens you can use in 5 | `buildozer.spec`. 6 | 7 | Section [app] 8 | ------------- 9 | 10 | - `title`: String, title of your application. 11 | 12 | It might be possible that some characters are not working depending on the 13 | targeted paltform. It's best to try and see if everything works as expected. 14 | Try to avoid too long titles, as they will also not fit in the title 15 | displayed under the icon. 16 | 17 | - `package.name`: String, package name. 18 | 19 | The Package name is one word with only ASCII characters and/or numbers. It 20 | should not contain any special characters. For example, if your application 21 | is named `Flat Jewels`, the package name can be `flatjewels`. 22 | 23 | - `package.domain`: String, package domain. 24 | 25 | Package domain is a string that references the company or individual that 26 | did the app. Both domain+name will become your application identifier for 27 | Android and iOS, choose it carefully. As an example, when the Kivy`s team 28 | is publishing an application, the domain starts with `org.kivy`. 29 | 30 | - `source.dir`: String, location of your application sources. 31 | 32 | The location must be a directory that contains a `main.py` file. It defaults 33 | to the directory where `buildozer.spec` is. 34 | 35 | - `source.include_exts`: List, files' extensions to include. 36 | 37 | By default, not all files in your `source.dir` are included, but only some 38 | of them (`py,png,jpg,kv,atlas`), depending on the extension. Feel free to 39 | add your own extensions, or use an empty value if you want to include 40 | everything. 41 | 42 | - `source.exclude_exts`: List, files' extensions to exclude. 43 | 44 | In contrary to `source.include_exts`, you could include all the files you 45 | want except the ones that end with an extension listed in this token. If 46 | empty, no files will be excluded based on their extensions. 47 | 48 | - `source.exclude_dirs`: List, directories to exclude. 49 | 50 | Same as `source.exclude_exts`, but for directories. You can exclude your 51 | `tests` and `bin` directory with:: 52 | 53 | source.exclude_dirs = tests, bin 54 | 55 | - `source.exclude_patterns`: List, files to exclude if they match a pattern. 56 | 57 | If you have a more complex application layout, you might need a pattern to 58 | exclude files. It also works if you don't have a pattern. For example:: 59 | 60 | source.exclude_patterns = license,images/originals/* 61 | 62 | - `version.regex`: Regex, Regular expression to capture the version in 63 | `version.filename`. 64 | 65 | The default capture method of your application version is by grepping a line 66 | like this:: 67 | 68 | __version__ = "1.0" 69 | 70 | The `1.0` will be used as a version. 71 | 72 | - `version.filename`: String, defaults to the main.py. 73 | 74 | File to use for capturing the version with `version.regex`. 75 | 76 | - `version`: String, manual application version. 77 | 78 | If you don't want to capture the version, comment out both `version.regex` 79 | and `version.filename`, then put the version you want directly in the 80 | `version` token:: 81 | 82 | # version.regex = 83 | # version.filename = 84 | version = 1.0 85 | 86 | - `requirements`: List, Python modules or extensions that your application 87 | requires. 88 | 89 | The requirements can be either a name of a recipe in the Python-for-android 90 | project, or a pure-Python package. For example, if your application requires 91 | Kivy and requests, you need to write:: 92 | 93 | requirements = kivy,requests 94 | 95 | If your application tries to install a Python extension (ie, a Python 96 | package that requires compilation), and the extension doesn't have a recipe 97 | associated to Python-for-android, it will not work. We explicitly disable 98 | the compilation here. If you want to make it work, contribute to the 99 | Python-for-android project by creating a recipe. See :doc:`contribute`. 100 | 101 | - `garden_requirements`: List, Garden packages to include. 102 | 103 | Add here the list of Kivy's garden packages to include. For example:: 104 | 105 | garden_requirements = graph 106 | 107 | Please note that if it doesn't work, it might be because of the garden 108 | package itself. Refer to the author of the package if he already tested 109 | it on your target platform, not us. 110 | 111 | - `presplash.filename`: String, loading screen of your application. 112 | 113 | Presplash is the image shown on the device during application loading. 114 | It is called presplash on Android, and Loading image on iOS. The image might 115 | have different requirements depending the platform. Currently, Buildozer 116 | works well only with Android, iOS support is not great on this. 117 | 118 | The image must be a JPG or PNG, preferable with Power-of-two size. Ie, an 119 | 512x512 image is perfect to target all the devices. The image is not fitted, 120 | scaled, or anything on the device. If you provide a too-large image, it might 121 | not fit on small screens. 122 | 123 | - `icon.filename`: String, icon of your application. 124 | 125 | The icon of your application. It must be a PNG of 512x512 size to be able to 126 | cover all the various platform requirements. 127 | 128 | - `orientation`: String, orientation of the application. 129 | 130 | Indicate the orientation that your application supports. Defaults to 131 | `landscape`, but can be changed to `portrait` or `all`. 132 | 133 | - `fullscreen`: Boolean, fullscreen mode. 134 | 135 | Defaults to true, your application will run in fullscreen. Means the status 136 | bar will be hidden. If you want to let the user access the status bar, 137 | hour, notifications, use 0 as a value. 138 | 139 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | BUILDDIR = build 9 | 10 | # User-friendly check for sphinx-build 11 | ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) 12 | $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) 13 | endif 14 | 15 | # Internal variables. 16 | PAPEROPT_a4 = -D latex_paper_size=a4 17 | PAPEROPT_letter = -D latex_paper_size=letter 18 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 19 | # the i18n builder cannot share the environment and doctrees with the others 20 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 21 | 22 | .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext 23 | 24 | help: 25 | @echo "Please use \`make ' where is one of" 26 | @echo " html to make standalone HTML files" 27 | @echo " dirhtml to make HTML files named index.html in directories" 28 | @echo " singlehtml to make a single large HTML file" 29 | @echo " pickle to make pickle files" 30 | @echo " json to make JSON files" 31 | @echo " htmlhelp to make HTML files and a HTML help project" 32 | @echo " qthelp to make HTML files and a qthelp project" 33 | @echo " devhelp to make HTML files and a Devhelp project" 34 | @echo " epub to make an epub" 35 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 36 | @echo " latexpdf to make LaTeX files and run them through pdflatex" 37 | @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" 38 | @echo " text to make text files" 39 | @echo " man to make manual pages" 40 | @echo " texinfo to make Texinfo files" 41 | @echo " info to make Texinfo files and run them through makeinfo" 42 | @echo " gettext to make PO message catalogs" 43 | @echo " changes to make an overview of all changed/added/deprecated items" 44 | @echo " xml to make Docutils-native XML files" 45 | @echo " pseudoxml to make pseudoxml-XML files for display purposes" 46 | @echo " linkcheck to check all external links for integrity" 47 | @echo " doctest to run all doctests embedded in the documentation (if enabled)" 48 | 49 | clean: 50 | rm -rf $(BUILDDIR)/* 51 | 52 | html: 53 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 54 | @echo 55 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." 56 | 57 | dirhtml: 58 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml 59 | @echo 60 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." 61 | 62 | singlehtml: 63 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml 64 | @echo 65 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." 66 | 67 | pickle: 68 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle 69 | @echo 70 | @echo "Build finished; now you can process the pickle files." 71 | 72 | json: 73 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json 74 | @echo 75 | @echo "Build finished; now you can process the JSON files." 76 | 77 | htmlhelp: 78 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp 79 | @echo 80 | @echo "Build finished; now you can run HTML Help Workshop with the" \ 81 | ".hhp project file in $(BUILDDIR)/htmlhelp." 82 | 83 | qthelp: 84 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp 85 | @echo 86 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \ 87 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:" 88 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Buildozer.qhcp" 89 | @echo "To view the help file:" 90 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Buildozer.qhc" 91 | 92 | devhelp: 93 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp 94 | @echo 95 | @echo "Build finished." 96 | @echo "To view the help file:" 97 | @echo "# mkdir -p $$HOME/.local/share/devhelp/Buildozer" 98 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Buildozer" 99 | @echo "# devhelp" 100 | 101 | epub: 102 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub 103 | @echo 104 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub." 105 | 106 | latex: 107 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 108 | @echo 109 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." 110 | @echo "Run \`make' in that directory to run these through (pdf)latex" \ 111 | "(use \`make latexpdf' here to do that automatically)." 112 | 113 | latexpdf: 114 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 115 | @echo "Running LaTeX files through pdflatex..." 116 | $(MAKE) -C $(BUILDDIR)/latex all-pdf 117 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 118 | 119 | latexpdfja: 120 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 121 | @echo "Running LaTeX files through platex and dvipdfmx..." 122 | $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja 123 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 124 | 125 | text: 126 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text 127 | @echo 128 | @echo "Build finished. The text files are in $(BUILDDIR)/text." 129 | 130 | man: 131 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man 132 | @echo 133 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man." 134 | 135 | texinfo: 136 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 137 | @echo 138 | @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." 139 | @echo "Run \`make' in that directory to run these through makeinfo" \ 140 | "(use \`make info' here to do that automatically)." 141 | 142 | info: 143 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 144 | @echo "Running Texinfo files through makeinfo..." 145 | make -C $(BUILDDIR)/texinfo info 146 | @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." 147 | 148 | gettext: 149 | $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale 150 | @echo 151 | @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." 152 | 153 | changes: 154 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes 155 | @echo 156 | @echo "The overview file is in $(BUILDDIR)/changes." 157 | 158 | linkcheck: 159 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck 160 | @echo 161 | @echo "Link check complete; look for any errors in the above output " \ 162 | "or in $(BUILDDIR)/linkcheck/output.txt." 163 | 164 | doctest: 165 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest 166 | @echo "Testing of doctests in the sources finished, look at the " \ 167 | "results in $(BUILDDIR)/doctest/output.txt." 168 | 169 | xml: 170 | $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml 171 | @echo 172 | @echo "Build finished. The XML files are in $(BUILDDIR)/xml." 173 | 174 | pseudoxml: 175 | $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml 176 | @echo 177 | @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." 178 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM Command file for Sphinx documentation 4 | 5 | if "%SPHINXBUILD%" == "" ( 6 | set SPHINXBUILD=sphinx-build 7 | ) 8 | set BUILDDIR=build 9 | set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source 10 | set I18NSPHINXOPTS=%SPHINXOPTS% source 11 | if NOT "%PAPER%" == "" ( 12 | set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% 13 | set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% 14 | ) 15 | 16 | if "%1" == "" goto help 17 | 18 | if "%1" == "help" ( 19 | :help 20 | echo.Please use `make ^` where ^ is one of 21 | echo. html to make standalone HTML files 22 | echo. dirhtml to make HTML files named index.html in directories 23 | echo. singlehtml to make a single large HTML file 24 | echo. pickle to make pickle files 25 | echo. json to make JSON files 26 | echo. htmlhelp to make HTML files and a HTML help project 27 | echo. qthelp to make HTML files and a qthelp project 28 | echo. devhelp to make HTML files and a Devhelp project 29 | echo. epub to make an epub 30 | echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter 31 | echo. text to make text files 32 | echo. man to make manual pages 33 | echo. texinfo to make Texinfo files 34 | echo. gettext to make PO message catalogs 35 | echo. changes to make an overview over all changed/added/deprecated items 36 | echo. xml to make Docutils-native XML files 37 | echo. pseudoxml to make pseudoxml-XML files for display purposes 38 | echo. linkcheck to check all external links for integrity 39 | echo. doctest to run all doctests embedded in the documentation if enabled 40 | goto end 41 | ) 42 | 43 | if "%1" == "clean" ( 44 | for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i 45 | del /q /s %BUILDDIR%\* 46 | goto end 47 | ) 48 | 49 | 50 | %SPHINXBUILD% 2> nul 51 | if errorlevel 9009 ( 52 | echo. 53 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 54 | echo.installed, then set the SPHINXBUILD environment variable to point 55 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 56 | echo.may add the Sphinx directory to PATH. 57 | echo. 58 | echo.If you don't have Sphinx installed, grab it from 59 | echo.http://sphinx-doc.org/ 60 | exit /b 1 61 | ) 62 | 63 | if "%1" == "html" ( 64 | %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html 65 | if errorlevel 1 exit /b 1 66 | echo. 67 | echo.Build finished. The HTML pages are in %BUILDDIR%/html. 68 | goto end 69 | ) 70 | 71 | if "%1" == "dirhtml" ( 72 | %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml 73 | if errorlevel 1 exit /b 1 74 | echo. 75 | echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. 76 | goto end 77 | ) 78 | 79 | if "%1" == "singlehtml" ( 80 | %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml 81 | if errorlevel 1 exit /b 1 82 | echo. 83 | echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. 84 | goto end 85 | ) 86 | 87 | if "%1" == "pickle" ( 88 | %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle 89 | if errorlevel 1 exit /b 1 90 | echo. 91 | echo.Build finished; now you can process the pickle files. 92 | goto end 93 | ) 94 | 95 | if "%1" == "json" ( 96 | %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json 97 | if errorlevel 1 exit /b 1 98 | echo. 99 | echo.Build finished; now you can process the JSON files. 100 | goto end 101 | ) 102 | 103 | if "%1" == "htmlhelp" ( 104 | %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp 105 | if errorlevel 1 exit /b 1 106 | echo. 107 | echo.Build finished; now you can run HTML Help Workshop with the ^ 108 | .hhp project file in %BUILDDIR%/htmlhelp. 109 | goto end 110 | ) 111 | 112 | if "%1" == "qthelp" ( 113 | %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp 114 | if errorlevel 1 exit /b 1 115 | echo. 116 | echo.Build finished; now you can run "qcollectiongenerator" with the ^ 117 | .qhcp project file in %BUILDDIR%/qthelp, like this: 118 | echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Buildozer.qhcp 119 | echo.To view the help file: 120 | echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Buildozer.ghc 121 | goto end 122 | ) 123 | 124 | if "%1" == "devhelp" ( 125 | %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp 126 | if errorlevel 1 exit /b 1 127 | echo. 128 | echo.Build finished. 129 | goto end 130 | ) 131 | 132 | if "%1" == "epub" ( 133 | %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub 134 | if errorlevel 1 exit /b 1 135 | echo. 136 | echo.Build finished. The epub file is in %BUILDDIR%/epub. 137 | goto end 138 | ) 139 | 140 | if "%1" == "latex" ( 141 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 142 | if errorlevel 1 exit /b 1 143 | echo. 144 | echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. 145 | goto end 146 | ) 147 | 148 | if "%1" == "latexpdf" ( 149 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 150 | cd %BUILDDIR%/latex 151 | make all-pdf 152 | cd %BUILDDIR%/.. 153 | echo. 154 | echo.Build finished; the PDF files are in %BUILDDIR%/latex. 155 | goto end 156 | ) 157 | 158 | if "%1" == "latexpdfja" ( 159 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 160 | cd %BUILDDIR%/latex 161 | make all-pdf-ja 162 | cd %BUILDDIR%/.. 163 | echo. 164 | echo.Build finished; the PDF files are in %BUILDDIR%/latex. 165 | goto end 166 | ) 167 | 168 | if "%1" == "text" ( 169 | %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text 170 | if errorlevel 1 exit /b 1 171 | echo. 172 | echo.Build finished. The text files are in %BUILDDIR%/text. 173 | goto end 174 | ) 175 | 176 | if "%1" == "man" ( 177 | %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man 178 | if errorlevel 1 exit /b 1 179 | echo. 180 | echo.Build finished. The manual pages are in %BUILDDIR%/man. 181 | goto end 182 | ) 183 | 184 | if "%1" == "texinfo" ( 185 | %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo 186 | if errorlevel 1 exit /b 1 187 | echo. 188 | echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. 189 | goto end 190 | ) 191 | 192 | if "%1" == "gettext" ( 193 | %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale 194 | if errorlevel 1 exit /b 1 195 | echo. 196 | echo.Build finished. The message catalogs are in %BUILDDIR%/locale. 197 | goto end 198 | ) 199 | 200 | if "%1" == "changes" ( 201 | %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes 202 | if errorlevel 1 exit /b 1 203 | echo. 204 | echo.The overview file is in %BUILDDIR%/changes. 205 | goto end 206 | ) 207 | 208 | if "%1" == "linkcheck" ( 209 | %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck 210 | if errorlevel 1 exit /b 1 211 | echo. 212 | echo.Link check complete; look for any errors in the above output ^ 213 | or in %BUILDDIR%/linkcheck/output.txt. 214 | goto end 215 | ) 216 | 217 | if "%1" == "doctest" ( 218 | %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest 219 | if errorlevel 1 exit /b 1 220 | echo. 221 | echo.Testing of doctests in the sources finished, look at the ^ 222 | results in %BUILDDIR%/doctest/output.txt. 223 | goto end 224 | ) 225 | 226 | if "%1" == "xml" ( 227 | %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml 228 | if errorlevel 1 exit /b 1 229 | echo. 230 | echo.Build finished. The XML files are in %BUILDDIR%/xml. 231 | goto end 232 | ) 233 | 234 | if "%1" == "pseudoxml" ( 235 | %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml 236 | if errorlevel 1 exit /b 1 237 | echo. 238 | echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. 239 | goto end 240 | ) 241 | 242 | :end 243 | -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Buildozer documentation build configuration file, created by 4 | # sphinx-quickstart on Sun Apr 20 16:56:31 2014. 5 | # 6 | # This file is execfile()d with the current directory set to its containing dir. 7 | # 8 | # Note that not all possible configuration values are present in this 9 | # autogenerated file. 10 | # 11 | # All configuration values have a default; values that are commented out 12 | # serve to show the default. 13 | 14 | import sys, os 15 | 16 | # If extensions (or modules to document with autodoc) are in another directory, 17 | # add these directories to sys.path here. If the directory is relative to the 18 | # documentation root, use os.path.abspath to make it absolute, like shown here. 19 | #sys.path.insert(0, os.path.abspath('.')) 20 | 21 | # -- General configuration ----------------------------------------------------- 22 | 23 | # If your documentation needs a minimal Sphinx version, state it here. 24 | #needs_sphinx = '1.0' 25 | 26 | # Add any Sphinx extension module names here, as strings. They can be extensions 27 | # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. 28 | extensions = [] 29 | 30 | # Add any paths that contain templates here, relative to this directory. 31 | templates_path = ['_templates'] 32 | 33 | # The suffix of source filenames. 34 | source_suffix = '.rst' 35 | 36 | # The encoding of source files. 37 | #source_encoding = 'utf-8-sig' 38 | 39 | # The master toctree document. 40 | master_doc = 'index' 41 | 42 | # General information about the project. 43 | project = u'Buildozer' 44 | copyright = u'2014, Kivy\'s Developers' 45 | 46 | # The version info for the project you're documenting, acts as replacement for 47 | # |version| and |release|, also used in various other places throughout the 48 | # built documents. 49 | # 50 | # The short X.Y version. 51 | version = '0.11' 52 | # The full version, including alpha/beta/rc tags. 53 | release = '0.11' 54 | 55 | # The language for content autogenerated by Sphinx. Refer to documentation 56 | # for a list of supported languages. 57 | #language = None 58 | 59 | # There are two options for replacing |today|: either, you set today to some 60 | # non-false value, then it is used: 61 | #today = '' 62 | # Else, today_fmt is used as the format for a strftime call. 63 | #today_fmt = '%B %d, %Y' 64 | 65 | # List of patterns, relative to source directory, that match files and 66 | # directories to ignore when looking for source files. 67 | exclude_patterns = [] 68 | 69 | # The reST default role (used for this markup: `text`) to use for all documents. 70 | #default_role = None 71 | 72 | # If true, '()' will be appended to :func: etc. cross-reference text. 73 | #add_function_parentheses = True 74 | 75 | # If true, the current module name will be prepended to all description 76 | # unit titles (such as .. function::). 77 | #add_module_names = True 78 | 79 | # If true, sectionauthor and moduleauthor directives will be shown in the 80 | # output. They are ignored by default. 81 | #show_authors = False 82 | 83 | # The name of the Pygments (syntax highlighting) style to use. 84 | pygments_style = 'sphinx' 85 | 86 | # A list of ignored prefixes for module index sorting. 87 | #modindex_common_prefix = [] 88 | 89 | # If true, keep warnings as "system message" paragraphs in the built documents. 90 | #keep_warnings = False 91 | 92 | 93 | # -- Options for HTML output --------------------------------------------------- 94 | 95 | # The theme to use for HTML and HTML Help pages. See the documentation for 96 | # a list of builtin themes. 97 | html_theme = 'default' 98 | 99 | # Theme options are theme-specific and customize the look and feel of a theme 100 | # further. For a list of options available for each theme, see the 101 | # documentation. 102 | #html_theme_options = {} 103 | 104 | # Add any paths that contain custom themes here, relative to this directory. 105 | #html_theme_path = [] 106 | 107 | # The name for this set of Sphinx documents. If None, it defaults to 108 | # " v documentation". 109 | #html_title = None 110 | 111 | # A shorter title for the navigation bar. Default is the same as html_title. 112 | #html_short_title = None 113 | 114 | # The name of an image file (relative to this directory) to place at the top 115 | # of the sidebar. 116 | #html_logo = None 117 | 118 | # The name of an image file (within the static path) to use as favicon of the 119 | # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 120 | # pixels large. 121 | #html_favicon = None 122 | 123 | # Add any paths that contain custom static files (such as style sheets) here, 124 | # relative to this directory. They are copied after the builtin static files, 125 | # so a file named "default.css" will overwrite the builtin "default.css". 126 | html_static_path = ['_static'] 127 | 128 | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, 129 | # using the given strftime format. 130 | #html_last_updated_fmt = '%b %d, %Y' 131 | 132 | # If true, SmartyPants will be used to convert quotes and dashes to 133 | # typographically correct entities. 134 | #html_use_smartypants = True 135 | 136 | # Custom sidebar templates, maps document names to template names. 137 | #html_sidebars = {} 138 | 139 | # Additional templates that should be rendered to pages, maps page names to 140 | # template names. 141 | #html_additional_pages = {} 142 | 143 | # If false, no module index is generated. 144 | #html_domain_indices = True 145 | 146 | # If false, no index is generated. 147 | #html_use_index = True 148 | 149 | # If true, the index is split into individual pages for each letter. 150 | #html_split_index = False 151 | 152 | # If true, links to the reST sources are added to the pages. 153 | #html_show_sourcelink = True 154 | 155 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. 156 | #html_show_sphinx = True 157 | 158 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. 159 | #html_show_copyright = True 160 | 161 | # If true, an OpenSearch description file will be output, and all pages will 162 | # contain a tag referring to it. The value of this option must be the 163 | # base URL from which the finished HTML is served. 164 | #html_use_opensearch = '' 165 | 166 | # This is the file name suffix for HTML files (e.g. ".xhtml"). 167 | #html_file_suffix = None 168 | 169 | # Output file base name for HTML help builder. 170 | htmlhelp_basename = 'Buildozerdoc' 171 | 172 | 173 | # -- Options for LaTeX output -------------------------------------------------- 174 | 175 | latex_elements = { 176 | # The paper size ('letterpaper' or 'a4paper'). 177 | #'papersize': 'letterpaper', 178 | 179 | # The font size ('10pt', '11pt' or '12pt'). 180 | #'pointsize': '10pt', 181 | 182 | # Additional stuff for the LaTeX preamble. 183 | #'preamble': '', 184 | } 185 | 186 | # Grouping the document tree into LaTeX files. List of tuples 187 | # (source start file, target name, title, author, documentclass [howto/manual]). 188 | latex_documents = [ 189 | ('index', 'Buildozer.tex', u'Buildozer Documentation', 190 | u'Kivy\'s Developers', 'manual'), 191 | ] 192 | 193 | # The name of an image file (relative to this directory) to place at the top of 194 | # the title page. 195 | #latex_logo = None 196 | 197 | # For "manual" documents, if this is true, then toplevel headings are parts, 198 | # not chapters. 199 | #latex_use_parts = False 200 | 201 | # If true, show page references after internal links. 202 | #latex_show_pagerefs = False 203 | 204 | # If true, show URL addresses after external links. 205 | #latex_show_urls = False 206 | 207 | # Documents to append as an appendix to all manuals. 208 | #latex_appendices = [] 209 | 210 | # If false, no module index is generated. 211 | #latex_domain_indices = True 212 | 213 | 214 | # -- Options for manual page output -------------------------------------------- 215 | 216 | # One entry per manual page. List of tuples 217 | # (source start file, name, description, authors, manual section). 218 | man_pages = [ 219 | ('index', 'buildozer', u'Buildozer Documentation', 220 | [u'Kivy\'s Developers'], 1) 221 | ] 222 | 223 | # If true, show URL addresses after external links. 224 | #man_show_urls = False 225 | 226 | 227 | # -- Options for Texinfo output ------------------------------------------------ 228 | 229 | # Grouping the document tree into Texinfo files. List of tuples 230 | # (source start file, target name, title, author, 231 | # dir menu entry, description, category) 232 | texinfo_documents = [ 233 | ('index', 'Buildozer', u'Buildozer Documentation', 234 | u'Kivy\'s Developers', 'Buildozer', 'One line description of project.', 235 | 'Miscellaneous'), 236 | ] 237 | 238 | # Documents to append as an appendix to all manuals. 239 | #texinfo_appendices = [] 240 | 241 | # If false, no module index is generated. 242 | #texinfo_domain_indices = True 243 | 244 | # How to display URL addresses: 'footnote', 'no', or 'inline'. 245 | #texinfo_show_urls = 'footnote' 246 | 247 | # If true, do not generate a @detailmenu in the "Top" node's menu. 248 | #texinfo_no_detailmenu = False 249 | --------------------------------------------------------------------------------