wting / python-graph

Automatically exported from code.google.com/p/python-graph
Other
5 stars 4 forks source link

Make pydot an optional requirement #33

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Would it be possible to make pydot be an optional requirement so that those
who won't be interacting with Graphviz don't need it?

Original issue reported on code.google.com by benliles on 16 Jul 2009 at 9:54

GoogleCodeExporter commented 9 years ago
Yes, I'm working on this. I've been on holiday for a while but I am planning to 
get
started on this again. 

Original comment by salimfadhley@gmail.com on 16 Jul 2009 at 10:16

GoogleCodeExporter commented 9 years ago
If you grant me commit access, I'd be more than willing to make the changes.

Original comment by benliles on 16 Jul 2009 at 10:27

GoogleCodeExporter commented 9 years ago
What specifically are you thinking of doing? 

If you are interested in developing you should join on the python-graph google 
group. 

Original comment by salimfadhley@gmail.com on 17 Jul 2009 at 6:49

GoogleCodeExporter commented 9 years ago
pydot is only used when reading and writing which is being moved to
algorithms/readwrite.py in the trunk I believe. I would do the following:

1. line 34: wrap the import in a try/except block and catch ImportError's, if 
they
occur, set pydot to None
2. At the top of the functions that use pydot, I would add an if statement 
checking
to see if pydot was None, if so, raise an exception that pydot must be 
installed in
order to use that function.
3. In the setup.py, I would change the install_requires = ['pydot'] to an
extras_require = {'pydot': ['pydot'],}
(http://peak.telecommunity.com/DevCenter/setuptools#declaring-extras-optional-fe
atures-with-their-own-dependencies)

I'm not really interested in becoming a really active developer in python-graph
because I'm already spread too thin. I'm not using the pydot functions and the
problems with one of the packages that pydot neeeds is keeping me from 
installing on
our servers.

Original comment by benliles on 17 Jul 2009 at 9:53

GoogleCodeExporter commented 9 years ago
Hi,

There is an alternative proposal which is to entirely separate out components 
which
depend on PyDot into a different package.

In addition to the core python-graph package there would be a python-graph-dot
package which would depend on both python-graph and pydot. The beauty of this
approach is that if you want the dot support you can just install the
python-graph-dot package and let setuptools / pypi take care of finding all of 
your
dependancies. 

Likewise, if you do not want pydot support just install python-graph.

Anyway, I'm working on it. I'd suggest subscribing to the group anyway if you 
are
interested. You need not become an activist.

Sal

Original comment by belindap...@googlemail.com on 17 Jul 2009 at 10:01

GoogleCodeExporter commented 9 years ago

Original comment by pmatiello on 20 Jul 2009 at 6:30

GoogleCodeExporter commented 9 years ago

Original comment by pmatiello on 13 Sep 2009 at 1:15

GoogleCodeExporter commented 9 years ago
Done.

Original comment by pmatiello on 30 Sep 2009 at 10:04