Subject: CVS commit: pkgsrc/graphics/py-dot
From: Adam Ciarcinski
Date: 2024-02-06 22:40:08
Message id: 20240206214008.B2F19FA42@cvs.NetBSD.org

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.

Files:
RevisionActionfile
1.14modifypkgsrc/graphics/py-dot/Makefile
1.4modifypkgsrc/graphics/py-dot/PLIST
1.10modifypkgsrc/graphics/py-dot/distinfo