[med-svn] [Git][med-team/patsy][upstream] New upstream version 1.0.3

Andreas Tille (@tille) gitlab at salsa.debian.org
Mon Aug 31 16:11:41 BST 2026



Andreas Tille pushed to branch upstream at Debian Med / patsy


Commits:
389a252c by Andreas Tille at 2026-08-31T15:44:59+02:00
New upstream version 1.0.3
- - - - -


11 changed files:

- + .github/dependabot.yml
- + .github/workflows/publish.yml
- + .github/workflows/tox.yml
- .pre-commit-config.yaml
- doc/changes.rst
- doc/conf.py
- doc/index.rst
- doc/spline-regression.rst
- patsy/constraint.py
- patsy/version.py
- setup.py


Changes:

=====================================
.github/dependabot.yml
=====================================
@@ -0,0 +1,8 @@
+version: 2
+updates:
+  # Maintain dependencies for GitHub Actions
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    schedule:
+      # Check for updates to GitHub Actions every week
+      interval: "weekly"


=====================================
.github/workflows/publish.yml
=====================================
@@ -0,0 +1,27 @@
+name: Publish tagged releases to PyPI
+
+on:
+  push:
+    tags:
+      - "v*"
+
+jobs:
+  deploy:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout at v7
+    - name: Set up Python
+      uses: actions/setup-python at v7
+      with:
+        python-version: '3.10'
+    - name: Install dependencies
+      run: |
+        python -m pip install --upgrade pip
+        pip install setuptools wheel twine
+    - name: Build and publish
+      env:
+        TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
+        TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
+      run: |
+        python setup.py sdist bdist_wheel
+        twine upload dist/*


=====================================
.github/workflows/tox.yml
=====================================
@@ -0,0 +1,57 @@
+name: Run Tox Tests
+
+on:
+  push:
+    branches:
+      - "*"
+  pull_request:
+    branches:
+      - "*"
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    strategy:
+      max-parallel: 4
+      matrix:
+        python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
+        pandas-presence: ['with_pandas', 'without_pandas']
+    env:
+      PYTHON_VERSION: ${{ matrix.python-version }}
+      PANDAS_PRESENCE: ${{ matrix.pandas-presence }}
+    steps:
+    - uses: actions/checkout at v7
+    - name: Set up Python ${{ matrix.python-version }}
+      id: gha-python
+      uses: actions/setup-python at v7
+      with:
+        python-version: ${{ matrix.python-version }}
+      continue-on-error: true
+    - name: Install PyEnv
+      if: ${{ steps.gha-python.outcome == 'failure' }}
+      run: |
+        curl https://pyenv.run | bash
+        PYENV_ROOT="$HOME/.pyenv"
+        echo "$PYENV_ROOT/bin" >> $GITHUB_PATH
+        echo "$PYENV_ROOT/shims" >> $GITHUB_PATH
+        echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
+    - name: Install Python ${{ matrix.python-version }} using PyEnv
+      if: ${{ steps.gha-python.outcome == 'failure' }}
+      run: |
+        pyenv install "${{ matrix.python-version }}"
+        pyenv local "${{ matrix.python-version }}"
+        pyenv versions
+    - name: Install dependencies
+      run: |
+        pip install -U pip
+        pip install tox tox-gh-actions
+    - name: Test with tox
+      run: |
+        PYTHON_ENV="py$(echo $PYTHON_VERSION | sed 's/\.//;s/\-dev//')"
+        tox -e "${PYTHON_ENV}-${PANDAS_PRESENCE}"
+    - name: Upload coverage to Codecov
+      uses: codecov/codecov-action at v7
+      with:
+        files: ./coverage.xml
+        flags: unittests
+        env_vars: PYTHON_VERSION,PANDAS_PRESENCE


=====================================
.pre-commit-config.yaml
=====================================
@@ -15,7 +15,7 @@ repos:
       exclude: ".ipynb"
 
 - repo: https://github.com/astral-sh/ruff-pre-commit
-  rev: v0.13.2
+  rev: v0.16.4
   hooks:
     - id: ruff-format
       types_or: [ python, pyi, jupyter ]


=====================================
doc/changes.rst
=====================================
@@ -8,6 +8,13 @@ All Patsy releases are archived at Zenodo:
 .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.592075.svg
    :target: https://doi.org/10.5281/zenodo.592075
 
+v1.0.3
+------
+
+* Added official support for Python 3.14.
+* Fixed constraint tokenizer compatibility with Python 3.15 pre-releases.
+* Updates to CI tooling and doc building.
+
 v1.0.2
 ------
 
@@ -87,7 +94,7 @@ New features:
   characters as valid formula descriptions in
   the high-level formula API (:func:`dmatrix` and friends). This is
   intended as a convenience for people using Python 2 with ``from
-  __future__ import unicode_literals``. (See :ref:`py2-versus-py3`.)
+  __future__ import unicode_literals``.
 
 Bug fixes:
 


=====================================
doc/conf.py
=====================================
@@ -75,9 +75,9 @@ extensions = [
 # Undocumented trick: if we def setup here in conf.py, it gets called just
 # like an extension's setup function.
 def setup(app):
-    app.add_javascript("show-code.js")
-    app.add_javascript("facebox.js")
-    app.add_stylesheet("facebox.css")
+    app.add_js_file("show-code.js")
+    app.add_js_file("facebox.js")
+    app.add_js_file("facebox.css")
 
 
 # Add any paths that contain templates here, relative to this directory.
@@ -240,9 +240,9 @@ latex_documents = [
 autoclass_content = "both"
 
 intersphinx_mapping = {
-    "python": ("http://docs.python.org", None),
-    "numpy": ("http://docs.scipy.org/doc/numpy", None),
-    "pandas": ("http://pandas.pydata.org/pandas-docs/stable/", None),
+    "python": ("https://docs.python.org/3/", None),
+    "numpy": ("https://numpy.org/doc/stable/", None),
+    "pandas": ("https://pandas.pydata.org/pandas-docs/stable/", None),
 }
 
-autodoc_member_order = "source"
+autodoc_member_order = "bysource"


=====================================
doc/index.rst
=====================================
@@ -4,38 +4,27 @@
    contain the root `toctree` directive.
 
 patsy - Describing statistical models in Python
-===================================================
+===============================================
+
+Patsy documentation
 
 Contents:
 
 .. toctree::
    :maxdepth: 2
 
-   overview.rst
-
-   quickstart.rst
-
-   formulas.rst
-
-   categorical-coding.rst
-
-   stateful-transforms.rst
-
-   spline-regression.rst
-
-   expert-model-specification.rst
-
-   library-developers.rst
-
-   R-comparison.rst
-
-   py2-versus-py3.rst
-
-   API-reference.rst
-
-   builtins-reference.rst
-
-   changes.rst
+   overview
+   quickstart
+   formulas
+   categorical-coding
+   stateful-transforms
+   spline-regression
+   expert-model-specification
+   library-developers
+   R-comparison
+   API-reference
+   builtins-reference
+   changes
 
 Indices and tables
 ==================


=====================================
doc/spline-regression.rst
=====================================
@@ -179,7 +179,7 @@ marginal spline bases patterns can be observed on the x and y contour projection
       ....:            {"x1": x1.ravel(), "x2": x2.ravel(), "df": df})
       ....:
 
-   In [80]: print y.shape
+   In [80]: print(y.shape)
 
    In [90]: fig = plt.figure()
 


=====================================
patsy/constraint.py
=====================================
@@ -187,7 +187,7 @@ def _tokenize_constraint(string, variable_names):
     lparen_re = r"\("
     rparen_re = r"\)"
     op_re = "|".join([re.escape(op.token_type) for op in _ops])
-    num_re = r"[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?"
+    num_re = r"[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?"
     whitespace_re = r"\s+"
 
     # Prefer long matches:


=====================================
patsy/version.py
=====================================
@@ -6,15 +6,15 @@
 # places -- it is imported by patsy/__init__.py, execfile'd by setup.py, etc.
 
 # We use a simple scheme:
-#   1.0.2 -> 1.0.2+dev -> 1.1.0 -> 1.1.0+dev
+#   1.0.3 -> 1.0.3+dev -> 1.1.0 -> 1.1.0+dev
 # where the +dev versions are never released into the wild, they're just what
 # we stick into the VCS in between releases.
 #
 # This is compatible with PEP 440:
 #   http://legacy.python.org/dev/peps/pep-0440/
 # via the use of the "local suffix" "+dev", which is disallowed on index
-# servers and causes 1.0.2+dev to sort after plain 1.0.2, which is what we
-# want. (Contrast with the special suffix 1.0.2.dev, which sorts *before*
-# 1.0.2.)
+# servers and causes 1.0.3+dev to sort after plain 1.0.3, which is what we
+# want. (Contrast with the special suffix 1.0.3.dev, which sorts *before*
+# 1.0.3.)
 
-__version__ = "1.0.2"
+__version__ = "1.0.3"


=====================================
setup.py
=====================================
@@ -27,6 +27,7 @@ setup(
         # Possibly we need an even newer numpy than this, but we definitely
         # need at least 1.4 for triu_indices
         "numpy >= 1.4",
+        "packaging",
     ],
     extras_require={
         "test": ["pytest", "pytest-cov", "scipy"],
@@ -47,6 +48,7 @@ setup(
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
         "Programming Language :: Python :: 3.13",
+        "Programming Language :: Python :: 3.14",
         "Topic :: Scientific/Engineering",
     ],
 )



View it on GitLab: https://salsa.debian.org/med-team/patsy/-/commit/389a252ccdadde6f428b61f3f6757fc42787692c

-- 
View it on GitLab: https://salsa.debian.org/med-team/patsy/-/commit/389a252ccdadde6f428b61f3f6757fc42787692c
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260831/7ff228e1/attachment-0001.htm>


More information about the debian-med-commit mailing list