Log message:
py-dot: updated to 3.0.4
3.0.4 (2025-01-05)
- Fixed capitalized keywords in labels being unquoted.
3.0.3 (2024-11-30)
- Fixed numeric quoting behavior.
3.0.2 (2024-09-25)
Added:
- All `to_string()` methods now accept an `indent` keyword argument, which can be
either a number or a string. `indentation=4` will indent each level of the
output with four spaces. `indentation=" "` will indent each level \
by that many
spaces. Other whitespace is also valid, e.g. indent="\t" for tab indents.
Changed:
- Fixed quoting of identifiers with dots.
- Fixed quoting of leading-numeral strings (strings starting with a number).
- Fixed pickling/copying of Dot objects.
- Improved handling of temporary files. Temporary files will be cleaned up in
all cases, even when exceptions are raised or things exit unexpectedly.
- From now on, the license files will be included in the distributed
release as expected.
3.0.1 (2024-07-16)
This is a bugfix release to correct a critical error introduced in 3.0.0.
Changed:
- Fix quoting in `Edge.to_string()`.
|
Log message:
py-dot: updated to 2.0.0
2.0.0 (2023-12-30)
------------------
Changed:
- Broken parsing caused by `pyparsing` updates fixed.
With this, the pydot project rises from the dead.
- (Internal) CI revived by @ferdnyc.
Modernized and clarified the development process.
Testing is done against multiple Python versions.
- Reorganized package/module structure.
The `pydot` package is installed as a directory now instead of as
two modules:
Before (pydot 0.x, 1.x) After (pydot 2.x)
site-packages/ site-packages/
|-- pydot.py `-- pydot/
`-- dot_parser.py |-- __init__.py
|-- core.py
|-- dot_parser.py
`-- exceptions.py
This is mostly an internal change that should go unnoticed by most
users, especially those upgrading through `pip` or a software
distribution. `import pydot` should work as it did before.
Special cases:
- `import dot_parser` no longer works. Change it to
`from pydot import dot_parser` or see if you can use the wrappers
`pydot.graph_from_dot_data()` or `pydot.graph_from_dot_file()`.
**USER FEEDBACK REQUESTED**
We assume pydot users do not often directly `import dot_parser`.
If you do, please report your reasons, so that we can consider
making it available again before the final release of pydot 2.0:
https://github.com/pydot/pydot/issues/230
- If you use pydot from a (cloned) pydot source tree:
- The pydot source modules moved from the top directory to
subdirectory `src/pydot/`.
- When using a `PYTHONPATH` environment variable: Append `/src`,
e.g. `PYTHONPATH=~/Development/pydot/src`. If you need to switch
between pydot 1.x and pydot 2.x, add both, e.g.
`PYTHONPATH=~/Development/pydot/src:~/Development/pydot`
- When using an editable install (development mode): Re-run
`pip install -e .` from the top directory of the source tree to
update the links.
- For users of the test suite:
- The test suite no longer refuses to run from the top of the
source tree.
- This makes the test suite option `--no-check` redundant. It has
no effect except for printing a deprecation warning. It will be
removed in a future major release (pydot 3 or higher), then
leading to an error.
- Reorganized exception hierarchy:
- New base class `PydotException`, derived from Python's `Exception`.
- Pydot's `Error` exception class is now derived from `PydotException`
instead of from Python's built-in `Exception` directly. Existing
handlers should not be affected.
- Exception class `InvocationException` was removed. It has not been
raised by pydot since 2016 (v1.2.0).
- API (minor): Renamed the first parameter of the parser functions
listed below from `str` to `s`. These functions primarily exist for
internal use and would normally be called using positional arguments,
so few users should be affected.
push_top_graph_stmt(s, loc, toks)
push_graph_stmt(s, loc, toks)
push_subgraph_stmt(s, loc, toks)
push_default_stmt(s, loc, toks)
push_attr_list(s, loc, toks)
push_edge_stmt(s, loc, toks)
Deprecated:
- Test suite option `--no-check`. See "Reorganized package/module
structure" above.
Removed:
- Drop support for Python 2 and Python < 3.7.
**USER FEEDBACK REQUESTED**
~~We are considering if pydot 2.0 should drop support for Python 3.5
and 3.6 as well. If this would affect you, please leave a comment in
https://github.com/pydot/pydot/issues/268.~~
EDIT: This was decided to be done, with a lot of time passed since this entry.
|