add bpy.types as a module for convenient imports, eg:
[blender.git] / release / scripts / modules / bpy / __init__.py
1 # ##### BEGIN GPL LICENSE BLOCK #####
2 #
3 #  This program is free software; you can redistribute it and/or
4 #  modify it under the terms of the GNU General Public License
5 #  as published by the Free Software Foundation; either version 2
6 #  of the License, or (at your option) any later version.
7 #
8 #  This program is distributed in the hope that it will be useful,
9 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 #  GNU General Public License for more details.
12 #
13 #  You should have received a copy of the GNU General Public License
14 #  along with this program; if not, write to the Free Software Foundation,
15 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # ##### END GPL LICENSE BLOCK #####
18
19 # <pep8-80 compliant>
20
21 """
22 Give access to blender data and utility functions.
23 """
24
25 __all__ = (
26     "app",
27     "context",
28     "data",
29     "ops",
30     "path",
31     "props",
32     "types",
33     "utils",
34     )
35
36
37 # internal blender C module
38 from _bpy import types, props, app, data, context
39
40 # python modules
41 from . import utils, path, ops
42
43 # fake operator module
44 ops = ops.ops_fake_module
45
46
47 def main():
48     import sys
49
50     # Possibly temp. addons path
51     from os.path import join, dirname, normpath
52     sys.path.append(normpath(join(dirname(__file__),
53                                    "..", "..", "addons", "modules")))
54
55     # fake module to allow:
56     #   from bpy.types import Panel
57     sys.modules["bpy.types"] = types
58
59     # if "-d" in sys.argv: # Enable this to measure startup speed
60     if 0:
61         import cProfile
62         cProfile.run('import bpy; bpy.utils.load_scripts()', 'blender.prof')
63
64         import pstats
65         p = pstats.Stats('blender.prof')
66         p.sort_stats('cumulative').print_stats(100)
67
68     else:
69         utils.load_scripts()
70
71
72 main()
73
74 del main