1.4.2
Added:
- Documentation: Basic usage examples in `README.md`.
Changed:
- More detailed error message in case of Graphviz errors.
- More detailed warning message in case of failure to import the DOT
parser module.
Deprecated:
- A future pydot 2.0.0 will drop support for Python 2, 3.4 and
possibly other Python versions that are end-of-life at that time.
Pydot does not emit any deprecation warnings about this. Further
pydot 1.x.x releases are currently not foreseen, but if there are
any, should still support the mentioned Python versions.
Fixed:
- On Python 2, non-equality comparison (`!=`) between two separate, but
equal `Edge` instances will now correctly return `False`, as it
already did on Python 3.
- Prevent `TypeError` in handling of DOT parser error.
- Prevent `TypeError` in `graph_from_adjacency_matrix()` and
`graph_from_incidence_matrix()`.
- Prevent `TypeError` when creating an edge with a `Subgraph` or
`Cluster` object (as opposed to name string) as an edge point.
- Windows only: Fixed most failures to find Graphviz when a conda or
Anaconda installation exists, but Graphviz was installed manually or
through pip (`.bat`/`.exe` suffix problem).
- Windows only: Fixed failure to run Graphviz related to side-by-side
assembly (SxS) by now propagating the `SYSTEMROOT` environment
variable.
1.4.1:
- Make graph, edge, node attributes order deterministic
- Fix string formatting after catching error
1.4.0:
- Installation of pydot in conda env on Windows directly supported
- Fixed comparing of SHA hash in regression tests (which fail now)
1.3.0:
- Dropped Python 2.6 support
- Move errno from os to builtin.
1.2.4:
- ENH: propagate LD_LIBRARY_PATH when calling GraphViz
- API: raise OSError when a GraphViz executable is not found
- API: add method __str__ to classes Node, Edge, Graph
- API: add arg encoding to Dot methods create, write
- API: quote cluster names when necessary
- API: give source and destination nodes as separate args to Edge.__init__
- API: never ignore src, dst, overwrite if points defined in obj_dict
# `pydot` changelog
## 1.2.0 (2016-07-01)
- Python 3 compatibility
- bumped dependency to `pyparsing >= 2.1.4`
- tests running on Travis CI
- tests require `chardet`
- detect character encoding for most test files
using the package `chardet`
API:
- on all operating systems, search GraphViz
executables in environment `$PATH`,
using `subprocess.Popen`.
No paths hard-coded due to security and privacy issues.
- add option to pass GraphViz executable name
or absolute path as `prog` to `pydot.Dot.write_*` methods.
This provides an alternative to
adding GraphViz to the `$PATH`.
- the functions:
- `pydot.graph_from_dot_data`
- `pydot.graph_from_dot_file`
- `dot_parser.parse_dot_data`
changed to always return a `list` of graphs,
instead of behaving differently for singletons.
- require that the user explicitly give an encoding to
the function `pydot.graph_from_dot_file`,
with default encoding same as `io.open`.
- decode to unicode at program boundaries, and
treat binary images as bytes,
for more compatibility with python 3.
Use `io.open`, instead of the built-in `open`.
- rm function `pydot.set_graphviz_executables`
- rm attribute `pydot.Dot.progs`
## 1.1.0 (2016-05-23)
- compatibility with `pyparsing >= 1.5.7`
API:
- `pydot.Graph.to_string`: hide `subgraph` keyword only if so requested
- produce `warnings.warn` if `pydot.dot_parser` fails to import,
instead of `print`
## 1.0.29 (2016-05-16)
- Maintenance release that keeps the same API
- pin `pyparsing == 1.5.7`
- update version number in source code
- update `setup.py`