Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency pydot to v3 #843

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update dependency pydot to v3 #843

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 17, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pydot (changelog) ==1.4.2 -> ==3.0.2 age adoption passing confidence

Release Notes

pydot/pydot (pydot)

v3.0.2

Compare Source

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. (#​359)

Changed:

  • Fixed quoting of identifiers with dots. (#​419)
  • Fixed quoting of leading-numeral strings (strings starting with a number). (#​411)
  • Fixed pickling/copying of Dot objects. (#​403)
  • Improved handling of temporary files. Temporary files will be cleaned up in
    all cases, even when exceptions are raised or things exit unexpectedly. (#​394)
  • From now on, the license files will be included in the distributed
    release as expected. (#​392)

v3.0.1

Compare Source

This is a bugfix release to correct a critical error introduced in 3.0.0.

Changed:

  • Fix quoting in Edge.to_string(). (#​384)

v3.0.0

Compare Source

Removed:

  • Breaking change: support for Python 3.7 dropped totally (#​371).
    It was already dropped, but now it's official.
  • Breaking change (but for nobody): Invalid syntax removed (#​377).
    Removed syntax rules that were never implemented in graphviz's own parser.
  • Attribute sorting removed (#​361).
    Pydot will preserve the original order of attributes as defined.
  • Breaking change: Remove .create_attribute_methods() from classes (#​318).
    Setters and getters for attributes are now added to class definitions
    by calls to pydot.core.__generate_attribute_methods() immediately
    after the class is defined, for better compatibility with type-checking
    and introspection.

Changed:

  • Internal storage and lookup of identifiers (names) improved (#​363).
    Pydot now always stores values as they were originally input, and only performs
    quoting on output.
    Previously, when a graph element was created with a name that contained a space
    or otherwise required quoting, the quotes would be added immediately, making it
    more difficult to retrieve the element using the .get_*() lookup methods.
    If a name requiring quotes was later set using .set_name(), no quotes would be
    added, causing the graph definition to become invalid.
    (Thanks to @​tusharsadhwani for initially pointing out the name-quoting issues.)
  • Quoting for attribute values fixed (#​320).
    Attribute values containing comma-separated strings will now be quoted correctly.

Added:

  • Keywords can now be used as names or attribute values (#​363).
    Graphviz keywords like "graph" or "subgraph" will now be properly quoted
    when used as attribute values or as names, where appropriate.
  • Add standard Python logging, using the logger name pydot. For
    details, see the new section on Troubleshooting in README.md.

v2.0.0

Compare Source

Changed:

  • Broken parsing caused by pyparsing updates fixed. (#​296)
    With this, the pydot project rises from the dead.

  • (Internal) CI revived by @​ferdnyc. (#​302)
    Modernized and clarified the development process.
    Testing is done against multiple Python versions.

  • Reorganized package/module structure. (#​230)
    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 releashttps://github.com/pydot/pydot/issues/230m/Restructure package and module organization pydot/pydot#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: (#​230)

    • 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. (#​229)
    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. (#​229, #​302, #​296).
    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 cohttps://github.com/pydot/pydot/issues/268ot/issues/268.~~
    EDIT: This was decided to be done, with a lot of time passed since this entry.

Configuration

📅 Schedule: Branch creation - "at 9:00 on Monday,at 9:00 on Tuesday,at 9:00 on Wednesday,at 9:00 on Thursday,at 9:00 on Friday" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/pydot-3.x branch 8 times, most recently from 4b382ba to bca699e Compare November 18, 2024 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants