amolenaar / gaphas

Gaphas is a diagramming widget for GTK+, written in Python

This URL has Read+Write access

gaphas / setup.py
100644 115 lines (84 sloc) 2.836 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
"""\
Gaphas is a MVC canvas that uses Cairo_ for rendering. One of the nicer things
of this widget is that the user (model) is not bothered with bounding box
calculations: this is all done through Cairo.
 
Some more features:
 
- Each item has it's own separate coordinate space (easy when items are
rotated).
- Items on the canvas can be connected to each other. Connections are
maintained by a linear constraint solver.
- Multiple views on one Canvas.
- What is drawn is determined by Painters. Multiple painters can be used and
painters can be chained.
- User interaction is handled by Tools. Tools can be chained.
- Versatile undo/redo system
 
GTK+ and PyGTK_ are required.
 
.. _Cairo: http://cairographics.org/
.. _PyGTK: http://www.pygtk.org/
"""
 
VERSION = '0.5.0'
 
from ez_setup import use_setuptools
 
use_setuptools()
 
from setuptools import setup, find_packages
from distutils.cmd import Command
 
class build_doc(Command):
    description = 'Builds the documentation'
    user_options = []
 
    def initialize_options(self):
        pass
 
    def finalize_options(self):
        pass
 
    def run(self):
        epydoc_conf = 'epydoc.conf'
 
        try:
            import sys
            from epydoc import cli
            old_argv = sys.argv[1:]
            sys.argv[1:] = [
                '--config=%s' % epydoc_conf,
                '--no-private', # epydoc bug, not read from config
                '--simple-term',
                '--verbose'
            ]
            cli.cli()
            sys.argv[1:] = old_argv
 
        except ImportError:
            print 'epydoc not installed, skipping API documentation.'
 
setup(
    name='gaphas',
    version=VERSION,
    description='Gaphas is a GTK+ based diagramming widget',
    long_description=__doc__,
 
    classifiers=[
    'Development Status :: 4 - Beta',
    'Environment :: X11 Applications :: GTK',
    'Intended Audience :: Developers',
    'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
    'Programming Language :: Python',
    'Topic :: Software Development :: Libraries :: Python Modules',
    ],
 
    keywords='',
 
    author="Arjan J. Molenaar",
    author_email='arjanmol@users.sourceforge.net',
 
    url='http://gaphor.devjavu.com/wiki/Subprojects/Gaphas',
 
    #download_url='http://cheeseshop.python.org/',
 
    license='GNU Library General Public License (LGPL, see COPYING)',
 
    packages=find_packages(exclude=['ez_setup']),
 
    setup_requires = [
     'nose >= 0.10.4',
     'setuptools-git >= 0.3.4'
    ],
 
    install_requires=[
     'decorator >= 3.0.0',
# 'PyGTK >= 2.8.0',
# 'cairo >= 1.8.2'
    ],
 
    zip_safe=False,
 
    package_data={
    # -*- package_data: -*-
    },
 
    entry_points = {
    },
 
    test_suite = 'nose.collector',
 
    cmdclass={'build_doc': build_doc },
    )