Skip to content

Add cp314t build#212

Open
bashtage wants to merge 2 commits into
MacPython:mainfrom
bashtage:cp314t
Open

Add cp314t build#212
bashtage wants to merge 2 commits into
MacPython:mainfrom
bashtage:cp314t

Conversation

@bashtage

@bashtage bashtage commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

closes #208

@rgommers

Copy link
Copy Markdown

The 3.14t-specific failures on macOS, Linux and x86-64 Windows are all the same:

  ================================== FAILURES ===================================
  _________________ test_negative_binomial_default_alpha_param __________________
  [gw1] win32 -- Python 3.14.5 C:\Users\runneradmin\AppData\Local\Temp\cibw-run-23n5l6d3\cp314t-win_amd64\venv-test\Scripts\python.exe
  
      def test_negative_binomial_default_alpha_param():
          with pytest.warns(
              UserWarning, match="Negative binomial dispersion parameter alpha not set"
          ):
              sm.families.NegativeBinomial()
          with pytest.warns(
              UserWarning, match="Negative binomial dispersion parameter alpha not set"
          ):
              sm.families.NegativeBinomial(link=sm.families.links.NegativeBinomial(alpha=1.0))
          with warnings.catch_warnings():
              warnings.simplefilter("error")
  >           sm.families.NegativeBinomial(alpha=1.0)
  
  ..\venv-test\Lib\site-packages\statsmodels\discrete\tests\test_discrete.py:2681: 
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
  self = <statsmodels.genmod.families.family.NegativeBinomial object at 0x0000026651B65290>
  link = None, alpha = 1.0, check_link = True
  
      def __init__(self, link=None, alpha=1.0, check_link=True):
          self.alpha = 1.0 * alpha  # make it at least float
          if alpha is self.__init__.__defaults__[1]:  # `is` is intentional
  >           warnings.warn(
                  "Negative binomial dispersion parameter alpha not "
                  f"set. Using default value alpha={alpha}.",
                  ValueWarning,
                  stacklevel=2,
              )
  E           statsmodels.tools.sm_exceptions.ValueWarning: Negative binomial dispersion parameter alpha not set. Using default value alpha=1.0.

That seems relatively benign, and is possibly related to the different default for warnings behavior under free-threading: https://docs.python.org/3.14/whatsnew/3.14.html#concurrent-safe-warnings-control.

The Windows on Arm jobs show crashes, but on all of cp313, cp314 and cp314t jobs. May be useful to try to diagnose one of the GIL-enabled builds first, and then see if anything is left.

https://github.com/MacPython/statsmodels-wheels/actions/runs/27669875530/job/81831635348?pr=212

@bashtage

Copy link
Copy Markdown
Contributor Author

The windows arm failures are expected. They have been failing since they were first started. There appears to be OpenBlas bug(s). These have been reported to NumPy.

I agree that the warnings failure is pretty important. The bigger issue is that other parts segfault under free threading when actually run in parallel. But I suppose we can still have a cp314t wheel even if it isn't actually threadsafe.

@bashtage bashtage closed this Jun 17, 2026
@bashtage bashtage reopened this Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include cp314t wheels in the next release

2 participants