Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyct for openSUSE:Factory 
checked in at 2025-12-22 22:48:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyct (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyct.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyct"

Mon Dec 22 22:48:36 2025 rev:6 rq:1323821 version:0.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyct/python-pyct.changes  2025-05-09 
18:52:54.888963956 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyct.new.1928/python-pyct.changes        
2025-12-22 22:49:44.958283492 +0100
@@ -1,0 +2,15 @@
+Sat Dec 20 18:05:30 UTC 2025 - Ben Greiner <[email protected]>
+
+- Update to 0.6.0
+  * Distributions built with hatchling and no longer setuptools
+  * get_setup_version is deprecated and will be removed in a future
+    version; Param as a dependency will be removed at the same time
+  * Pixi for project management
+  * Replace distutils.core.copy_tree with shutils.copytree as
+    distutils has been removed in recent Python versions
+  * Drop support of older Python versions, minimum supported
+    version is 3.8
+  * Tests up to Python 3.13
+  * Removed some Python 2 compatibility code
+
+-------------------------------------------------------------------

Old:
----
  pyct-0.5.0.tar.gz

New:
----
  pyct-0.6.0.tar.gz

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

Other differences:
------------------
++++++ python-pyct.spec ++++++
--- /var/tmp/diff_new_pack.wZZzew/_old  2025-12-22 22:49:52.970613598 +0100
+++ /var/tmp/diff_new_pack.wZZzew/_new  2025-12-22 22:49:52.974613762 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pyct
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,21 +17,22 @@
 
 
 Name:           python-pyct
-Version:        0.5.0
+Version:        0.6.0
 Release:        0
 Summary:        Python package for common tasks for users
 License:        BSD-3-Clause
 URL:            https://github.com/pyviz/pyct
 Source0:        
https://files.pythonhosted.org/packages/source/p/pyct/pyct-%{version}.tar.gz
 Source100:      python-pyct-rpmlintrc
+BuildRequires:  %{python_module base >= 3.8}
+BuildRequires:  %{python_module hatch-vcs >= 0.4.0}
+BuildRequires:  %{python_module hatchling >= 1.25.0}
 BuildRequires:  %{python_module pip}
-BuildRequires:  %{python_module setuptools}
-BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-PyYAML
 Requires:       python-param >= 1.7.0
-Requires:       python-requests
+Recommends:     python-PyYAML
+Recommends:     python-requests
 BuildArch:      noarch
 # SECTION test requirements
 BuildRequires:  %{python_module PyYAML}

++++++ pyct-0.5.0.tar.gz -> pyct-0.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/.gitignore new/pyct-0.6.0/.gitignore
--- old/pyct-0.5.0/.gitignore   1970-01-01 01:00:00.000000000 +0100
+++ new/pyct-0.6.0/.gitignore   2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,23 @@
+*~
+*.pyc
+/dist
+*.egg-info
+pip-wheel-metadata
+.pytest_cache
+*__pycache__
+.venv
+venv/
+
+# pyct
+.doit.db
+.tox
+
+# autover
+*/.version
+
+build/
+pyct/_version.py
+
+# pixi
+.pixi
+pixi.lock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/MANIFEST.in new/pyct-0.6.0/MANIFEST.in
--- old/pyct-0.5.0/MANIFEST.in  2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/MANIFEST.in  1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-include pyct/.version
-include LICENSE.txt
-include README.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/PKG-INFO new/pyct-0.6.0/PKG-INFO
--- old/pyct-0.5.0/PKG-INFO     2023-01-30 12:10:58.000000000 +0100
+++ new/pyct-0.6.0/PKG-INFO     2020-02-02 01:00:00.000000000 +0100
@@ -1,31 +1,34 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: pyct
-Version: 0.5.0
+Version: 0.6.0
 Summary: Python package common tasks for users (e.g. copy examples, fetch 
data, ...)
-Home-page: https://github.com/pyviz-dev/pyct
-Author: HoloViz
-Author-email: [email protected]
-Maintainer: HoloViz
-Maintainer-email: [email protected]
-License: BSD 3-Clause License
-Project-URL: Bug Tracker, https://github.com/pyviz-dev/pyct/issues
-Project-URL: Source Code, https://github.com/pyviz-dev/pyct
+Project-URL: Homepage, https://github.com/holoviz-dev/pyct
+Project-URL: Source, https://github.com/holoviz-dev/pyct
+Project-URL: BugTracker, https://github.com/holoviz-dev/pyct/issues
+Author-email: HoloViz <[email protected]>
+Maintainer-email: HoloViz <[email protected]>
+License-Expression: BSD-3-Clause
+License-File: LICENSE.txt
+Keywords: data,examples,pyct,utilities
+Classifier: Development Status :: 4 - Beta
 Classifier: License :: OSI Approved :: BSD License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
-Classifier: Development Status :: 4 - Beta
-Requires-Python: >=3.7
-Description-Content-Type: text/markdown
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Requires-Python: >=3.8
+Requires-Dist: param>=1.7.0
 Provides-Extra: cmd
+Requires-Dist: pyyaml; extra == 'cmd'
+Requires-Dist: requests; extra == 'cmd'
 Provides-Extra: tests
-Provides-Extra: doc
-Provides-Extra: build
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == 'tests'
+Description-Content-Type: text/markdown
 
 # pyct
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/.version new/pyct-0.6.0/pyct/.version
--- old/pyct-0.5.0/pyct/.version        2023-01-30 12:10:58.000000000 +0100
+++ new/pyct-0.6.0/pyct/.version        1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"git_describe": "v0.5.0-0-gb273398", "version_string": "0.5.0"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/__init__.py 
new/pyct-0.6.0/pyct/__init__.py
--- old/pyct-0.5.0/pyct/__init__.py     2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/pyct/__init__.py     2020-02-02 01:00:00.000000000 +0100
@@ -1,9 +1,10 @@
-import param
+from .__version import __version__
+from .report import report  # noqa: api
 
 NAME = "pyct"
 
-from .report import report  # noqa: api
-
-# version comes from git if available, otherwise from .version file
-__version__ = str(param.version.Version(fpath=__file__, 
archive_commit="$Format:%h$",
-                                        reponame=NAME))
+__all__ = [
+    "NAME",
+    "__version__",
+    "report",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/__version.py 
new/pyct-0.6.0/pyct/__version.py
--- old/pyct-0.5.0/pyct/__version.py    1970-01-01 01:00:00.000000000 +0100
+++ new/pyct-0.6.0/pyct/__version.py    2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,45 @@
+"""Define the package version.
+
+Called __version.py as setuptools_scm will create a _version.py
+
+"""
+
+import os.path
+
+PACKAGE = "pyct"
+
+try:
+    # For performance reasons on imports, avoid importing setuptools_scm
+    # if not in a .git folder
+    if os.path.exists(os.path.join(os.path.dirname(__file__), "..", ".git")):
+        # If setuptools_scm is installed (e.g. in a development environment 
with
+        # an editable install), then use it to determine the version 
dynamically.
+        from setuptools_scm import get_version
+
+        # This will fail with LookupError if the package is not installed in
+        # editable mode or if Git is not installed.
+        __version__ = get_version(root="..", relative_to=__file__)
+    else:
+        raise FileNotFoundError
+except (ImportError, LookupError, FileNotFoundError):
+    # As a fallback, use the version that is hard-coded in the file.
+    try:
+        # __version__ was added in _version in setuptools-scm 7.0.0, we rely on
+        # the hopefully stable version variable.
+        from ._version import version as __version__
+    except (ModuleNotFoundError, ImportError):
+        # Either _version doesn't exist (ModuleNotFoundError) or version isn't
+        # in _version (ImportError). ModuleNotFoundError is a subclass of
+        # ImportError, let's be explicit anyway.
+
+        # Try something else:
+        from importlib.metadata import PackageNotFoundError, version
+
+        try:
+            __version__ = version(PACKAGE)
+        except PackageNotFoundError:
+            # The user is probably trying to run this without having installed
+            # the package.
+            __version__ = "0.0.0+unknown"
+
+__all__ = ("__version__",)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/_version.py 
new/pyct-0.6.0/pyct/_version.py
--- old/pyct-0.5.0/pyct/_version.py     1970-01-01 01:00:00.000000000 +0100
+++ new/pyct-0.6.0/pyct/_version.py     2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,34 @@
+# file generated by setuptools-scm
+# don't change, don't track in version control
+
+__all__ = [
+    "__version__",
+    "__version_tuple__",
+    "version",
+    "version_tuple",
+    "__commit_id__",
+    "commit_id",
+]
+
+TYPE_CHECKING = False
+if TYPE_CHECKING:
+    from typing import Tuple
+    from typing import Union
+
+    VERSION_TUPLE = Tuple[Union[int, str], ...]
+    COMMIT_ID = Union[str, None]
+else:
+    VERSION_TUPLE = object
+    COMMIT_ID = object
+
+version: str
+__version__: str
+__version_tuple__: VERSION_TUPLE
+version_tuple: VERSION_TUPLE
+commit_id: COMMIT_ID
+__commit_id__: COMMIT_ID
+
+__version__ = version = '0.6.0'
+__version_tuple__ = version_tuple = (0, 6, 0)
+
+__commit_id__ = commit_id = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/build.py new/pyct-0.6.0/pyct/build.py
--- old/pyct-0.5.0/pyct/build.py        2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/pyct/build.py        2020-02-02 01:00:00.000000000 +0100
@@ -1,5 +1,7 @@
 import os
 import shutil
+import warnings
+
 
 def examples(path, root, verbose=False, force=False):
     """
@@ -31,13 +33,20 @@
 
     >>> from pyct.build import get_setup_version
     >>> version = get_setup_version(__file__, reponame)  # noqa
+
+    .. deprecated:: 0.6.0
     """
+    warnings.warn(
+        "get_setup_version is deprecated and will be removed in a future 
version.",
+        DeprecationWarning,
+        stacklevel=2,
+    )
     import json
     filepath = os.path.abspath(os.path.dirname(root))
     version_file_path = os.path.join(filepath, reponame, '.version')
     try:
         from param import version
-    except:
+    except ModuleNotFoundError:
         version = None
     if version is not None:
         return version.Version.setup_version(filepath, reponame, 
archive_commit="$Format:%h$")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/cmd.py new/pyct-0.6.0/pyct/cmd.py
--- old/pyct-0.5.0/pyct/cmd.py  2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/pyct/cmd.py  2020-02-02 01:00:00.000000000 +0100
@@ -2,7 +2,6 @@
 
 # -*- coding: utf-8 -*-
 
-from __future__ import print_function, absolute_import, division
 from . import __version__
 from .report import report
 
@@ -10,7 +9,6 @@
 import importlib
 import inspect
 import argparse
-import distutils.dir_util
 import shutil
 
 def _find_examples(name):
@@ -47,7 +45,7 @@
         raise ValueError("Path %s already exists; please move it away, choose 
a different path, or use force."%path)
     if verbose:
         print("Copying examples from %s"%source)
-    distutils.dir_util.copy_tree(source, path, verbose=verbose)
+    shutil.copytree(source, path, dirs_exist_ok=True)
     print("Copied examples to %s"%path)
 
 """
@@ -71,17 +69,16 @@
 This module provides the progressbar functionality.
 
 """
-from collections import OrderedDict
-import glob
-import sys
-import tarfile
-import time
-import zipfile
-
-import yaml
+from collections import OrderedDict  # noqa: E402
+import glob  # noqa: E402
+import sys  # noqa: E402
+import tarfile  # noqa: E402
+import time  # noqa: E402
+import zipfile  # noqa: E402
+import yaml  # noqa: E402
 
 try:
-    import requests
+    import requests  # noqa: E402
 except ImportError:
     requests = None
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/report.py 
new/pyct-0.6.0/pyct/report.py
--- old/pyct-0.5.0/pyct/report.py       2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/pyct/report.py       2020-02-02 01:00:00.000000000 +0100
@@ -4,8 +4,11 @@
 # bash usage: $ report numpy pandas python conda
 # python usage: >>> from report import report; 
report("numpy","pandas","python","conda")
 
-from __future__ import print_function
-import os.path, importlib, subprocess, platform, sys
+import os.path
+import importlib
+import subprocess
+import platform
+import sys
 
 def report(*packages):
     """Import and print location and version information for specified Python 
packages"""
@@ -22,16 +25,16 @@
                 ver = str(module.__version__)
             except Exception:
                 pass
-        
+
         except (ImportError, ModuleNotFoundError):
             if package in accepted_commands:
                 try:
                     # See if there is a command by that name and check its 
--version if so
                     try:
                         loc = subprocess.check_output('command -v 
{}'.format(package), shell=True).decode().splitlines()[0].strip()
-                    except:
+                    except Exception:
                         # .exe in case powershell (otherwise wouldn't need it)
-                        loc = subprocess.check_output( 'where.exe 
{}'.format(package), shell=True).decode().splitlines()[0].strip()               
     
+                        loc = subprocess.check_output( 'where.exe 
{}'.format(package), shell=True).decode().splitlines()[0].strip()
                     out = ""
                     try:
                         out = subprocess.check_output([package, '--version'], 
stderr=subprocess.STDOUT)
@@ -43,7 +46,7 @@
                         if '.' in s and str.isdigit(s[0]) and 
sum(str.isdigit(c) for c in s)>=2:
                             ver=s.strip()
                             break
-                except:
+                except Exception:
                     pass
             elif package == 'system':
                 try:
@@ -53,13 +56,12 @@
                     pass
             else:
                 pass
-        
+
         print("{0:30} # {1}".format(package + "=" + ver,loc))
 
 
 def main():
     report(*(sys.argv[1:]))
-    
+
 if __name__ == "__main__":
     main()
-    
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct/tests/test_report.py 
new/pyct-0.6.0/pyct/tests/test_report.py
--- old/pyct-0.5.0/pyct/tests/test_report.py    2023-01-30 12:08:19.000000000 
+0100
+++ new/pyct-0.6.0/pyct/tests/test_report.py    2020-02-02 01:00:00.000000000 
+0100
@@ -10,9 +10,9 @@
 def test_report_gives_package_version(mock_print, mock_import_module):
     module = TestModule()
     mock_import_module.return_value = module
-    
+
     report("param")
-    
+
     mock_print.assert_called_with('param=1.9.3                    # 
/mock/opt/anaconda3/envs/pyct/lib/python3.7/site-packages/param')
 
 @patch("builtins.print")
@@ -23,7 +23,7 @@
     report("conda")
 
     mock_print.assert_called_with("conda=4.8.3                    # 
/mock/opt/anaconda3/condabin/conda")
-    
+
 
 @patch("builtins.print")
 @patch("subprocess.check_output")
@@ -46,5 +46,5 @@
 @patch("builtins.print")
 def test_unknown_package_output(mock_print):
     report("fake_package")
-    
+
     mock_print.assert_called_with("fake_package=unknown           # not 
installed in this environment")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct.egg-info/PKG-INFO 
new/pyct-0.6.0/pyct.egg-info/PKG-INFO
--- old/pyct-0.5.0/pyct.egg-info/PKG-INFO       2023-01-30 12:10:58.000000000 
+0100
+++ new/pyct-0.6.0/pyct.egg-info/PKG-INFO       1970-01-01 01:00:00.000000000 
+0100
@@ -1,183 +0,0 @@
-Metadata-Version: 2.1
-Name: pyct
-Version: 0.5.0
-Summary: Python package common tasks for users (e.g. copy examples, fetch 
data, ...)
-Home-page: https://github.com/pyviz-dev/pyct
-Author: HoloViz
-Author-email: [email protected]
-Maintainer: HoloViz
-Maintainer-email: [email protected]
-License: BSD 3-Clause License
-Project-URL: Bug Tracker, https://github.com/pyviz-dev/pyct/issues
-Project-URL: Source Code, https://github.com/pyviz-dev/pyct
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Development Status :: 4 - Beta
-Requires-Python: >=3.7
-Description-Content-Type: text/markdown
-Provides-Extra: cmd
-Provides-Extra: tests
-Provides-Extra: doc
-Provides-Extra: build
-License-File: LICENSE.txt
-
-# pyct
-
-A utility package that includes:
-
-  1. **pyct.cmd**: Makes various commands available to other
-     packages. (Currently no sophisticated plugin system, just a try
-     import/except in the other packages.) The same commands are
-     available from within python. Can either add new subcommands to
-     an existing argparse based command if the module has an existing
-     command, or create the entire command if the module has no
-     existing command. Currently, there are commands for copying
-     examples and fetching data. See
-
-  2. **pyct.build**: Provides various commands to help package
-     building, primarily as a convenience for project maintainers.
-
-## pyct.cmd
-
-To install pyct with the dependencies required for pyct.cmd: `pip
-install pyct[cmd]` or `conda install -c pyviz pyct`.
-
-An example of how to use in a project:
-https://github.com/holoviz/geoviews/blob/main/geoviews/__main__.py
-
-Once added, users can copy the examples of a package and download the
-required data with the `examples` command:
-
-```
-$ datashader examples --help
-usage: datashader examples [-h] [--path PATH] [-v] [--force] [--use-test-data]
-
-optional arguments:
-  -h, --help       show this help message and exit
-  --path PATH      location to place examples and data
-  -v, --verbose
-  --force          if PATH already exists, force overwrite existing examples
-                   if older than source examples. ALSO force any existing data
-                   files to be replaced
-  --use-test-data  Use data's test files, if any, instead of fetching full
-                   data. If test file not in '.data_stubs', fall back to
-                   fetching full data.
-```
-
-To copy the examples of e.g. datashader but not download the data,
-there's a `copy-examples` command:
-
-```
-usage: datashader copy-examples [-h] [--path PATH] [-v] [--force]
-
-optional arguments:
-  -h, --help     show this help message and exit
-  --path PATH    where to copy examples
-  -v, --verbose
-  --force        if PATH already exists, force overwrite existing files if
-                 older than source files
-```
-
-And to download the data only, the `fetch-data` command:
-
-```
-usage: datashader fetch-data [-h] [--path PATH] [--datasets DATASETS] [-v]
-                        [--force] [--use-test-data]
-
-optional arguments:
-  -h, --help           show this help message and exit
-  --path PATH          where to put data
-  --datasets DATASETS  *name* of datasets file; must exist either in path
-                       specified by --path or in package/examples/
-  -v, --verbose
-  --force              Force any existing data files to be replaced
-  --use-test-data      Use data's test files, if any, instead of fetching full
-                       data. If test file not in '.data_stubs', fall back to
-                       fetching full data.
-```
-
-Can specify different 'datasets' file:
-
-```
-$ cat earthsim-examples/test.yml
----
-
-data:
-
-  - url: 
http://s3.amazonaws.com/datashader-data/Chesapeake_and_Delaware_Bays.zip
-    title: 'Depth data for the Chesapeake and Delaware Bay region of the USA'
-    files:
-      - Chesapeake_and_Delaware_Bays.3dm
-
-$ earthsim fetch-data --path earthsim-examples --datasets-filename test.yml
-Downloading data defined in /tmp/earthsim-examples/test.yml to 
/tmp/earthsim-examples/data
-Skipping Depth data for the Chesapeake and Delaware Bay region of the USA
-```
-
-Can use smaller files instead of large ones by using the `--use-test-data` flag
-and placing a small file with the same name in `examples/data/.data_stubs`:
-
-```
-$ tree examples/data -a
-examples/data
-├── .data_stubs
-│   └── nyc_taxi_wide.parq
-└── diamonds.csv
-
-$ cat examples/dataset.yml
-data:
-
-  - url: http://s3.amazonaws.com/datashader-data/nyc_taxi_wide.parq
-    title: 'NYC Taxi Data'
-    files:
-      - nyc_taxi_wide.parq
-
-  - url: http://s3.amazonaws.com/datashader-data/maccdc2012_graph.zip
-    title: 'National CyberWatch Mid-Atlantic Collegiate Cyber Defense 
Competition'
-    files:
-      - maccdc2012_nodes.parq
-      - maccdc2012_edges.parq
-      - maccdc2012_full_nodes.parq
-      - maccdc2012_full_edges.parq
-
-$ pyviz fetch-data --path=examples --use-test-data
-Fetching data defined in /tmp/pyviz/examples/datasets.yml and placing in 
/tmp/pyviz/examples/data
-Copying test data file 
'/tmp/pyviz/examples/data/.data_stubs/nyc_taxi_wide.parq' to 
'/tmp/pyviz/examples/data/nyc_taxi_wide.parq'
-No test file found for: 
/tmp/pyviz/examples/data/.data_stubs/maccdc2012_nodes.parq. Using regular file 
instead
-Downloading National CyberWatch Mid-Atlantic Collegiate Cyber Defense 
Competition 1 of 1
-[################################] 59/59 - 00:00:00
-```
-
-To clean up any potential test files masquerading as real data use 
`clean-data`:
-
-```
-usage: pyviz clean-data [-h] [--path PATH]
-
-optional arguments:
-  -h, --help   show this help message and exit
-  --path PATH  where to clean data
-```
-
-## pyct.build
-
-Currently provides a way to package examples with a project, by
-copying an examples folder into the package directory whenever
-setup.py is run. The way this works is likely to change in the near
-future, but is provided here as the first step towards
-unifying/simplifying the maintenance of a number of pyviz projects.
-
-## pyct report
-
-Provides a way to check the package versions in the current environment using:
-  1. A console script (entry point): `pyct report [packages]`, or
-  2. A python function: `import pyct; pyct.report(packages)`
-
-The python function can be particularly useful for e.g. jupyter notebook 
users, since it is the packages in the current kernel that we usually care 
about (not those in the environment from which jupyter notebook server/lab was 
launched).
-
-Note that `packages` above can include the name of any Python package 
(returning the `__version__`), along with the special cases `python` or `conda` 
(returning the version of the command-line tool) or `system` (returning the OS 
version).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct.egg-info/SOURCES.txt 
new/pyct-0.6.0/pyct.egg-info/SOURCES.txt
--- old/pyct-0.5.0/pyct.egg-info/SOURCES.txt    2023-01-30 12:10:58.000000000 
+0100
+++ new/pyct-0.6.0/pyct.egg-info/SOURCES.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1,20 +0,0 @@
-LICENSE.txt
-MANIFEST.in
-README.md
-pyproject.toml
-setup.py
-pyct/.version
-pyct/__init__.py
-pyct/__main__.py
-pyct/build.py
-pyct/cmd.py
-pyct/report.py
-pyct.egg-info/PKG-INFO
-pyct.egg-info/SOURCES.txt
-pyct.egg-info/dependency_links.txt
-pyct.egg-info/entry_points.txt
-pyct.egg-info/requires.txt
-pyct.egg-info/top_level.txt
-pyct/tests/__init__.py
-pyct/tests/test_cmd.py
-pyct/tests/test_report.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct.egg-info/dependency_links.txt 
new/pyct-0.6.0/pyct.egg-info/dependency_links.txt
--- old/pyct-0.5.0/pyct.egg-info/dependency_links.txt   2023-01-30 
12:10:58.000000000 +0100
+++ new/pyct-0.6.0/pyct.egg-info/dependency_links.txt   1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct.egg-info/entry_points.txt 
new/pyct-0.6.0/pyct.egg-info/entry_points.txt
--- old/pyct-0.5.0/pyct.egg-info/entry_points.txt       2023-01-30 
12:10:58.000000000 +0100
+++ new/pyct-0.6.0/pyct.egg-info/entry_points.txt       1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-[console_scripts]
-pyct = pyct.__main__:main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct.egg-info/requires.txt 
new/pyct-0.6.0/pyct.egg-info/requires.txt
--- old/pyct-0.5.0/pyct.egg-info/requires.txt   2023-01-30 12:10:58.000000000 
+0100
+++ new/pyct-0.6.0/pyct.egg-info/requires.txt   1970-01-01 01:00:00.000000000 
+0100
@@ -1,17 +0,0 @@
-param>=1.7.0
-
-[build]
-setuptools
-param>=1.7.0
-
-[cmd]
-pyyaml
-requests
-
-[doc]
-nbsite
-sphinx_ioam_theme
-
-[tests]
-flake8
-pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyct.egg-info/top_level.txt 
new/pyct-0.6.0/pyct.egg-info/top_level.txt
--- old/pyct-0.5.0/pyct.egg-info/top_level.txt  2023-01-30 12:10:58.000000000 
+0100
+++ new/pyct-0.6.0/pyct.egg-info/top_level.txt  1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-pyct
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/pyproject.toml 
new/pyct-0.6.0/pyproject.toml
--- old/pyct-0.5.0/pyproject.toml       2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/pyproject.toml       2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,67 @@
 [build-system]
 requires = [
+    "hatchling >=1.25.0",
+    "hatch-vcs >=0.4.0",
+]
+build-backend = "hatchling.build"
+
+[project]
+name = "pyct"
+dynamic = ["version"]
+readme = "README.md"
+description = "Python package common tasks for users (e.g. copy examples, 
fetch data, ...)"
+license = "BSD-3-Clause"
+license-files = ["LICENSE.txt"]
+requires-python = ">=3.8"
+authors = [
+    {name = "HoloViz", email = "[email protected]"}
+]
+maintainers = [
+    {name = "HoloViz", email = "[email protected]"}
+]
+keywords = ["pyct", "examples", "data", "utilities"]
+classifiers = [
+    "License :: OSI Approved :: BSD License",
+    "Operating System :: OS Independent",
+    "Programming Language :: Python",
+    "Programming Language :: Python :: 3",
+    "Programming Language :: Python :: 3.8",
+    "Programming Language :: Python :: 3.9",
+    "Programming Language :: Python :: 3.10",
+    "Programming Language :: Python :: 3.11",
+    "Programming Language :: Python :: 3.12",
+    "Programming Language :: Python :: 3.13",
+    "Development Status :: 4 - Beta"
+]
+dependencies = [
     "param >=1.7.0",
-    "setuptools >=61.0"
 ]
-build-backend = "setuptools.build_meta"
+
+[project.optional-dependencies]
+cmd = ["pyyaml", "requests"]
+tests = ["pytest"]
+
+[project.urls]
+Homepage = "https://github.com/holoviz-dev/pyct";
+Source = "https://github.com/holoviz-dev/pyct";
+BugTracker = "https://github.com/holoviz-dev/pyct/issues";
+
+[project.scripts]
+pyct = "pyct.__main__:main"
+
+[tool.hatch.version]
+source = "vcs"
+raw-options = { version_scheme = "no-guess-dev" }
+
+[tool.hatch.build.targets.wheel]
+include = ["pyct"]
+
+[tool.hatch.build.targets.sdist]
+include = ["pyct", "scripts"]
+
+[tool.hatch.build.hooks.vcs]
+version-file = "pyct/_version.py"
+
+[tool.pytest.ini_options]
+addopts = ["-v", "--pyargs"]
+norecursedirs = "doc .git dist build _build .ipynb_checkpoints apps"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/scripts/conda/build.sh 
new/pyct-0.6.0/scripts/conda/build.sh
--- old/pyct-0.5.0/scripts/conda/build.sh       1970-01-01 01:00:00.000000000 
+0100
+++ new/pyct-0.6.0/scripts/conda/build.sh       2020-02-02 01:00:00.000000000 
+0100
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+set -euxo pipefail
+
+PACKAGE="pyct"
+
+python -m build --sdist .
+
+VERSION=$(python -c "import $PACKAGE; print($PACKAGE._version.__version__)")
+export VERSION
+
+conda build scripts/conda/recipe --no-anaconda-upload --no-verify -c 
conda-forge --package-format 1
+
+mv "$CONDA_PREFIX/conda-bld/noarch/$PACKAGE-$VERSION-py_0.tar.bz2" dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/scripts/conda/recipe/meta.yaml 
new/pyct-0.6.0/scripts/conda/recipe/meta.yaml
--- old/pyct-0.5.0/scripts/conda/recipe/meta.yaml       1970-01-01 
01:00:00.000000000 +0100
+++ new/pyct-0.6.0/scripts/conda/recipe/meta.yaml       2020-02-02 
01:00:00.000000000 +0100
@@ -0,0 +1,62 @@
+{% set pyproject = load_file_data('../../../pyproject.toml', 
from_recipe_dir=True) %}
+{% set buildsystem = pyproject['build-system'] %}
+{% set project = pyproject['project'] %}
+
+{% set name = project['name'] %}
+{% set version = VERSION %}
+
+package:
+  name: {{ name|lower }}
+  version: {{ version }}
+
+source:
+  url: ../../../dist/{{ name }}-{{ version }}.tar.gz
+
+build:
+  noarch: python
+  script: {{ PYTHON }} -m pip install --no-deps -vv .
+  entry_points:
+    {% for group,epoints in project.get("entry_points",{}).items() %}
+    {% for entry_point in epoints %}
+    - {{ entry_point }}
+    {% endfor %}
+    {% endfor %}
+
+requirements:
+  build:
+    - python {{ project['requires-python'] }}
+    - pip
+    {% for dep in buildsystem['requires'] %}
+    - {{ dep }}
+    {% endfor %}
+
+  run:
+    - python {{ project['requires-python'] }}
+    {% for dep in project.get('dependencies', []) %}
+    - {{ dep }}
+    {% endfor %}
+    {% for dep in project['optional-dependencies']['cmd'] %}
+    - {{ dep }}
+    {% endfor %}
+
+test:
+  requires:
+    {% for dep in project['optional-dependencies']['tests'] %}
+    - {{ dep }}
+    {% endfor %}
+  source_files:
+    - pyproject.toml
+  imports:
+    - {{ project["name"] }}
+  commands:
+    - pytest -v --pyargs pyct
+    - pyct --help
+    - pyct --version
+    - pyct report --help
+    - pyct report pyct python
+
+about:
+  home: {{ project['urls']['Homepage'] }}
+  summary: {{ project['description'] }}
+  license: {{ project['license'] }}
+  license_file: LICENSE.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/setup.cfg new/pyct-0.6.0/setup.cfg
--- old/pyct-0.5.0/setup.cfg    2023-01-30 12:10:58.000000000 +0100
+++ new/pyct-0.6.0/setup.cfg    1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-[egg_info]
-tag_build = 
-tag_date = 0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyct-0.5.0/setup.py new/pyct-0.6.0/setup.py
--- old/pyct-0.5.0/setup.py     2023-01-30 12:08:19.000000000 +0100
+++ new/pyct-0.6.0/setup.py     1970-01-01 01:00:00.000000000 +0100
@@ -1,93 +0,0 @@
-from setuptools import setup, find_packages
-
-# unfortunately cannot avoid duplicating this from build.py
-def get_setup_version(root, reponame):
-    """
-    Helper to get the current version from either git describe or the
-    .version file (if available) - allows for param to not be available.
-
-    Normally used in setup.py as follows:
-
-    >>> from pyct.build import get_setup_version
-    >>> version = get_setup_version(__file__, reponame)  # noqa
-    """
-    import os
-    import json
-
-    filepath = os.path.abspath(os.path.dirname(root))
-    version_file_path = os.path.join(filepath, reponame, '.version')
-    try:
-        from param import version
-    except:
-        version = None
-    if version is not None:
-        return version.Version.setup_version(filepath, reponame, 
archive_commit="$Format:%h$")
-    else:
-        print("WARNING: param>=1.6.0 unavailable. If you are installing a 
package, this warning can safely be ignored. If you are creating a package or 
otherwise operating in a git repository, you should install param>=1.6.0.")
-        return json.load(open(version_file_path, 'r'))['version_string']
-
-
-NAME = 'pyct'
-DESCRIPTION = 'Python package common tasks for users (e.g. copy examples, 
fetch data, ...)'
-
-setup_args = dict(
-    name=NAME,
-    version=get_setup_version(__file__, NAME),
-    description=DESCRIPTION,
-    long_description=open("README.md").read(),
-    long_description_content_type="text/markdown",
-    license='BSD 3-Clause License',
-    license_files=['LICENSE.txt'],
-    classifiers = [
-        'License :: OSI Approved :: BSD License',
-        'Operating System :: OS Independent',
-        'Programming Language :: Python',
-        'Programming Language :: Python :: 3.7',
-        'Programming Language :: Python :: 3.8',
-        'Programming Language :: Python :: 3.9',
-        'Programming Language :: Python :: 3.10',
-        'Programming Language :: Python :: 3.11',
-        'Development Status :: 4 - Beta'
-    ],
-    author='HoloViz',
-    author_email='[email protected]',
-    maintainer='HoloViz',
-    maintainer_email='[email protected]',
-    url='https://github.com/pyviz-dev/{}'.format(NAME),
-    project_urls = {
-        'Bug Tracker': 'https://github.com/pyviz-dev/{}/issues'.format(NAME),
-        'Source Code': 'https://github.com/pyviz-dev/{}'.format(NAME),
-    },
-    include_package_data=True,
-    packages=find_packages(),
-    python_requires='>=3.7',
-    install_requires=[
-        'param >=1.7.0',
-    ],
-    extras_require={
-        'cmd': [
-            'pyyaml',
-            'requests'
-        ],
-        'tests': [
-            'flake8',
-            'pytest'
-        ],
-        'doc': [
-            'nbsite',
-            'sphinx_ioam_theme'
-        ],
-        'build': [
-            "setuptools",
-            "param >=1.7.0",
-        ]
-    },
-    entry_points = {
-        'console_scripts': [
-            'pyct=pyct.__main__:main',
-        ],
-    }
-)
-
-if __name__ == "__main__":
-    setup(**setup_args)

Reply via email to