./graphics/py-dot, Python interface to Graphvizs Dot language

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.0.0, Package name: py312-dot-2.0.0, Maintainer: pkgsrc-users

allows to easily create both directed and non directed graphs from Python.
Currently all attributes implemented in the Dot language are supported (up to
Graphviz 2.26.3).

Output can be inlined in Postscript into interactive scientific environments
like TeXmacs, or output in any of the format's supported by the Graphviz tools
dot, neato, twopi.


Required to run:
[graphics/graphviz] [devel/py-setuptools] [devel/py-pyparsing] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 148.459 KB

Version history: (Expand)


CVS history: (Expand)


   2024-02-06 22:40:08 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
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.
   2022-07-21 00:16:56 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-dot: restrict to python3
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-11-01 19:58:33 by Thomas Klausner | Files touched by this commit (6)
Log message:
*: convert dependencies of py-pyparsing to versioned_dependencies.mk
   2021-10-26 12:47:26 by Nia Alarie | Files touched by this commit (800)
Log message:
graphics: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
   2021-10-07 16:13:27 by Nia Alarie | Files touched by this commit (800)
Log message:
graphics: Remove SHA1 hashes for distfiles
   2021-03-08 08:07:42 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dot: updated to 1.4.2

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.
   2018-12-16 15:19:16 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dot: updated to 1.4.1

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.