Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-agate-dbf for 
openSUSE:Factory checked in at 2024-03-18 16:47:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-agate-dbf (Old)
 and      /work/SRC/openSUSE:Factory/.python-agate-dbf.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-agate-dbf"

Mon Mar 18 16:47:04 2024 rev:5 rq:1158952 version:0.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-agate-dbf/python-agate-dbf.changes        
2020-11-10 15:09:04.633474187 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-agate-dbf.new.1905/python-agate-dbf.changes  
    2024-03-18 16:47:29.281440537 +0100
@@ -1,0 +2,9 @@
+Mon Mar 18 10:37:30 UTC 2024 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.2.3:
+  * Add Python 3.8, 3.9, 3.10, 3.11, 3.12 support.
+  * Drop support for Python 2.7 (EOL 2020-01-01), 3.4
+    (2019-03-18), 3.5 (2020-09-13), 3.6 (2021-12-23), 3.7
+    (2023-06-27).
+
+-------------------------------------------------------------------

Old:
----
  0.2.2.tar.gz

New:
----
  0.2.3.tar.gz

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

Other differences:
------------------
++++++ python-agate-dbf.spec ++++++
--- /var/tmp/diff_new_pack.F6cxDq/_old  2024-03-18 16:47:29.833460888 +0100
+++ /var/tmp/diff_new_pack.F6cxDq/_new  2024-03-18 16:47:29.837461036 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-agate-dbf
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
 Name:           python-agate-dbf
-Version:        0.2.2
+Version:        0.2.3
 Release:        0
 Summary:        Read support for dbf files for agate
 License:        MIT

++++++ 0.2.2.tar.gz -> 0.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.github/dependabot.yml 
new/agate-dbf-0.2.3/.github/dependabot.yml
--- old/agate-dbf-0.2.2/.github/dependabot.yml  1970-01-01 01:00:00.000000000 
+0100
+++ new/agate-dbf-0.2.3/.github/dependabot.yml  2024-02-23 22:50:40.000000000 
+0100
@@ -0,0 +1,6 @@
+version: 2
+updates:
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    schedule:
+      interval: "daily"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.github/workflows/ci.yml 
new/agate-dbf-0.2.3/.github/workflows/ci.yml
--- old/agate-dbf-0.2.2/.github/workflows/ci.yml        1970-01-01 
01:00:00.000000000 +0100
+++ new/agate-dbf-0.2.3/.github/workflows/ci.yml        2024-02-23 
22:50:40.000000000 +0100
@@ -0,0 +1,22 @@
+name: CI
+on: [push, pull_request]
+jobs:
+  build:
+    if: github.event_name == 'push' || 
github.event.pull_request.head.repo.full_name != github.repository
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: [macos-latest, windows-latest, ubuntu-latest]
+        python-version: [3.8, 3.9, '3.10', '3.11', '3.12', pypy-3.9]
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v5
+        with:
+          python-version: ${{ matrix.python-version }}
+          cache: pip
+          cache-dependency-path: setup.py
+      - run: pip install .[test] coveralls
+      - run: pytest --cov agatedbf
+      - env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: coveralls --service=github
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.github/workflows/lint.yml 
new/agate-dbf-0.2.3/.github/workflows/lint.yml
--- old/agate-dbf-0.2.2/.github/workflows/lint.yml      1970-01-01 
01:00:00.000000000 +0100
+++ new/agate-dbf-0.2.3/.github/workflows/lint.yml      2024-02-23 
22:50:40.000000000 +0100
@@ -0,0 +1,17 @@
+name: Lint
+on: [push, pull_request]
+jobs:
+  build:
+    if: github.event_name == 'push' || 
github.event.pull_request.head.repo.full_name != github.repository
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v5
+        with:
+          python-version: '3.10'
+          cache: pip
+          cache-dependency-path: setup.py
+      - run: pip install --upgrade check-manifest flake8 isort setuptools
+      - run: check-manifest
+      - run: flake8 .
+      - run: isort . --check-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.github/workflows/pypi.yml 
new/agate-dbf-0.2.3/.github/workflows/pypi.yml
--- old/agate-dbf-0.2.2/.github/workflows/pypi.yml      1970-01-01 
01:00:00.000000000 +0100
+++ new/agate-dbf-0.2.3/.github/workflows/pypi.yml      2024-02-23 
22:50:40.000000000 +0100
@@ -0,0 +1,22 @@
+name: Publish to PyPI
+on: push
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    permissions:
+      id-token: write
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v5
+        with:
+          python-version: '3.10'
+      - run: pip install --upgrade build
+      - run: python -m build --sdist --wheel
+      - name: Publish to TestPyPI
+        uses: pypa/gh-action-pypi-publish@release/v1
+        with:
+          repository-url: https://test.pypi.org/legacy/
+          skip-existing: true
+      - name: Publish to PyPI
+        if: startsWith(github.ref, 'refs/tags')
+        uses: pypa/gh-action-pypi-publish@release/v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.gitignore 
new/agate-dbf-0.2.3/.gitignore
--- old/agate-dbf-0.2.2/.gitignore      2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/.gitignore      2024-02-23 22:50:40.000000000 +0100
@@ -2,7 +2,6 @@
 *.pyc
 *.swp
 *.swo
-.tox
 *.egg-info
 docs/_build
 dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.readthedocs.yaml 
new/agate-dbf-0.2.3/.readthedocs.yaml
--- old/agate-dbf-0.2.2/.readthedocs.yaml       1970-01-01 01:00:00.000000000 
+0100
+++ new/agate-dbf-0.2.3/.readthedocs.yaml       2024-02-23 22:50:40.000000000 
+0100
@@ -0,0 +1,11 @@
+version: 2
+build:
+  os: ubuntu-20.04
+  tools:
+    python: "3.9"
+python:
+  install:
+    - path: .
+    - requirements: docs/requirements.txt
+sphinx:
+  fail_on_warning: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/.travis.yml 
new/agate-dbf-0.2.3/.travis.yml
--- old/agate-dbf-0.2.2/.travis.yml     2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/.travis.yml     1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-dist: xenial
-language: python
-python:
-  - "2.7"
-  - "3.4"
-  - "3.5"
-  - "3.6"
-  - "3.7"
-# command to install dependencies
-install:
-    - if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then pip install -r 
requirements-py3.txt; else pip install -r requirements-py2.txt; fi
-# command to run tests
-script: nosetests tests
-sudo: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/AUTHORS.rst 
new/agate-dbf-0.2.3/AUTHORS.rst
--- old/agate-dbf-0.2.2/AUTHORS.rst     2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/AUTHORS.rst     2024-02-23 22:50:40.000000000 +0100
@@ -1,3 +1,4 @@
 The following individuals have contributed code to agate-excel:
 
 * `Christopher Groskopf <https://github.com/onyxfish>`_
+* `James McKinney <https://github.com/jpmckinney>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/CHANGELOG.rst 
new/agate-dbf-0.2.3/CHANGELOG.rst
--- old/agate-dbf-0.2.2/CHANGELOG.rst   2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/CHANGELOG.rst   2024-02-23 22:50:40.000000000 +0100
@@ -1,3 +1,9 @@
+0.2.3 - February 23, 2024
+-------------------------
+
+* Add Python 3.8, 3.9, 3.10, 3.11, 3.12 support.
+* Drop support for Python 2.7 (EOL 2020-01-01), 3.4 (2019-03-18), 3.5 
(2020-09-13), 3.6 (2021-12-23), 3.7 (2023-06-27).
+
 0.2.2 - July 7, 2020
 --------------------
 
@@ -7,7 +13,7 @@
 ----------------------
 
 * agate-dbf is now tested against Python 3.6 and 3.7.
-* Drop support for Python 3.3 (end-of-life was September 29, 2017).
+* Drop support for Python 3.3 (EOL 2017-09-29).
 
 0.2.0 - December 19, 2016
 -------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/MANIFEST.in 
new/agate-dbf-0.2.3/MANIFEST.in
--- old/agate-dbf-0.2.2/MANIFEST.in     2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/MANIFEST.in     2024-02-23 22:50:40.000000000 +0100
@@ -1,3 +1,11 @@
+include *.py
+include *.rst
 include COPYING
-include AUTHORS.rst
-include README.rst
+recursive-include docs *.py
+recursive-include docs *.rst
+recursive-include docs *.txt
+recursive-include docs Makefile
+recursive-include examples *.csv
+recursive-include examples *.dbf
+recursive-include tests *.py
+exclude .readthedocs.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/README.rst 
new/agate-dbf-0.2.3/README.rst
--- old/agate-dbf-0.2.2/README.rst      2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/README.rst      2024-02-23 22:50:40.000000000 +0100
@@ -1,7 +1,11 @@
-.. image:: https://travis-ci.org/wireservice/agate-dbf.png
-    :target: https://travis-ci.org/wireservice/agate-dbf
+.. image:: https://github.com/wireservice/agate-dbf/workflows/CI/badge.svg
+    :target: https://github.com/wireservice/agate-dbf/actions
     :alt: Build status
 
+.. image:: 
https://coveralls.io/repos/wireservice/agate-dbf/badge.svg?branch=master
+    :target: https://coveralls.io/r/wireservice/agate-dbf
+    :alt: Coverage status
+
 .. image:: https://img.shields.io/pypi/dw/agate-dbf.svg
     :target: https://pypi.python.org/pypi/agate-dbf
     :alt: PyPI downloads
@@ -22,7 +26,7 @@
 
 Important links:
 
-* agate             http://agate.rtfd.org
-* Documentation:    http://agate-dbf.rtfd.org
+* agate             https://agate.rtfd.org
+* Documentation:    https://agate-dbf.rtfd.org
 * Repository:       https://github.com/wireservice/agate-dbf
 * Issues:           https://github.com/wireservice/agate-dbf/issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/agatedbf/__init__.py 
new/agate-dbf-0.2.3/agatedbf/__init__.py
--- old/agate-dbf-0.2.2/agatedbf/__init__.py    2020-07-07 19:34:14.000000000 
+0200
+++ new/agate-dbf-0.2.3/agatedbf/__init__.py    2024-02-23 22:50:40.000000000 
+0100
@@ -1,3 +1 @@
-#!/usr/bin/env python
-
 import agatedbf.table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/agatedbf/table.py 
new/agate-dbf-0.2.3/agatedbf/table.py
--- old/agate-dbf-0.2.2/agatedbf/table.py       2020-07-07 19:34:14.000000000 
+0200
+++ new/agate-dbf-0.2.3/agatedbf/table.py       2024-02-23 22:50:40.000000000 
+0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 """
 This module contains the DBF extension to :class:`Table <agate.table.Table>`.
 """
@@ -7,9 +5,11 @@
 import agate
 from dbfread import DBF
 
+
 def recfactory(items):
     return tuple(kv[1] for kv in items)
 
+
 def from_dbf(cls, path, encoding=None):
     """
     Parse a DBF file.
@@ -23,4 +23,5 @@
 
     return table
 
+
 agate.Table.from_dbf = classmethod(from_dbf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/docs/conf.py 
new/agate-dbf-0.2.3/docs/conf.py
--- old/agate-dbf-0.2.2/docs/conf.py    2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/docs/conf.py    2024-02-23 22:50:40.000000000 +0100
@@ -1,225 +1,45 @@
-# -*- coding: utf-8 -*-
+# Configuration file for the Sphinx documentation builder.
 #
-# This file is execfile()d with the current directory set to its containing 
dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
 import os
 import sys
 
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
 sys.path.insert(0, os.path.abspath('..'))
 
-# -- General configuration 
-----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
+# -- Project information -----------------------------------------------------
+# 
https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
 
-# Add any Sphinx extension module names here, as strings. They can be 
extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
-autodoc_member_order = 'bysource'
-
-intersphinx_mapping = {
-    'python': ('http://docs.python.org/3.5/', None),
-    'agate': ('http://agate.readthedocs.org/en/latest/', None)
-}
+project = 'agate-dbf'
+copyright = '2015, Christopher Groskopf'
+version = '0.2.3'
+release = version
+
+# -- General configuration ---------------------------------------------------
+# 
https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = [
+    'sphinx.ext.autodoc',
+    'sphinx.ext.intersphinx'
+]
 
-# Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
 
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'agate-dbf'
-copyright = u'2015, Christopher Groskopf'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.2.2'
-# The full version, including alpha/beta/rc tags.
-release = '0.2.2'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all 
documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output 
---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-
-if not on_rtd:  # only import and set the theme if we're building docs locally
-    import sphinx_rtd_theme
-    html_theme = 'sphinx_rtd_theme'
-    html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
+# -- Options for HTML output -------------------------------------------------
+# 
https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
 
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
+html_theme = 'furo'
 
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
 htmlhelp_basename = 'agatedbfdoc'
 
+autodoc_default_options = {
+    'members': None,
+    'member-order': 'bysource',
+    'show-inheritance': True,
+}
 
-# -- Options for LaTeX output 
--------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass 
[howto/manual]).
-latex_documents = [
-  ('index', 'agate-dbf.tex', u'agate-dbf Documentation',
-   u'Christopher Groskopf', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output 
--------------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-]
+intersphinx_mapping = {
+    'python': ('https://docs.python.org/3', None),
+    'agate': ('https://agate.readthedocs.org/en/latest/', None)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/docs/index.rst 
new/agate-dbf-0.2.3/docs/index.rst
--- old/agate-dbf-0.2.2/docs/index.rst  2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/docs/index.rst  2024-02-23 22:50:40.000000000 +0100
@@ -13,7 +13,7 @@
 
     pip install agate-dbf
 
-For details on development or supported platforms see the `agate documentation 
<http://agate.readthedocs.org>`_.
+For details on development or supported platforms see the `agate documentation 
<https://agate.readthedocs.org>`_.
 
 Usage
 =====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/docs/requirements.txt 
new/agate-dbf-0.2.3/docs/requirements.txt
--- old/agate-dbf-0.2.2/docs/requirements.txt   1970-01-01 01:00:00.000000000 
+0100
+++ new/agate-dbf-0.2.3/docs/requirements.txt   2024-02-23 22:50:40.000000000 
+0100
@@ -0,0 +1,3 @@
+furo
+sphinx>2
+docutils>=0.18
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/example.py 
new/agate-dbf-0.2.3/example.py
--- old/agate-dbf-0.2.2/example.py      2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/example.py      2024-02-23 22:50:40.000000000 +0100
@@ -1,6 +1,7 @@
 #!/usr/bin/env python
 
 import agate
+
 import agatedbf
 
 table = agate.Table.from_dbf('examples/test.dbf')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/requirements-py2.txt 
new/agate-dbf-0.2.3/requirements-py2.txt
--- old/agate-dbf-0.2.2/requirements-py2.txt    2020-07-07 19:34:14.000000000 
+0200
+++ new/agate-dbf-0.2.3/requirements-py2.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1,9 +0,0 @@
-unittest2==0.5.1
-nose>=1.1.2
-tox>=1.3
-Sphinx>=1.2.2
-sphinx_rtd_theme>=0.1.6
-wheel>=0.24.0
-ordereddict>=1.1
-dbfread>=2.0.5
-agate>=1.5.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/requirements-py3.txt 
new/agate-dbf-0.2.3/requirements-py3.txt
--- old/agate-dbf-0.2.2/requirements-py3.txt    2020-07-07 19:34:14.000000000 
+0200
+++ new/agate-dbf-0.2.3/requirements-py3.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1,7 +0,0 @@
-nose>=1.1.2
-tox>=3.1.0
-Sphinx>=1.2.2
-sphinx_rtd_theme>=0.1.6
-wheel>=0.24.0
-dbfread>=2.0.5
-agate>=1.5.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/setup.cfg 
new/agate-dbf-0.2.3/setup.cfg
--- old/agate-dbf-0.2.2/setup.cfg       2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/setup.cfg       2024-02-23 22:50:40.000000000 +0100
@@ -1,2 +1,12 @@
+[flake8]
+max-line-length = 119
+per-file-ignores =
+    # imported but unused
+    agatedbf/__init__.py: F401
+    example.py: F401
+
+[isort]
+line_length = 119
+
 [bdist_wheel]
 universal = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/setup.py new/agate-dbf-0.2.3/setup.py
--- old/agate-dbf-0.2.2/setup.py        2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/setup.py        2024-02-23 22:50:40.000000000 +0100
@@ -1,20 +1,17 @@
-#!/usr/bin/env python
+from setuptools import find_packages, setup
 
-from setuptools import setup
-
-install_requires = [
-    'agate>=1.5.0',
-    'dbfread>=2.0.5'
-]
+with open('README.rst') as f:
+    long_description = f.read()
 
 setup(
     name='agate-dbf',
-    version='0.2.2',
+    version='0.2.3',
     description='agate-dbf adds read support for dbf files to agate.',
-    long_description=open('README.rst').read(),
+    long_description=long_description,
+    long_description_content_type='text/x-rst',
     author='Christopher Groskopf',
     author_email='chrisgrosk...@gmail.com',
-    url='http://agate-dbf.readthedocs.org/',
+    url='https://agate-dbf.readthedocs.org/',
     license='MIT',
     classifiers=[
         'Development Status :: 4 - Beta',
@@ -24,20 +21,25 @@
         'Natural Language :: English',
         'Operating System :: OS Independent',
         'Programming Language :: Python',
-        'Programming Language :: Python :: 2.7',
-        'Programming Language :: Python :: 3.4',
-        'Programming Language :: Python :: 3.5',
-        'Programming Language :: Python :: 3.6',
-        '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',
+        'Programming Language :: Python :: 3.12',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
-        'Topic :: Multimedia :: Graphics',
         'Topic :: Scientific/Engineering :: Information Analysis',
-        'Topic :: Scientific/Engineering :: Visualization',
         'Topic :: Software Development :: Libraries :: Python Modules',
     ],
-    packages=[
-        'agatedbf'
+    packages=find_packages(exclude=['tests', 'tests.*']),
+    install_requires=[
+        'agate>=1.5.0',
+        'dbfread>=2.0.5'
     ],
-    install_requires=install_requires
+    extras_require={
+        'test': [
+            'pytest',
+            'pytest-cov',
+        ],
+    }
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/tests/test_table.py 
new/agate-dbf-0.2.3/tests/test_table.py
--- old/agate-dbf-0.2.2/tests/test_table.py     2020-07-07 19:34:14.000000000 
+0200
+++ new/agate-dbf-0.2.3/tests/test_table.py     2024-02-23 22:50:40.000000000 
+0100
@@ -1,13 +1,7 @@
-#!/usr/bin/env python
-# -*- coding: utf8 -*-
+import agate
 
-try:
-    import unittest2 as unittest
-except ImportError:
-    import unittest
+import agatedbf  # noqa: F401
 
-import agate
-import agatedbf
 
 class TestDBF(agate.AgateTestCase):
     def setUp(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agate-dbf-0.2.2/tox.ini new/agate-dbf-0.2.3/tox.ini
--- old/agate-dbf-0.2.2/tox.ini 2020-07-07 19:34:14.000000000 +0200
+++ new/agate-dbf-0.2.3/tox.ini 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-[tox]
-envlist = py27,py34,py35,py36,py37,pypy
-
-[testenv]
-commands = nosetests
-
-[testenv:py27]
-deps = -rrequirements-py2.txt
-
-[testenv:py34]
-deps = -rrequirements-py3.txt
-
-[testenv:py35]
-deps = {[testenv:py33]deps}
-
-[testenv:py36]
-deps = {[testenv:py33]deps}
-
-[testenv:py37]
-deps = {[testenv:py33]deps}
-
-[testenv:pypy]
-deps = {[testenv:py33]deps}

Reply via email to