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)
