Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-importlab for 
openSUSE:Factory checked in at 2023-12-08 22:31:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-importlab (Old)
 and      /work/SRC/openSUSE:Factory/.python-importlab.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-importlab"

Fri Dec  8 22:31:53 2023 rev:8 rq:1131708 version:0.8.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-importlab/python-importlab.changes        
2022-10-29 20:18:43.570728357 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-importlab.new.25432/python-importlab.changes 
    2023-12-08 22:32:07.692164951 +0100
@@ -1,0 +2,6 @@
+Thu Dec  7 22:00:25 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.8.1:
+  * Filter out self-edges from the graph.
+
+-------------------------------------------------------------------

Old:
----
  importlab-0.8.tar.gz

New:
----
  importlab-0.8.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-importlab.spec ++++++
--- /var/tmp/diff_new_pack.GO3UHQ/_old  2023-12-08 22:32:08.364189678 +0100
+++ /var/tmp/diff_new_pack.GO3UHQ/_new  2023-12-08 22:32:08.368189826 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-importlab
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -21,7 +21,7 @@
 # python36-networkx no longer exists in Tumbleweed (due to SciPy following NEP 
29)
 %define         skip_python36 1
 Name:           python-importlab
-Version:        0.8
+Version:        0.8.1
 Release:        0
 Summary:        A library to calculate python dependency graphs
 License:        Apache-2.0

++++++ importlab-0.8.tar.gz -> importlab-0.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/CHANGELOG new/importlab-0.8.1/CHANGELOG
--- old/importlab-0.8/CHANGELOG 2022-09-22 21:26:33.000000000 +0200
+++ new/importlab-0.8.1/CHANGELOG       2023-10-07 00:39:32.000000000 +0200
@@ -1,3 +1,6 @@
+Version 0.8.1 (2023-10-06)
+* FIX: Filter out self-edges from the graph.
+
 Version 0.8 (2022-09-22)
 * Add --version to bin importlab.
 * Use ImportStatement.source to impove import resolution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/CONTRIBUTING.md 
new/importlab-0.8.1/CONTRIBUTING.md
--- old/importlab-0.8/CONTRIBUTING.md   2022-04-23 01:16:51.000000000 +0200
+++ new/importlab-0.8.1/CONTRIBUTING.md 2023-08-10 07:01:57.000000000 +0200
@@ -20,6 +20,44 @@
 All submissions, including submissions by project members, require review. We
 use Github pull requests for this purpose.
 
+### Releasing to PyPI
+
+To release to PyPI:
+
+1. (Optional) We recommend that you release from within a virtualenv:
+   ```console
+   $ python3 -m venv .venv_release
+   $ source .venv_release/bin/activate
+   ```
+1. Make sure that `wheel` and `twine` are installed:
+   ```console
+   $ pip install wheel twine
+   ```
+1. Navigate into the top-level `importlab` directory and build a source
+   distribution and a wheel:
+   ```console
+   $ cd importlab
+   $ python3 setup.py sdist bdist_wheel
+   ```
+   The build command puts the distributions in a `dist` subdirectory and also
+   creates `build` and `importlab.egginfo` subdirectories as side effects.
+1. Upload the distributions to (Test)PyPI:
+   ```console
+   $ twine upload --repository testpypi dist/*
+   ```
+   Remove the `--repository testpypi` to upload to PyPI proper.
+1. (Optional) If you've uploaded to TestPyPI, you can install your new version
+   for testing like so:
+   ```console
+   $ pip install -U --index-url https://test.pypi.org/simple/ 
--extra-index-url https://pypi.org/simple importlab
+   ```
+   If you've uploaded to PyPI proper, install with `pip install -U importlab`
+   as usual.
+1. Clean up the subdirectories created by the build command:
+   ```console
+   $ rm -rf build/ dist/ importlab.egg-info/
+   ```
+
 ### The small print
 Contributions made by corporations are covered by a different agreement than
 the one mentioned above; they're covered by the the Software Grant and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/PKG-INFO new/importlab-0.8.1/PKG-INFO
--- old/importlab-0.8/PKG-INFO  2022-09-23 00:35:42.746949200 +0200
+++ new/importlab-0.8.1/PKG-INFO        2023-10-07 00:43:29.962581000 +0200
@@ -1,12 +1,11 @@
 Metadata-Version: 2.1
 Name: importlab
-Version: 0.8
+Version: 0.8.1
 Summary: A library to calculate python dependency graphs.
 Home-page: https://github.com/google/importlab
 Maintainer: Google Inc.
 Maintainer-email: pytype-...@google.com
 License: Apache 2.0
-Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: Apache Software License
@@ -89,5 +88,3 @@
    update and parallel execution features
 
 -  Integration with other static analysis tools
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/importlab/graph.py 
new/importlab-0.8.1/importlab/graph.py
--- old/importlab-0.8/importlab/graph.py        2022-09-22 06:43:57.000000000 
+0200
+++ new/importlab-0.8.1/importlab/graph.py      2023-10-07 00:35:35.000000000 
+0200
@@ -120,7 +120,10 @@
                     queue.append(f)
                     seen.add(f)
                 self.graph.add_node(f)
-                self.graph.add_edge(filename, f)
+                if filename != f:
+                  # Prevent self edges if our dependency checker mistakenly
+                  # detects a module as its own direct dependency.
+                  self.graph.add_edge(filename, f)
 
     def shrink_to_node(self, scc):
         """Shrink a strongly connected component into a node."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/importlab.egg-info/PKG-INFO 
new/importlab-0.8.1/importlab.egg-info/PKG-INFO
--- old/importlab-0.8/importlab.egg-info/PKG-INFO       2022-09-23 
00:35:42.000000000 +0200
+++ new/importlab-0.8.1/importlab.egg-info/PKG-INFO     2023-10-07 
00:43:29.000000000 +0200
@@ -1,12 +1,11 @@
 Metadata-Version: 2.1
 Name: importlab
-Version: 0.8
+Version: 0.8.1
 Summary: A library to calculate python dependency graphs.
 Home-page: https://github.com/google/importlab
 Maintainer: Google Inc.
 Maintainer-email: pytype-...@google.com
 License: Apache 2.0
-Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: Apache Software License
@@ -89,5 +88,3 @@
    update and parallel execution features
 
 -  Integration with other static analysis tools
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/setup.py new/importlab-0.8.1/setup.py
--- old/importlab-0.8/setup.py  2022-09-22 21:26:33.000000000 +0200
+++ new/importlab-0.8.1/setup.py        2023-10-07 00:40:09.000000000 +0200
@@ -13,7 +13,7 @@
 EMAIL = 'pytype-...@google.com'
 AUTHOR = 'Google Inc.'
 REQUIRES_PYTHON = '>=3.6.0'
-VERSION = '0.8'
+VERSION = '0.8.1'
 
 REQUIRED = [
     'networkx>=2',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/importlab-0.8/tests/test_graph.py 
new/importlab-0.8.1/tests/test_graph.py
--- old/importlab-0.8/tests/test_graph.py       2022-04-23 01:16:51.000000000 
+0200
+++ new/importlab-0.8.1/tests/test_graph.py     2023-10-07 00:36:29.000000000 
+0200
@@ -67,6 +67,11 @@
         "b.py": (["d.py", "a.py"], ["f"], {}),
 }
 
+SELF_DEPS = {
+    "a.py": (["a.py", "b.py", "c.py"], [], {}),
+    "b.py": (["a.py", "b.py", "d.py"], [], {}),
+}
+
 SIMPLE_SYSTEM_DEPS = {
         "a.py": (["b.py"], [], {"b.py": resolve.System("b.py", "b")}),
         "b.py": (["c.py"], [], {"c.py": resolve.System("c.py", "c")}),
@@ -117,6 +122,18 @@
         sources = g.ordered_sorted_source_files()
         self.check_order(sources, ["d.py"], ["a.py", "b.py"])
         self.check_order(sources, ["c.py"], ["a.py", "b.py"])
+
+    def test_self_dep(self):
+        g = FakeImportGraph(SELF_DEPS)
+        g.add_file_recursive("a.py")
+        g.build()
+        cycles = [x for x, ys in g.deps_list()
+                  if isinstance(x, graph.NodeSet)]
+        self.assertEqual(len(cycles), 1)
+        self.assertEqual(set(cycles[0].nodes), set(["a.py", "b.py"]))
+        sources = g.ordered_sorted_source_files()
+        self.check_order(sources, ["d.py"], ["a.py", "b.py"])
+        self.check_order(sources, ["c.py"], ["a.py", "b.py"])
 
     def test_trim(self):
         # Untrimmed g1 follows system module b to its dependency c.

Reply via email to