Problem with a Python module

84 views
Skip to first unread message

Julian

unread,
May 11, 2026, 11:38:37 AMMay 11
to Machine Learning for Kids
Hey. I'm using Ml4kids in school rn and I've run into a problem with the ydf-module required to run the ml4kids code in my python code. The problem is that whatever I do, I can't download and install the module. What should I do since nothing I tried works 

Dale Lane

unread,
May 11, 2026, 11:39:38 AMMay 11
to Machine Learning for Kids
Can you share what operating system and what version of Python you are using, please? 

Kind regards

D

Julian Jürgens

unread,
May 12, 2026, 3:27:09 PMMay 12
to Dale Lane, Machine Learning for Kids
Hi im using Python 3.16.4 and the os is macOS Tahoe 26.4
--
https://machinelearningforkids.co.uk
---
You received this message because you are subscribed to a topic in the Google Groups "Machine Learning for Kids" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mlforkids/ZvuxCI6BlSE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mlforkids+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/mlforkids/07fd7fae-038e-40bd-ad17-b88567f75a5cn%40googlegroups.com.

Dale Lane

unread,
May 12, 2026, 3:58:03 PMMay 12
to Machine Learning for Kids
There are a lot of Python packages that don't yet have support for 3.16. This is not unusual, and is often the case - this is especially true for ML packages

Looking at https://pypi.org/project/ydf/0.12.0/#files there are only builds available for Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 
(assuming you have an ARM64 Mac)

(If none of those work for you, you could try a newer version of ydf - if you updated from 0.12.0 to the latest 0.16.1 there are more MacOS builds available but still only up to Python 3.13)

Personally I use homebrew to manage multiple different Python installs on my Mac, and keep 3.11 3.12 and 3.13 around as that means I'm covered for more or less anything.

Kind regards

D

Julian

unread,
May 12, 2026, 4:23:37 PMMay 12
to Machine Learning for Kids
hi i am using python 3.16.4 and the os is macOS Tahoe 26.4 but I also ted downloading the module on python 3.9,3.10 and 3.11

Dale Lane

unread,
May 12, 2026, 4:27:09 PMMay 12
to Machine Learning for Kids
Do you mind sharing what happens when you tried, please? 

For example, this is what happened for me:

dalelane@Dales-MacBook-Pro-2 ~ % cd /tmp
dalelane@Dales-MacBook-Pro-2 /tmp % mkdir quick-test
dalelane@Dales-MacBook-Pro-2 /tmp % cd quick-test
dalelane@Dales-MacBook-Pro-2 quick-test % python3.11 -mvenv venv
dalelane@Dales-MacBook-Pro-2 quick-test % source venv/bin/activate
(venv) dalelane@Dales-MacBook-Pro-2 quick-test % pip install ydf
Collecting ydf
  Downloading ydf-0.16.1-cp311-cp311-macosx_12_0_arm64.whl.metadata (3.8 kB)
Collecting numpy (from ydf)
  Downloading numpy-2.4.4-cp311-cp311-macosx_14_0_arm64.whl.metadata (6.6 kB)
Collecting absl_py (from ydf)
  Using cached absl_py-2.4.0-py3-none-any.whl.metadata (3.3 kB)
Collecting protobuf<8.0.0,>=6.31.1 (from ydf)
  Using cached protobuf-7.34.1-cp310-abi3-macosx_10_9_universal2.whl.metadata (595 bytes)
Downloading ydf-0.16.1-cp311-cp311-macosx_12_0_arm64.whl (8.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2/8.2 MB 221.8 kB/s eta 0:00:00
Using cached protobuf-7.34.1-cp310-abi3-macosx_10_9_universal2.whl (429 kB)
Using cached absl_py-2.4.0-py3-none-any.whl (135 kB)
Downloading numpy-2.4.4-cp311-cp311-macosx_14_0_arm64.whl (5.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5/5.5 MB 202.1 kB/s eta 0:00:00
Installing collected packages: protobuf, numpy, absl_py, ydf
Successfully installed absl_py-2.4.0 numpy-2.4.4 protobuf-7.34.1 ydf-0.16.1

[notice] A new release of pip is available: 25.0.1 -> 26.1.1
[notice] To update, run: pip install --upgrade pip
(venv) dalelane@Dales-MacBook-Pro-2 quick-test %

Julian

unread,
May 13, 2026, 3:15:50 AMMay 13
to Machine Learning for Kids
this is what happens when I try it:

error: externally-managed-environment


× This environment is externally managed

╰─> To install Python packages system-wide, try brew install

    xyz, where xyz is the package you are trying to

    install.

    

    If you wish to install a Python library that isn't in Homebrew,

    use a virtual environment:

    

    python3 -m venv path/to/venv

    source path/to/venv/bin/activate

    python3 -m pip install xyz

    

    If you wish to install a Python application that isn't in Homebrew,

    it may be easiest to use 'pipx install xyz', which will manage a

    virtual environment for you. You can install pipx with

    

    brew install pipx

    

    You may restore the old behavior of pip by passing

    the '--break-system-packages' flag to pip, or by adding

    'break-system-packages = true' to your pip.conf file. The latter

    will permanently disable this error.

    

    If you disable this error, we STRONGLY recommend that you additionally

    pass the '--user' flag to pip, or set 'user = true' in your pip.conf

    file. Failure to do this can result in a broken Homebrew installation.

    

    Read more about this behavior here: <https://peps.python.org/pep-0668/>


note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.

hint: See PEP 668 for the detailed specification.

 and when I try using home-brew it tells me that home-brew doesn't know the ydf package

Dale Lane

unread,
May 13, 2026, 3:17:32 AMMay 13
to Machine Learning for Kids
That error message is telling you what the issue is (that you can't install packages into the global space) and is giving you the solution: 


If you wish to install a Python library that isn't in Homebrew,

    use a virtual environment:

    

    python3 -m venv path/to/venv

    source path/to/venv/bin/activate

    python3 -m pip install xyz


replace "xyz" with ydf, and that's basically it. 

If you also look above at the commands that I showed you, you'll see that I essentially did that too.

Kind regards

D

Julian

unread,
May 13, 2026, 10:53:05 AMMay 13
to Machine Learning for Kids
hey I now tried it like you said but it still gives me error messages and tells me to upgrade pip but im already o. the latest pip version
This is what it tells me now:

ERROR: Ignored the following yanked versions: 0.0.0

ERROR: Could not find a version that satisfies the requirement ydf (from versions: none)


[notice] A new release of pip is available: 26.1 -> 26.1.1

[notice] To update, run: pip install --upgrade pip

ERROR: No matching distribution found for ydf


Dale Lane

unread,
May 13, 2026, 10:53:39 AMMay 13
to Machine Learning for Kids
Could you show me a little more context, please? It's hard to know what the problem is without seeing what command you ran first. 

Julian

unread,
May 13, 2026, 12:14:01 PMMay 13
to Machine Learning for Kids
this is everything I see in my terminal:

julian ~ % python3 -m venv path/to/venv

julian~ % source path/to/venv/bin/activate

(venv) julian ~ % python3 -m pip install ydf

WARNING: Cache entry deserialization failed, entry ignored

ERROR: Ignored the following yanked versions: 0.0.0

ERROR: Could not find a version that satisfies the requirement ydf (from versions: none)


[notice] A new release of pip is available: 26.1 -> 26.1.1

[notice] To update, run: pip install --upgrade pip

ERROR: No matching distribution found for ydf

(venv) julian ~ % 



(I just deleted the:" my name" @ MacBook......)

Dale Lane

unread,
May 13, 2026, 12:26:02 PMMay 13
to Machine Learning for Kids
As we discussed above, the key factor here is likely to be the Python version - and I can't tell what version of Python you've got "python3" aliased to. 

Can you share the output of this command, please? (after sourcing the activate script for your venv)
python --version && pip debug --verbose

Kind regards

D

PS - one small observation - while "path/to/venv" will technically work, it's unusual to do that. 
That is included in the error message as a way of describing to you that you give it the path to the venv folder, rather than being a literal location you should use.
Running it like that means you're creating a folder called "path", and inside that a subfolder called "to", and inside that, the "venv" folder
folder-screenshot.jpg

Julian

unread,
May 14, 2026, 4:07:07 AMMay 14
to Machine Learning for Kids
Hi, this is the entire output that I get:

Python 3.14.4

WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.

pip version: pip 26.1 from /Users/julian/path/to/venv/lib/python3.14/site-packages/pip (python 3.14)

sys.version: 3.14.4 (main, Apr  7 2026, 13:13:20) [Clang 21.0.0 (clang-2100.0.123.102)]

sys.executable: /Users/julian/path/to/venv/bin/python3.14

sys.getdefaultencoding: utf-8

sys.getfilesystemencoding: utf-8

locale.getpreferredencoding: UTF-8

sys.platform: darwin

sys.implementation:

  name: cpython

'cert' config value: global

REQUESTS_CA_BUNDLE: None

CURL_CA_BUNDLE: None

pip._vendor.certifi.where(): /Users/julian/path/to/venv/lib/python3.14/site-packages/pip/_vendor/certifi/cacert.pem

pip._vendor.DEBUNDLED: False

vendored library versions:

  CacheControl==0.14.4 (Unable to locate actual module version, using vendor.txt specified version)

  distlib==0.4.0

  distro==1.9.0

  msgpack==1.1.2

  packaging==26.2

  platformdirs==4.5.1

  pyproject-hooks==1.2.0

  requests==2.33.1

  certifi==2026.02.25

  idna==3.11

  urllib3==2.6.3

  rich==14.2.0 (Unable to locate actual module version, using vendor.txt specified version)

  pygments==2.19.2

  resolvelib==1.2.1

  setuptools==70.3.0 (Unable to locate actual module version, using vendor.txt specified version)

  tomli==2.3.1

  tomli-w==1.2.0

  truststore==0.10.4

Compatible tags: 1412

  cp314-cp314-macosx_26_0_arm64

  cp314-cp314-macosx_26_0_universal2

  cp314-cp314-macosx_25_0_arm64

  cp314-cp314-macosx_25_0_universal2

  cp314-cp314-macosx_24_0_arm64

  cp314-cp314-macosx_24_0_universal2

  cp314-cp314-macosx_23_0_arm64

  cp314-cp314-macosx_23_0_universal2

  cp314-cp314-macosx_22_0_arm64

  cp314-cp314-macosx_22_0_universal2

  cp314-cp314-macosx_21_0_arm64

  cp314-cp314-macosx_21_0_universal2

  cp314-cp314-macosx_20_0_arm64

  cp314-cp314-macosx_20_0_universal2

  cp314-cp314-macosx_19_0_arm64

  cp314-cp314-macosx_19_0_universal2

  cp314-cp314-macosx_18_0_arm64

  cp314-cp314-macosx_18_0_universal2

  cp314-cp314-macosx_17_0_arm64

  cp314-cp314-macosx_17_0_universal2

  cp314-cp314-macosx_16_0_arm64

  cp314-cp314-macosx_16_0_universal2

  cp314-cp314-macosx_15_0_arm64

  cp314-cp314-macosx_15_0_universal2

  cp314-cp314-macosx_14_0_arm64

  cp314-cp314-macosx_14_0_universal2

  cp314-cp314-macosx_13_0_arm64

  cp314-cp314-macosx_13_0_universal2

  cp314-cp314-macosx_12_0_arm64

  cp314-cp314-macosx_12_0_universal2

  cp314-cp314-macosx_11_0_arm64

  cp314-cp314-macosx_11_0_universal2

  cp314-cp314-macosx_10_16_universal2

  cp314-cp314-macosx_10_15_universal2

  cp314-cp314-macosx_10_14_universal2

  cp314-cp314-macosx_10_13_universal2

  cp314-cp314-macosx_10_12_universal2

  cp314-cp314-macosx_10_11_universal2

  cp314-cp314-macosx_10_10_universal2

  cp314-cp314-macosx_10_9_universal2

  cp314-cp314-macosx_10_8_universal2

  cp314-cp314-macosx_10_7_universal2

  cp314-cp314-macosx_10_6_universal2

  cp314-cp314-macosx_10_5_universal2

  cp314-cp314-macosx_10_4_universal2

  cp314-abi3-macosx_26_0_arm64

  cp314-abi3-macosx_26_0_universal2

  cp314-abi3-macosx_25_0_arm64

  cp314-abi3-macosx_25_0_universal2

  cp314-abi3-macosx_24_0_arm64

  cp314-abi3-macosx_24_0_universal2

  cp314-abi3-macosx_23_0_arm64

  cp314-abi3-macosx_23_0_universal2

  cp314-abi3-macosx_22_0_arm64

  cp314-abi3-macosx_22_0_universal2

  cp314-abi3-macosx_21_0_arm64

  cp314-abi3-macosx_21_0_universal2

  cp314-abi3-macosx_20_0_arm64

  cp314-abi3-macosx_20_0_universal2

  cp314-abi3-macosx_19_0_arm64

  cp314-abi3-macosx_19_0_universal2

  cp314-abi3-macosx_18_0_arm64

  cp314-abi3-macosx_18_0_universal2

  cp314-abi3-macosx_17_0_arm64

  cp314-abi3-macosx_17_0_universal2

  cp314-abi3-macosx_16_0_arm64

  cp314-abi3-macosx_16_0_universal2

  cp314-abi3-macosx_15_0_arm64

  cp314-abi3-macosx_15_0_universal2

  cp314-abi3-macosx_14_0_arm64

  cp314-abi3-macosx_14_0_universal2

  cp314-abi3-macosx_13_0_arm64

  cp314-abi3-macosx_13_0_universal2

  cp314-abi3-macosx_12_0_arm64

  cp314-abi3-macosx_12_0_universal2

  cp314-abi3-macosx_11_0_arm64

  cp314-abi3-macosx_11_0_universal2

  cp314-abi3-macosx_10_16_universal2

  cp314-abi3-macosx_10_15_universal2

  cp314-abi3-macosx_10_14_universal2

  cp314-abi3-macosx_10_13_universal2

  cp314-abi3-macosx_10_12_universal2

  cp314-abi3-macosx_10_11_universal2

  cp314-abi3-macosx_10_10_universal2

  cp314-abi3-macosx_10_9_universal2

  cp314-abi3-macosx_10_8_universal2

  cp314-abi3-macosx_10_7_universal2

  cp314-abi3-macosx_10_6_universal2

  cp314-abi3-macosx_10_5_universal2

  cp314-abi3-macosx_10_4_universal2

  cp314-none-macosx_26_0_arm64

  cp314-none-macosx_26_0_universal2

  cp314-none-macosx_25_0_arm64

  cp314-none-macosx_25_0_universal2

  cp314-none-macosx_24_0_arm64

  cp314-none-macosx_24_0_universal2

  cp314-none-macosx_23_0_arm64

  cp314-none-macosx_23_0_universal2

  cp314-none-macosx_22_0_arm64

  cp314-none-macosx_22_0_universal2

  cp314-none-macosx_21_0_arm64

  cp314-none-macosx_21_0_universal2

  cp314-none-macosx_20_0_arm64

  cp314-none-macosx_20_0_universal2

  cp314-none-macosx_19_0_arm64

  cp314-none-macosx_19_0_universal2

  cp314-none-macosx_18_0_arm64

  cp314-none-macosx_18_0_universal2

  cp314-none-macosx_17_0_arm64

  cp314-none-macosx_17_0_universal2

  cp314-none-macosx_16_0_arm64

  cp314-none-macosx_16_0_universal2

  cp314-none-macosx_15_0_arm64

  cp314-none-macosx_15_0_universal2

  cp314-none-macosx_14_0_arm64

  cp314-none-macosx_14_0_universal2

  cp314-none-macosx_13_0_arm64

  cp314-none-macosx_13_0_universal2

  cp314-none-macosx_12_0_arm64

  cp314-none-macosx_12_0_universal2

  cp314-none-macosx_11_0_arm64

  cp314-none-macosx_11_0_universal2

  cp314-none-macosx_10_16_universal2

  cp314-none-macosx_10_15_universal2

  cp314-none-macosx_10_14_universal2

  cp314-none-macosx_10_13_universal2

  cp314-none-macosx_10_12_universal2

  cp314-none-macosx_10_11_universal2

  cp314-none-macosx_10_10_universal2

  cp314-none-macosx_10_9_universal2

  cp314-none-macosx_10_8_universal2

  cp314-none-macosx_10_7_universal2

  cp314-none-macosx_10_6_universal2

  cp314-none-macosx_10_5_universal2

  cp314-none-macosx_10_4_universal2

  cp313-abi3-macosx_26_0_arm64

  cp313-abi3-macosx_26_0_universal2

  cp313-abi3-macosx_25_0_arm64

  cp313-abi3-macosx_25_0_universal2

  cp313-abi3-macosx_24_0_arm64

  cp313-abi3-macosx_24_0_universal2

  cp313-abi3-macosx_23_0_arm64

  cp313-abi3-macosx_23_0_universal2

  cp313-abi3-macosx_22_0_arm64

  cp313-abi3-macosx_22_0_universal2

  cp313-abi3-macosx_21_0_arm64

  cp313-abi3-macosx_21_0_universal2

  cp313-abi3-macosx_20_0_arm64

  cp313-abi3-macosx_20_0_universal2

  cp313-abi3-macosx_19_0_arm64

  cp313-abi3-macosx_19_0_universal2

  cp313-abi3-macosx_18_0_arm64

  cp313-abi3-macosx_18_0_universal2

  cp313-abi3-macosx_17_0_arm64

  cp313-abi3-macosx_17_0_universal2

  cp313-abi3-macosx_16_0_arm64

  cp313-abi3-macosx_16_0_universal2

  cp313-abi3-macosx_15_0_arm64

  cp313-abi3-macosx_15_0_universal2

  cp313-abi3-macosx_14_0_arm64

  cp313-abi3-macosx_14_0_universal2

  cp313-abi3-macosx_13_0_arm64

  cp313-abi3-macosx_13_0_universal2

  cp313-abi3-macosx_12_0_arm64

  cp313-abi3-macosx_12_0_universal2

  cp313-abi3-macosx_11_0_arm64

  cp313-abi3-macosx_11_0_universal2

  cp313-abi3-macosx_10_16_universal2

  cp313-abi3-macosx_10_15_universal2

  cp313-abi3-macosx_10_14_universal2

  cp313-abi3-macosx_10_13_universal2

  cp313-abi3-macosx_10_12_universal2

  cp313-abi3-macosx_10_11_universal2

  cp313-abi3-macosx_10_10_universal2

  cp313-abi3-macosx_10_9_universal2

  cp313-abi3-macosx_10_8_universal2

  cp313-abi3-macosx_10_7_universal2

  cp313-abi3-macosx_10_6_universal2

  cp313-abi3-macosx_10_5_universal2

  cp313-abi3-macosx_10_4_universal2

  cp312-abi3-macosx_26_0_arm64

  cp312-abi3-macosx_26_0_universal2

  cp312-abi3-macosx_25_0_arm64

  cp312-abi3-macosx_25_0_universal2

  cp312-abi3-macosx_24_0_arm64

  cp312-abi3-macosx_24_0_universal2

  cp312-abi3-macosx_23_0_arm64

  cp312-abi3-macosx_23_0_universal2

  cp312-abi3-macosx_22_0_arm64

  cp312-abi3-macosx_22_0_universal2

  cp312-abi3-macosx_21_0_arm64

  cp312-abi3-macosx_21_0_universal2

  cp312-abi3-macosx_20_0_arm64

  cp312-abi3-macosx_20_0_universal2

  cp312-abi3-macosx_19_0_arm64

  cp312-abi3-macosx_19_0_universal2

  cp312-abi3-macosx_18_0_arm64

  cp312-abi3-macosx_18_0_universal2

  cp312-abi3-macosx_17_0_arm64

  cp312-abi3-macosx_17_0_universal2

  cp312-abi3-macosx_16_0_arm64

  cp312-abi3-macosx_16_0_universal2

  cp312-abi3-macosx_15_0_arm64

  cp312-abi3-macosx_15_0_universal2

  cp312-abi3-macosx_14_0_arm64

  cp312-abi3-macosx_14_0_universal2

  cp312-abi3-macosx_13_0_arm64

  cp312-abi3-macosx_13_0_universal2

  cp312-abi3-macosx_12_0_arm64

  cp312-abi3-macosx_12_0_universal2

  cp312-abi3-macosx_11_0_arm64

  cp312-abi3-macosx_11_0_universal2

  cp312-abi3-macosx_10_16_universal2

  cp312-abi3-macosx_10_15_universal2

  cp312-abi3-macosx_10_14_universal2

  cp312-abi3-macosx_10_13_universal2

  cp312-abi3-macosx_10_12_universal2

  cp312-abi3-macosx_10_11_universal2

  cp312-abi3-macosx_10_10_universal2

  cp312-abi3-macosx_10_9_universal2

  cp312-abi3-macosx_10_8_universal2

  cp312-abi3-macosx_10_7_universal2

  cp312-abi3-macosx_10_6_universal2

  cp312-abi3-macosx_10_5_universal2

  cp312-abi3-macosx_10_4_universal2

  cp311-abi3-macosx_26_0_arm64

  cp311-abi3-macosx_26_0_universal2

  cp311-abi3-macosx_25_0_arm64

  cp311-abi3-macosx_25_0_universal2

  cp311-abi3-macosx_24_0_arm64

  cp311-abi3-macosx_24_0_universal2

  cp311-abi3-macosx_23_0_arm64

  cp311-abi3-macosx_23_0_universal2

  cp311-abi3-macosx_22_0_arm64

  cp311-abi3-macosx_22_0_universal2

  cp311-abi3-macosx_21_0_arm64

  cp311-abi3-macosx_21_0_universal2

  cp311-abi3-macosx_20_0_arm64

  cp311-abi3-macosx_20_0_universal2

  cp311-abi3-macosx_19_0_arm64

  cp311-abi3-macosx_19_0_universal2

  cp311-abi3-macosx_18_0_arm64

  cp311-abi3-macosx_18_0_universal2

  cp311-abi3-macosx_17_0_arm64

  cp311-abi3-macosx_17_0_universal2

  cp311-abi3-macosx_16_0_arm64

  cp311-abi3-macosx_16_0_universal2

  cp311-abi3-macosx_15_0_arm64

  cp311-abi3-macosx_15_0_universal2

  cp311-abi3-macosx_14_0_arm64

  cp311-abi3-macosx_14_0_universal2

  cp311-abi3-macosx_13_0_arm64

  cp311-abi3-macosx_13_0_universal2

  cp311-abi3-macosx_12_0_arm64

  cp311-abi3-macosx_12_0_universal2

  cp311-abi3-macosx_11_0_arm64

  cp311-abi3-macosx_11_0_universal2

  cp311-abi3-macosx_10_16_universal2

  cp311-abi3-macosx_10_15_universal2

  cp311-abi3-macosx_10_14_universal2

  cp311-abi3-macosx_10_13_universal2

  cp311-abi3-macosx_10_12_universal2

  cp311-abi3-macosx_10_11_universal2

  cp311-abi3-macosx_10_10_universal2

  cp311-abi3-macosx_10_9_universal2

  cp311-abi3-macosx_10_8_universal2

  cp311-abi3-macosx_10_7_universal2

  cp311-abi3-macosx_10_6_universal2

  cp311-abi3-macosx_10_5_universal2

  cp311-abi3-macosx_10_4_universal2

  cp310-abi3-macosx_26_0_arm64

  cp310-abi3-macosx_26_0_universal2

  cp310-abi3-macosx_25_0_arm64

  cp310-abi3-macosx_25_0_universal2

  cp310-abi3-macosx_24_0_arm64

  cp310-abi3-macosx_24_0_universal2

  cp310-abi3-macosx_23_0_arm64

  cp310-abi3-macosx_23_0_universal2

  cp310-abi3-macosx_22_0_arm64

  cp310-abi3-macosx_22_0_universal2

  cp310-abi3-macosx_21_0_arm64

  cp310-abi3-macosx_21_0_universal2

  cp310-abi3-macosx_20_0_arm64

  cp310-abi3-macosx_20_0_universal2

  cp310-abi3-macosx_19_0_arm64

  cp310-abi3-macosx_19_0_universal2

  cp310-abi3-macosx_18_0_arm64

  cp310-abi3-macosx_18_0_universal2

  cp310-abi3-macosx_17_0_arm64

  cp310-abi3-macosx_17_0_universal2

  cp310-abi3-macosx_16_0_arm64

  cp310-abi3-macosx_16_0_universal2

  cp310-abi3-macosx_15_0_arm64

  cp310-abi3-macosx_15_0_universal2

  cp310-abi3-macosx_14_0_arm64

  cp310-abi3-macosx_14_0_universal2

  cp310-abi3-macosx_13_0_arm64

  cp310-abi3-macosx_13_0_universal2

  cp310-abi3-macosx_12_0_arm64

  cp310-abi3-macosx_12_0_universal2

  cp310-abi3-macosx_11_0_arm64

  cp310-abi3-macosx_11_0_universal2

  cp310-abi3-macosx_10_16_universal2

  cp310-abi3-macosx_10_15_universal2

  cp310-abi3-macosx_10_14_universal2

  cp310-abi3-macosx_10_13_universal2

  cp310-abi3-macosx_10_12_universal2

  cp310-abi3-macosx_10_11_universal2

  cp310-abi3-macosx_10_10_universal2

  cp310-abi3-macosx_10_9_universal2

  cp310-abi3-macosx_10_8_universal2

  cp310-abi3-macosx_10_7_universal2

  cp310-abi3-macosx_10_6_universal2

  cp310-abi3-macosx_10_5_universal2

  cp310-abi3-macosx_10_4_universal2

  cp39-abi3-macosx_26_0_arm64

  cp39-abi3-macosx_26_0_universal2

  cp39-abi3-macosx_25_0_arm64

  cp39-abi3-macosx_25_0_universal2

  cp39-abi3-macosx_24_0_arm64

  cp39-abi3-macosx_24_0_universal2

  cp39-abi3-macosx_23_0_arm64

  cp39-abi3-macosx_23_0_universal2

  cp39-abi3-macosx_22_0_arm64

  cp39-abi3-macosx_22_0_universal2

  cp39-abi3-macosx_21_0_arm64

  cp39-abi3-macosx_21_0_universal2

  cp39-abi3-macosx_20_0_arm64

  cp39-abi3-macosx_20_0_universal2

  cp39-abi3-macosx_19_0_arm64

  cp39-abi3-macosx_19_0_universal2

  cp39-abi3-macosx_18_0_arm64

  cp39-abi3-macosx_18_0_universal2

  cp39-abi3-macosx_17_0_arm64

  cp39-abi3-macosx_17_0_universal2

  cp39-abi3-macosx_16_0_arm64

  cp39-abi3-macosx_16_0_universal2

  cp39-abi3-macosx_15_0_arm64

  cp39-abi3-macosx_15_0_universal2

  cp39-abi3-macosx_14_0_arm64

  cp39-abi3-macosx_14_0_universal2

  cp39-abi3-macosx_13_0_arm64

  cp39-abi3-macosx_13_0_universal2

  cp39-abi3-macosx_12_0_arm64

  cp39-abi3-macosx_12_0_universal2

  cp39-abi3-macosx_11_0_arm64

  cp39-abi3-macosx_11_0_universal2

  cp39-abi3-macosx_10_16_universal2

  cp39-abi3-macosx_10_15_universal2

  cp39-abi3-macosx_10_14_universal2

  cp39-abi3-macosx_10_13_universal2

  cp39-abi3-macosx_10_12_universal2

  cp39-abi3-macosx_10_11_universal2

  cp39-abi3-macosx_10_10_universal2

  cp39-abi3-macosx_10_9_universal2

  cp39-abi3-macosx_10_8_universal2

  cp39-abi3-macosx_10_7_universal2

  cp39-abi3-macosx_10_6_universal2

  cp39-abi3-macosx_10_5_universal2

  cp39-abi3-macosx_10_4_universal2

  cp38-abi3-macosx_26_0_arm64

  cp38-abi3-macosx_26_0_universal2

  cp38-abi3-macosx_25_0_arm64

  cp38-abi3-macosx_25_0_universal2

  cp38-abi3-macosx_24_0_arm64

  cp38-abi3-macosx_24_0_universal2

  cp38-abi3-macosx_23_0_arm64

  cp38-abi3-macosx_23_0_universal2

  cp38-abi3-macosx_22_0_arm64

  cp38-abi3-macosx_22_0_universal2

  cp38-abi3-macosx_21_0_arm64

  cp38-abi3-macosx_21_0_universal2

  cp38-abi3-macosx_20_0_arm64

  cp38-abi3-macosx_20_0_universal2

  cp38-abi3-macosx_19_0_arm64

  cp38-abi3-macosx_19_0_universal2

  cp38-abi3-macosx_18_0_arm64

  cp38-abi3-macosx_18_0_universal2

  cp38-abi3-macosx_17_0_arm64

  cp38-abi3-macosx_17_0_universal2

  cp38-abi3-macosx_16_0_arm64

  cp38-abi3-macosx_16_0_universal2

  cp38-abi3-macosx_15_0_arm64

  cp38-abi3-macosx_15_0_universal2

  cp38-abi3-macosx_14_0_arm64

  cp38-abi3-macosx_14_0_universal2

  cp38-abi3-macosx_13_0_arm64

  cp38-abi3-macosx_13_0_universal2

  cp38-abi3-macosx_12_0_arm64

  cp38-abi3-macosx_12_0_universal2

  cp38-abi3-macosx_11_0_arm64

  cp38-abi3-macosx_11_0_universal2

  cp38-abi3-macosx_10_16_universal2

  cp38-abi3-macosx_10_15_universal2

  cp38-abi3-macosx_10_14_universal2

  cp38-abi3-macosx_10_13_universal2

  cp38-abi3-macosx_10_12_universal2

  cp38-abi3-macosx_10_11_universal2

  cp38-abi3-macosx_10_10_universal2

  cp38-abi3-macosx_10_9_universal2

  cp38-abi3-macosx_10_8_universal2

  cp38-abi3-macosx_10_7_universal2

  cp38-abi3-macosx_10_6_universal2

  cp38-abi3-macosx_10_5_universal2

  cp38-abi3-macosx_10_4_universal2

  cp37-abi3-macosx_26_0_arm64

  cp37-abi3-macosx_26_0_universal2

  cp37-abi3-macosx_25_0_arm64

  cp37-abi3-macosx_25_0_universal2

  cp37-abi3-macosx_24_0_arm64

  cp37-abi3-macosx_24_0_universal2

  cp37-abi3-macosx_23_0_arm64

  cp37-abi3-macosx_23_0_universal2

  cp37-abi3-macosx_22_0_arm64

  cp37-abi3-macosx_22_0_universal2

  cp37-abi3-macosx_21_0_arm64

  cp37-abi3-macosx_21_0_universal2

  cp37-abi3-macosx_20_0_arm64

  cp37-abi3-macosx_20_0_universal2

  cp37-abi3-macosx_19_0_arm64

  cp37-abi3-macosx_19_0_universal2

  cp37-abi3-macosx_18_0_arm64

  cp37-abi3-macosx_18_0_universal2

  cp37-abi3-macosx_17_0_arm64

  cp37-abi3-macosx_17_0_universal2

  cp37-abi3-macosx_16_0_arm64

  cp37-abi3-macosx_16_0_universal2

  cp37-abi3-macosx_15_0_arm64

  cp37-abi3-macosx_15_0_universal2

  cp37-abi3-macosx_14_0_arm64

  cp37-abi3-macosx_14_0_universal2

  cp37-abi3-macosx_13_0_arm64

  cp37-abi3-macosx_13_0_universal2

  cp37-abi3-macosx_12_0_arm64

  cp37-abi3-macosx_12_0_universal2

  cp37-abi3-macosx_11_0_arm64

  cp37-abi3-macosx_11_0_universal2

  cp37-abi3-macosx_10_16_universal2

  cp37-abi3-macosx_10_15_universal2

  cp37-abi3-macosx_10_14_universal2

  cp37-abi3-macosx_10_13_universal2

  cp37-abi3-macosx_10_12_universal2

  cp37-abi3-macosx_10_11_universal2

  cp37-abi3-macosx_10_10_universal2

  cp37-abi3-macosx_10_9_universal2

  cp37-abi3-macosx_10_8_universal2

  cp37-abi3-macosx_10_7_universal2

  cp37-abi3-macosx_10_6_universal2

  cp37-abi3-macosx_10_5_universal2

  cp37-abi3-macosx_10_4_universal2

  cp36-abi3-macosx_26_0_arm64

  cp36-abi3-macosx_26_0_universal2

  cp36-abi3-macosx_25_0_arm64

  cp36-abi3-macosx_25_0_universal2

  cp36-abi3-macosx_24_0_arm64

  cp36-abi3-macosx_24_0_universal2

  cp36-abi3-macosx_23_0_arm64

  cp36-abi3-macosx_23_0_universal2

  cp36-abi3-macosx_22_0_arm64

  cp36-abi3-macosx_22_0_universal2

  cp36-abi3-macosx_21_0_arm64

  cp36-abi3-macosx_21_0_universal2

  cp36-abi3-macosx_20_0_arm64

  cp36-abi3-macosx_20_0_universal2

  cp36-abi3-macosx_19_0_arm64

  cp36-abi3-macosx_19_0_universal2

  cp36-abi3-macosx_18_0_arm64

  cp36-abi3-macosx_18_0_universal2

  cp36-abi3-macosx_17_0_arm64

  cp36-abi3-macosx_17_0_universal2

  cp36-abi3-macosx_16_0_arm64

  cp36-abi3-macosx_16_0_universal2

  cp36-abi3-macosx_15_0_arm64

  cp36-abi3-macosx_15_0_universal2

  cp36-abi3-macosx_14_0_arm64

  cp36-abi3-macosx_14_0_universal2

  cp36-abi3-macosx_13_0_arm64

  cp36-abi3-macosx_13_0_universal2

  cp36-abi3-macosx_12_0_arm64

  cp36-abi3-macosx_12_0_universal2

  cp36-abi3-macosx_11_0_arm64

  cp36-abi3-macosx_11_0_universal2

  cp36-abi3-macosx_10_16_universal2

  cp36-abi3-macosx_10_15_universal2

  cp36-abi3-macosx_10_14_universal2

  cp36-abi3-macosx_10_13_universal2

  cp36-abi3-macosx_10_12_universal2

  cp36-abi3-macosx_10_11_universal2

  cp36-abi3-macosx_10_10_universal2

  cp36-abi3-macosx_10_9_universal2

  cp36-abi3-macosx_10_8_universal2

  cp36-abi3-macosx_10_7_universal2

  cp36-abi3-macosx_10_6_universal2

  cp36-abi3-macosx_10_5_universal2

  cp36-abi3-macosx_10_4_universal2

  cp35-abi3-macosx_26_0_arm64

  cp35-abi3-macosx_26_0_universal2

  cp35-abi3-macosx_25_0_arm64

  cp35-abi3-macosx_25_0_universal2

  cp35-abi3-macosx_24_0_arm64

  cp35-abi3-macosx_24_0_universal2

  cp35-abi3-macosx_23_0_arm64

  cp35-abi3-macosx_23_0_universal2

  cp35-abi3-macosx_22_0_arm64

  cp35-abi3-macosx_22_0_universal2

  cp35-abi3-macosx_21_0_arm64

  cp35-abi3-macosx_21_0_universal2

  cp35-abi3-macosx_20_0_arm64

  cp35-abi3-macosx_20_0_universal2

  cp35-abi3-macosx_19_0_arm64

  cp35-abi3-macosx_19_0_universal2

  cp35-abi3-macosx_18_0_arm64

  cp35-abi3-macosx_18_0_universal2

  cp35-abi3-macosx_17_0_arm64

  cp35-abi3-macosx_17_0_universal2

  cp35-abi3-macosx_16_0_arm64

  cp35-abi3-macosx_16_0_universal2

  cp35-abi3-macosx_15_0_arm64

  cp35-abi3-macosx_15_0_universal2

  cp35-abi3-macosx_14_0_arm64

  cp35-abi3-macosx_14_0_universal2

  cp35-abi3-macosx_13_0_arm64

  cp35-abi3-macosx_13_0_universal2

  cp35-abi3-macosx_12_0_arm64

  cp35-abi3-macosx_12_0_universal2

  cp35-abi3-macosx_11_0_arm64

  cp35-abi3-macosx_11_0_universal2

  cp35-abi3-macosx_10_16_universal2

  cp35-abi3-macosx_10_15_universal2

  cp35-abi3-macosx_10_14_universal2

  cp35-abi3-macosx_10_13_universal2

  cp35-abi3-macosx_10_12_universal2

  cp35-abi3-macosx_10_11_universal2

  cp35-abi3-macosx_10_10_universal2

  cp35-abi3-macosx_10_9_universal2

  cp35-abi3-macosx_10_8_universal2

  cp35-abi3-macosx_10_7_universal2

  cp35-abi3-macosx_10_6_universal2

  cp35-abi3-macosx_10_5_universal2

  cp35-abi3-macosx_10_4_universal2

  cp34-abi3-macosx_26_0_arm64

  cp34-abi3-macosx_26_0_universal2

  cp34-abi3-macosx_25_0_arm64

  cp34-abi3-macosx_25_0_universal2

  cp34-abi3-macosx_24_0_arm64

  cp34-abi3-macosx_24_0_universal2

  cp34-abi3-macosx_23_0_arm64

  cp34-abi3-macosx_23_0_universal2

  cp34-abi3-macosx_22_0_arm64

  cp34-abi3-macosx_22_0_universal2

  cp34-abi3-macosx_21_0_arm64

  cp34-abi3-macosx_21_0_universal2

  cp34-abi3-macosx_20_0_arm64

  cp34-abi3-macosx_20_0_universal2

  cp34-abi3-macosx_19_0_arm64

  cp34-abi3-macosx_19_0_universal2

  cp34-abi3-macosx_18_0_arm64

  cp34-abi3-macosx_18_0_universal2

  cp34-abi3-macosx_17_0_arm64

  cp34-abi3-macosx_17_0_universal2

  cp34-abi3-macosx_16_0_arm64

  cp34-abi3-macosx_16_0_universal2

  cp34-abi3-macosx_15_0_arm64

  cp34-abi3-macosx_15_0_universal2

  cp34-abi3-macosx_14_0_arm64

  cp34-abi3-macosx_14_0_universal2

  cp34-abi3-macosx_13_0_arm64

  cp34-abi3-macosx_13_0_universal2

  cp34-abi3-macosx_12_0_arm64

  cp34-abi3-macosx_12_0_universal2

  cp34-abi3-macosx_11_0_arm64

  cp34-abi3-macosx_11_0_universal2

  cp34-abi3-macosx_10_16_universal2

  cp34-abi3-macosx_10_15_universal2

  cp34-abi3-macosx_10_14_universal2

  cp34-abi3-macosx_10_13_universal2

  cp34-abi3-macosx_10_12_universal2

  cp34-abi3-macosx_10_11_universal2

  cp34-abi3-macosx_10_10_universal2

  cp34-abi3-macosx_10_9_universal2

  cp34-abi3-macosx_10_8_universal2

  cp34-abi3-macosx_10_7_universal2

  cp34-abi3-macosx_10_6_universal2

  cp34-abi3-macosx_10_5_universal2

  cp34-abi3-macosx_10_4_universal2

  cp33-abi3-macosx_26_0_arm64

  cp33-abi3-macosx_26_0_universal2

  cp33-abi3-macosx_25_0_arm64

  cp33-abi3-macosx_25_0_universal2

  cp33-abi3-macosx_24_0_arm64

  cp33-abi3-macosx_24_0_universal2

  cp33-abi3-macosx_23_0_arm64

  cp33-abi3-macosx_23_0_universal2

  cp33-abi3-macosx_22_0_arm64

  cp33-abi3-macosx_22_0_universal2

  cp33-abi3-macosx_21_0_arm64

  cp33-abi3-macosx_21_0_universal2

  cp33-abi3-macosx_20_0_arm64

  cp33-abi3-macosx_20_0_universal2

  cp33-abi3-macosx_19_0_arm64

  cp33-abi3-macosx_19_0_universal2

  cp33-abi3-macosx_18_0_arm64

  cp33-abi3-macosx_18_0_universal2

  cp33-abi3-macosx_17_0_arm64

  cp33-abi3-macosx_17_0_universal2

  cp33-abi3-macosx_16_0_arm64

  cp33-abi3-macosx_16_0_universal2

  cp33-abi3-macosx_15_0_arm64

  cp33-abi3-macosx_15_0_universal2

  cp33-abi3-macosx_14_0_arm64

  cp33-abi3-macosx_14_0_universal2

  cp33-abi3-macosx_13_0_arm64

  cp33-abi3-macosx_13_0_universal2

  cp33-abi3-macosx_12_0_arm64

  cp33-abi3-macosx_12_0_universal2

  cp33-abi3-macosx_11_0_arm64

  cp33-abi3-macosx_11_0_universal2

  cp33-abi3-macosx_10_16_universal2

  cp33-abi3-macosx_10_15_universal2

  cp33-abi3-macosx_10_14_universal2

  cp33-abi3-macosx_10_13_universal2

  cp33-abi3-macosx_10_12_universal2

  cp33-abi3-macosx_10_11_universal2

  cp33-abi3-macosx_10_10_universal2

  cp33-abi3-macosx_10_9_universal2

  cp33-abi3-macosx_10_8_universal2

  cp33-abi3-macosx_10_7_universal2

  cp33-abi3-macosx_10_6_universal2

  cp33-abi3-macosx_10_5_universal2

  cp33-abi3-macosx_10_4_universal2

  cp32-abi3-macosx_26_0_arm64

  cp32-abi3-macosx_26_0_universal2

  cp32-abi3-macosx_25_0_arm64

  cp32-abi3-macosx_25_0_universal2

  cp32-abi3-macosx_24_0_arm64

  cp32-abi3-macosx_24_0_universal2

  cp32-abi3-macosx_23_0_arm64

  cp32-abi3-macosx_23_0_universal2

  cp32-abi3-macosx_22_0_arm64

  cp32-abi3-macosx_22_0_universal2

  cp32-abi3-macosx_21_0_arm64

  cp32-abi3-macosx_21_0_universal2

  cp32-abi3-macosx_20_0_arm64

  cp32-abi3-macosx_20_0_universal2

  cp32-abi3-macosx_19_0_arm64

  cp32-abi3-macosx_19_0_universal2

  cp32-abi3-macosx_18_0_arm64

  cp32-abi3-macosx_18_0_universal2

  cp32-abi3-macosx_17_0_arm64

  cp32-abi3-macosx_17_0_universal2

  cp32-abi3-macosx_16_0_arm64

  cp32-abi3-macosx_16_0_universal2

  cp32-abi3-macosx_15_0_arm64

  cp32-abi3-macosx_15_0_universal2

  cp32-abi3-macosx_14_0_arm64

  cp32-abi3-macosx_14_0_universal2

  cp32-abi3-macosx_13_0_arm64

  cp32-abi3-macosx_13_0_universal2

  cp32-abi3-macosx_12_0_arm64

  cp32-abi3-macosx_12_0_universal2

  cp32-abi3-macosx_11_0_arm64

  cp32-abi3-macosx_11_0_universal2

  cp32-abi3-macosx_10_16_universal2

  cp32-abi3-macosx_10_15_universal2

  cp32-abi3-macosx_10_14_universal2

  cp32-abi3-macosx_10_13_universal2

  cp32-abi3-macosx_10_12_universal2

  cp32-abi3-macosx_10_11_universal2

  cp32-abi3-macosx_10_10_universal2

  cp32-abi3-macosx_10_9_universal2

  cp32-abi3-macosx_10_8_universal2

  cp32-abi3-macosx_10_7_universal2

  cp32-abi3-macosx_10_6_universal2

  cp32-abi3-macosx_10_5_universal2

  cp32-abi3-macosx_10_4_universal2

  py314-none-macosx_26_0_arm64

  py314-none-macosx_26_0_universal2

  py314-none-macosx_25_0_arm64

  py314-none-macosx_25_0_universal2

  py314-none-macosx_24_0_arm64

  py314-none-macosx_24_0_universal2

  py314-none-macosx_23_0_arm64

  py314-none-macosx_23_0_universal2

  py314-none-macosx_22_0_arm64

  py314-none-macosx_22_0_universal2

  py314-none-macosx_21_0_arm64

  py314-none-macosx_21_0_universal2

  py314-none-macosx_20_0_arm64

  py314-none-macosx_20_0_universal2

  py314-none-macosx_19_0_arm64

  py314-none-macosx_19_0_universal2

  py314-none-macosx_18_0_arm64

  py314-none-macosx_18_0_universal2

  py314-none-macosx_17_0_arm64

  py314-none-macosx_17_0_universal2

  py314-none-macosx_16_0_arm64

  py314-none-macosx_16_0_universal2

  py314-none-macosx_15_0_arm64

  py314-none-macosx_15_0_universal2

  py314-none-macosx_14_0_arm64

  py314-none-macosx_14_0_universal2

  py314-none-macosx_13_0_arm64

  py314-none-macosx_13_0_universal2

  py314-none-macosx_12_0_arm64

  py314-none-macosx_12_0_universal2

  py314-none-macosx_11_0_arm64

  py314-none-macosx_11_0_universal2

  py314-none-macosx_10_16_universal2

  py314-none-macosx_10_15_universal2

  py314-none-macosx_10_14_universal2

  py314-none-macosx_10_13_universal2

  py314-none-macosx_10_12_universal2

  py314-none-macosx_10_11_universal2

  py314-none-macosx_10_10_universal2

  py314-none-macosx_10_9_universal2

  py314-none-macosx_10_8_universal2

  py314-none-macosx_10_7_universal2

  py314-none-macosx_10_6_universal2

  py314-none-macosx_10_5_universal2

  py314-none-macosx_10_4_universal2

  py3-none-macosx_26_0_arm64

  py3-none-macosx_26_0_universal2

  py3-none-macosx_25_0_arm64

  py3-none-macosx_25_0_universal2

  py3-none-macosx_24_0_arm64

  py3-none-macosx_24_0_universal2

  py3-none-macosx_23_0_arm64

  py3-none-macosx_23_0_universal2

  py3-none-macosx_22_0_arm64

  py3-none-macosx_22_0_universal2

  py3-none-macosx_21_0_arm64

  py3-none-macosx_21_0_universal2

  py3-none-macosx_20_0_arm64

  py3-none-macosx_20_0_universal2

  py3-none-macosx_19_0_arm64

  py3-none-macosx_19_0_universal2

  py3-none-macosx_18_0_arm64

  py3-none-macosx_18_0_universal2

  py3-none-macosx_17_0_arm64

  py3-none-macosx_17_0_universal2

  py3-none-macosx_16_0_arm64

  py3-none-macosx_16_0_universal2

  py3-none-macosx_15_0_arm64

  py3-none-macosx_15_0_universal2

  py3-none-macosx_14_0_arm64

  py3-none-macosx_14_0_universal2

  py3-none-macosx_13_0_arm64

  py3-none-macosx_13_0_universal2

  py3-none-macosx_12_0_arm64

  py3-none-macosx_12_0_universal2

  py3-none-macosx_11_0_arm64

  py3-none-macosx_11_0_universal2

  py3-none-macosx_10_16_universal2

  py3-none-macosx_10_15_universal2

  py3-none-macosx_10_14_universal2

  py3-none-macosx_10_13_universal2

  py3-none-macosx_10_12_universal2

  py3-none-macosx_10_11_universal2

  py3-none-macosx_10_10_universal2

  py3-none-macosx_10_9_universal2

  py3-none-macosx_10_8_universal2

  py3-none-macosx_10_7_universal2

  py3-none-macosx_10_6_universal2

  py3-none-macosx_10_5_universal2

  py3-none-macosx_10_4_universal2

  py313-none-macosx_26_0_arm64

  py313-none-macosx_26_0_universal2

  py313-none-macosx_25_0_arm64

  py313-none-macosx_25_0_universal2

  py313-none-macosx_24_0_arm64

  py313-none-macosx_24_0_universal2

  py313-none-macosx_23_0_arm64

  py313-none-macosx_23_0_universal2

  py313-none-macosx_22_0_arm64

  py313-none-macosx_22_0_universal2

  py313-none-macosx_21_0_arm64

  py313-none-macosx_21_0_universal2

  py313-none-macosx_20_0_arm64

  py313-none-macosx_20_0_universal2

  py313-none-macosx_19_0_arm64

  py313-none-macosx_19_0_universal2

  py313-none-macosx_18_0_arm64

  py313-none-macosx_18_0_universal2

  py313-none-macosx_17_0_arm64

  py313-none-macosx_17_0_universal2

  py313-none-macosx_16_0_arm64

  py313-none-macosx_16_0_universal2

  py313-none-macosx_15_0_arm64

  py313-none-macosx_15_0_universal2

  py313-none-macosx_14_0_arm64

  py313-none-macosx_14_0_universal2

  py313-none-macosx_13_0_arm64

  py313-none-macosx_13_0_universal2

  py313-none-macosx_12_0_arm64

  py313-none-macosx_12_0_universal2

  py313-none-macosx_11_0_arm64

  py313-none-macosx_11_0_universal2

  py313-none-macosx_10_16_universal2

  py313-none-macosx_10_15_universal2

  py313-none-macosx_10_14_universal2

  py313-none-macosx_10_13_universal2

  py313-none-macosx_10_12_universal2

  py313-none-macosx_10_11_universal2

  py313-none-macosx_10_10_universal2

  py313-none-macosx_10_9_universal2

  py313-none-macosx_10_8_universal2

  py313-none-macosx_10_7_universal2

  py313-none-macosx_10_6_universal2

  py313-none-macosx_10_5_universal2

  py313-none-macosx_10_4_universal2

  py312-none-macosx_26_0_arm64

  py312-none-macosx_26_0_universal2

  py312-none-macosx_25_0_arm64

  py312-none-macosx_25_0_universal2

  py312-none-macosx_24_0_arm64

  py312-none-macosx_24_0_universal2

  py312-none-macosx_23_0_arm64

  py312-none-macosx_23_0_universal2

  py312-none-macosx_22_0_arm64

  py312-none-macosx_22_0_universal2

  py312-none-macosx_21_0_arm64

  py312-none-macosx_21_0_universal2

  py312-none-macosx_20_0_arm64

  py312-none-macosx_20_0_universal2

  py312-none-macosx_19_0_arm64

  py312-none-macosx_19_0_universal2

  py312-none-macosx_18_0_arm64

  py312-none-macosx_18_0_universal2

  py312-none-macosx_17_0_arm64

  py312-none-macosx_17_0_universal2

  py312-none-macosx_16_0_arm64

  py312-none-macosx_16_0_universal2

  py312-none-macosx_15_0_arm64

  py312-none-macosx_15_0_universal2

  py312-none-macosx_14_0_arm64

  py312-none-macosx_14_0_universal2

  py312-none-macosx_13_0_arm64

  py312-none-macosx_13_0_universal2

  py312-none-macosx_12_0_arm64

  py312-none-macosx_12_0_universal2

  py312-none-macosx_11_0_arm64

  py312-none-macosx_11_0_universal2

  py312-none-macosx_10_16_universal2

  py312-none-macosx_10_15_universal2

  py312-none-macosx_10_14_universal2

  py312-none-macosx_10_13_universal2

  py312-none-macosx_10_12_universal2

  py312-none-macosx_10_11_universal2

  py312-none-macosx_10_10_universal2

  py312-none-macosx_10_9_universal2

  py312-none-macosx_10_8_universal2

  py312-none-macosx_10_7_universal2

  py312-none-macosx_10_6_universal2

  py312-none-macosx_10_5_universal2

  py312-none-macosx_10_4_universal2

  py311-none-macosx_26_0_arm64

  py311-none-macosx_26_0_universal2

  py311-none-macosx_25_0_arm64

  py311-none-macosx_25_0_universal2

  py311-none-macosx_24_0_arm64

  py311-none-macosx_24_0_universal2

  py311-none-macosx_23_0_arm64

  py311-none-macosx_23_0_universal2

  py311-none-macosx_22_0_arm64

  py311-none-macosx_22_0_universal2

  py311-none-macosx_21_0_arm64

  py311-none-macosx_21_0_universal2

  py311-none-macosx_20_0_arm64

  py311-none-macosx_20_0_universal2

  py311-none-macosx_19_0_arm64

  py311-none-macosx_19_0_universal2

  py311-none-macosx_18_0_arm64

  py311-none-macosx_18_0_universal2

  py311-none-macosx_17_0_arm64

  py311-none-macosx_17_0_universal2

  py311-none-macosx_16_0_arm64

  py311-none-macosx_16_0_universal2

  py311-none-macosx_15_0_arm64

  py311-none-macosx_15_0_universal2

  py311-none-macosx_14_0_arm64

  py311-none-macosx_14_0_universal2

  py311-none-macosx_13_0_arm64

  py311-none-macosx_13_0_universal2

  py311-none-macosx_12_0_arm64

  py311-none-macosx_12_0_universal2

  py311-none-macosx_11_0_arm64

  py311-none-macosx_11_0_universal2

  py311-none-macosx_10_16_universal2

  py311-none-macosx_10_15_universal2

  py311-none-macosx_10_14_universal2

  py311-none-macosx_10_13_universal2

  py311-none-macosx_10_12_universal2

  py311-none-macosx_10_11_universal2

  py311-none-macosx_10_10_universal2

  py311-none-macosx_10_9_universal2

  py311-none-macosx_10_8_universal2

  py311-none-macosx_10_7_universal2

  py311-none-macosx_10_6_universal2

  py311-none-macosx_10_5_universal2

  py311-none-macosx_10_4_universal2

  py310-none-macosx_26_0_arm64

  py310-none-macosx_26_0_universal2

  py310-none-macosx_25_0_arm64

  py310-none-macosx_25_0_universal2

  py310-none-macosx_24_0_arm64

  py310-none-macosx_24_0_universal2

  py310-none-macosx_23_0_arm64

  py310-none-macosx_23_0_universal2

  py310-none-macosx_22_0_arm64

  py310-none-macosx_22_0_universal2

  py310-none-macosx_21_0_arm64

  py310-none-macosx_21_0_universal2

  py310-none-macosx_20_0_arm64

  py310-none-macosx_20_0_universal2

  py310-none-macosx_19_0_arm64

  py310-none-macosx_19_0_universal2

  py310-none-macosx_18_0_arm64

  py310-none-macosx_18_0_universal2

  py310-none-macosx_17_0_arm64

  py310-none-macosx_17_0_universal2

  py310-none-macosx_16_0_arm64

  py310-none-macosx_16_0_universal2

  py310-none-macosx_15_0_arm64

  py310-none-macosx_15_0_universal2

  py310-none-macosx_14_0_arm64

  py310-none-macosx_14_0_universal2

  py310-none-macosx_13_0_arm64

  py310-none-macosx_13_0_universal2

  py310-none-macosx_12_0_arm64

  py310-none-macosx_12_0_universal2

  py310-none-macosx_11_0_arm64

  py310-none-macosx_11_0_universal2

  py310-none-macosx_10_16_universal2

  py310-none-macosx_10_15_universal2

  py310-none-macosx_10_14_universal2

  py310-none-macosx_10_13_universal2

  py310-none-macosx_10_12_universal2

  py310-none-macosx_10_11_universal2

  py310-none-macosx_10_10_universal2

  py310-none-macosx_10_9_universal2

  py310-none-macosx_10_8_universal2

  py310-none-macosx_10_7_universal2

  py310-none-macosx_10_6_universal2

  py310-none-macosx_10_5_universal2

  py310-none-macosx_10_4_universal2

  py39-none-macosx_26_0_arm64

  py39-none-macosx_26_0_universal2

  py39-none-macosx_25_0_arm64

  py39-none-macosx_25_0_universal2

  py39-none-macosx_24_0_arm64

  py39-none-macosx_24_0_universal2

  py39-none-macosx_23_0_arm64

  py39-none-macosx_23_0_universal2

  py39-none-macosx_22_0_arm64

  py39-none-macosx_22_0_universal2

  py39-none-macosx_21_0_arm64

  py39-none-macosx_21_0_universal2

  py39-none-macosx_20_0_arm64

  py39-none-macosx_20_0_universal2

  py39-none-macosx_19_0_arm64

  py39-none-macosx_19_0_universal2

  py39-none-macosx_18_0_arm64

  py39-none-macosx_18_0_universal2

  py39-none-macosx_17_0_arm64

  py39-none-macosx_17_0_universal2

  py39-none-macosx_16_0_arm64

  py39-none-macosx_16_0_universal2

  py39-none-macosx_15_0_arm64

  py39-none-macosx_15_0_universal2

  py39-none-macosx_14_0_arm64

  py39-none-macosx_14_0_universal2

  py39-none-macosx_13_0_arm64

  py39-none-macosx_13_0_universal2

  py39-none-macosx_12_0_arm64

  py39-none-macosx_12_0_universal2

  py39-none-macosx_11_0_arm64

  py39-none-macosx_11_0_universal2

  py39-none-macosx_10_16_universal2

  py39-none-macosx_10_15_universal2

  py39-none-macosx_10_14_universal2

  py39-none-macosx_10_13_universal2

  py39-none-macosx_10_12_universal2

  py39-none-macosx_10_11_universal2

  py39-none-macosx_10_10_universal2

  py39-none-macosx_10_9_universal2

  py39-none-macosx_10_8_universal2

  py39-none-macosx_10_7_universal2

  py39-none-macosx_10_6_universal2

  py39-none-macosx_10_5_universal2

  py39-none-macosx_10_4_universal2

  py38-none-macosx_26_0_arm64

  py38-none-macosx_26_0_universal2

  py38-none-macosx_25_0_arm64

  py38-none-macosx_25_0_universal2

  py38-none-macosx_24_0_arm64

  py38-none-macosx_24_0_universal2

  py38-none-macosx_23_0_arm64

  py38-none-macosx_23_0_universal2

  py38-none-macosx_22_0_arm64

  py38-none-macosx_22_0_universal2

  py38-none-macosx_21_0_arm64

  py38-none-macosx_21_0_universal2

  py38-none-macosx_20_0_arm64

  py38-none-macosx_20_0_universal2

  py38-none-macosx_19_0_arm64

  py38-none-macosx_19_0_universal2

  py38-none-macosx_18_0_arm64

  py38-none-macosx_18_0_universal2

  py38-none-macosx_17_0_arm64

  py38-none-macosx_17_0_universal2

  py38-none-macosx_16_0_arm64

  py38-none-macosx_16_0_universal2

  py38-none-macosx_15_0_arm64

  py38-none-macosx_15_0_universal2

  py38-none-macosx_14_0_arm64

  py38-none-macosx_14_0_universal2

  py38-none-macosx_13_0_arm64

  py38-none-macosx_13_0_universal2

  py38-none-macosx_12_0_arm64

  py38-none-macosx_12_0_universal2

  py38-none-macosx_11_0_arm64

  py38-none-macosx_11_0_universal2

  py38-none-macosx_10_16_universal2

  py38-none-macosx_10_15_universal2

  py38-none-macosx_10_14_universal2

  py38-none-macosx_10_13_universal2

  py38-none-macosx_10_12_universal2

  py38-none-macosx_10_11_universal2

  py38-none-macosx_10_10_universal2

  py38-none-macosx_10_9_universal2

  py38-none-macosx_10_8_universal2

  py38-none-macosx_10_7_universal2

  py38-none-macosx_10_6_universal2

  py38-none-macosx_10_5_universal2

  py38-none-macosx_10_4_universal2

  py37-none-macosx_26_0_arm64

  py37-none-macosx_26_0_universal2

  py37-none-macosx_25_0_arm64

  py37-none-macosx_25_0_universal2

  py37-none-macosx_24_0_arm64

  py37-none-macosx_24_0_universal2

  py37-none-macosx_23_0_arm64

  py37-none-macosx_23_0_universal2

  py37-none-macosx_22_0_arm64

  py37-none-macosx_22_0_universal2

  py37-none-macosx_21_0_arm64

  py37-none-macosx_21_0_universal2

  py37-none-macosx_20_0_arm64

  py37-none-macosx_20_0_universal2

  py37-none-macosx_19_0_arm64

  py37-none-macosx_19_0_universal2

  py37-none-macosx_18_0_arm64

  py37-none-macosx_18_0_universal2

  py37-none-macosx_17_0_arm64

  py37-none-macosx_17_0_universal2

  py37-none-macosx_16_0_arm64

  py37-none-macosx_16_0_universal2

  py37-none-macosx_15_0_arm64

  py37-none-macosx_15_0_universal2

  py37-none-macosx_14_0_arm64

  py37-none-macosx_14_0_universal2

  py37-none-macosx_13_0_arm64

  py37-none-macosx_13_0_universal2

  py37-none-macosx_12_0_arm64

  py37-none-macosx_12_0_universal2

  py37-none-macosx_11_0_arm64

  py37-none-macosx_11_0_universal2

  py37-none-macosx_10_16_universal2

  py37-none-macosx_10_15_universal2

  py37-none-macosx_10_14_universal2

  py37-none-macosx_10_13_universal2

  py37-none-macosx_10_12_universal2

  py37-none-macosx_10_11_universal2

  py37-none-macosx_10_10_universal2

  py37-none-macosx_10_9_universal2

  py37-none-macosx_10_8_universal2

  py37-none-macosx_10_7_universal2

  py37-none-macosx_10_6_universal2

  py37-none-macosx_10_5_universal2

  py37-none-macosx_10_4_universal2

  py36-none-macosx_26_0_arm64

  py36-none-macosx_26_0_universal2

  py36-none-macosx_25_0_arm64

  py36-none-macosx_25_0_universal2

  py36-none-macosx_24_0_arm64

  py36-none-macosx_24_0_universal2

  py36-none-macosx_23_0_arm64

  py36-none-macosx_23_0_universal2

  py36-none-macosx_22_0_arm64

  py36-none-macosx_22_0_universal2

  py36-none-macosx_21_0_arm64

  py36-none-macosx_21_0_universal2

  py36-none-macosx_20_0_arm64

  py36-none-macosx_20_0_universal2

  py36-none-macosx_19_0_arm64

  py36-none-macosx_19_0_universal2

  py36-none-macosx_18_0_arm64

  py36-none-macosx_18_0_universal2

  py36-none-macosx_17_0_arm64

  py36-none-macosx_17_0_universal2

  py36-none-macosx_16_0_arm64

  py36-none-macosx_16_0_universal2

  py36-none-macosx_15_0_arm64

  py36-none-macosx_15_0_universal2

  py36-none-macosx_14_0_arm64

  py36-none-macosx_14_0_universal2

  py36-none-macosx_13_0_arm64

  py36-none-macosx_13_0_universal2

  py36-none-macosx_12_0_arm64

  py36-none-macosx_12_0_universal2

  py36-none-macosx_11_0_arm64

  py36-none-macosx_11_0_universal2

  py36-none-macosx_10_16_universal2

  py36-none-macosx_10_15_universal2

  py36-none-macosx_10_14_universal2

  py36-none-macosx_10_13_universal2

  py36-none-macosx_10_12_universal2

  py36-none-macosx_10_11_universal2

  py36-none-macosx_10_10_universal2

  py36-none-macosx_10_9_universal2

  py36-none-macosx_10_8_universal2

  py36-none-macosx_10_7_universal2

  py36-none-macosx_10_6_universal2

  py36-none-macosx_10_5_universal2

  py36-none-macosx_10_4_universal2

  py35-none-macosx_26_0_arm64

  py35-none-macosx_26_0_universal2

  py35-none-macosx_25_0_arm64

  py35-none-macosx_25_0_universal2

  py35-none-macosx_24_0_arm64

  py35-none-macosx_24_0_universal2

  py35-none-macosx_23_0_arm64

  py35-none-macosx_23_0_universal2

  py35-none-macosx_22_0_arm64

  py35-none-macosx_22_0_universal2

  py35-none-macosx_21_0_arm64

  py35-none-macosx_21_0_universal2

  py35-none-macosx_20_0_arm64

  py35-none-macosx_20_0_universal2

  py35-none-macosx_19_0_arm64

  py35-none-macosx_19_0_universal2

  py35-none-macosx_18_0_arm64

  py35-none-macosx_18_0_universal2

  py35-none-macosx_17_0_arm64

  py35-none-macosx_17_0_universal2

  py35-none-macosx_16_0_arm64

  py35-none-macosx_16_0_universal2

  py35-none-macosx_15_0_arm64

  py35-none-macosx_15_0_universal2

  py35-none-macosx_14_0_arm64

  py35-none-macosx_14_0_universal2

  py35-none-macosx_13_0_arm64

  py35-none-macosx_13_0_universal2

  py35-none-macosx_12_0_arm64

  py35-none-macosx_12_0_universal2

  py35-none-macosx_11_0_arm64

  py35-none-macosx_11_0_universal2

  py35-none-macosx_10_16_universal2

  py35-none-macosx_10_15_universal2

  py35-none-macosx_10_14_universal2

  py35-none-macosx_10_13_universal2

  py35-none-macosx_10_12_universal2

  py35-none-macosx_10_11_universal2

  py35-none-macosx_10_10_universal2

  py35-none-macosx_10_9_universal2

  py35-none-macosx_10_8_universal2

  py35-none-macosx_10_7_universal2

  py35-none-macosx_10_6_universal2

  py35-none-macosx_10_5_universal2

  py35-none-macosx_10_4_universal2

  py34-none-macosx_26_0_arm64

  py34-none-macosx_26_0_universal2

  py34-none-macosx_25_0_arm64

  py34-none-macosx_25_0_universal2

  py34-none-macosx_24_0_arm64

  py34-none-macosx_24_0_universal2

  py34-none-macosx_23_0_arm64

  py34-none-macosx_23_0_universal2

  py34-none-macosx_22_0_arm64

  py34-none-macosx_22_0_universal2

  py34-none-macosx_21_0_arm64

  py34-none-macosx_21_0_universal2

  py34-none-macosx_20_0_arm64

  py34-none-macosx_20_0_universal2

  py34-none-macosx_19_0_arm64

  py34-none-macosx_19_0_universal2

  py34-none-macosx_18_0_arm64

  py34-none-macosx_18_0_universal2

  py34-none-macosx_17_0_arm64

  py34-none-macosx_17_0_universal2

  py34-none-macosx_16_0_arm64

  py34-none-macosx_16_0_universal2

  py34-none-macosx_15_0_arm64

  py34-none-macosx_15_0_universal2

  py34-none-macosx_14_0_arm64

  py34-none-macosx_14_0_universal2

  py34-none-macosx_13_0_arm64

  py34-none-macosx_13_0_universal2

  py34-none-macosx_12_0_arm64

  py34-none-macosx_12_0_universal2

  py34-none-macosx_11_0_arm64

  py34-none-macosx_11_0_universal2

  py34-none-macosx_10_16_universal2

  py34-none-macosx_10_15_universal2

  py34-none-macosx_10_14_universal2

  py34-none-macosx_10_13_universal2

  py34-none-macosx_10_12_universal2

  py34-none-macosx_10_11_universal2

  py34-none-macosx_10_10_universal2

  py34-none-macosx_10_9_universal2

  py34-none-macosx_10_8_universal2

  py34-none-macosx_10_7_universal2

  py34-none-macosx_10_6_universal2

  py34-none-macosx_10_5_universal2

  py34-none-macosx_10_4_universal2

  py33-none-macosx_26_0_arm64

  py33-none-macosx_26_0_universal2

  py33-none-macosx_25_0_arm64

  py33-none-macosx_25_0_universal2

  py33-none-macosx_24_0_arm64

  py33-none-macosx_24_0_universal2

  py33-none-macosx_23_0_arm64

  py33-none-macosx_23_0_universal2

  py33-none-macosx_22_0_arm64

  py33-none-macosx_22_0_universal2

  py33-none-macosx_21_0_arm64

  py33-none-macosx_21_0_universal2

  py33-none-macosx_20_0_arm64

  py33-none-macosx_20_0_universal2

  py33-none-macosx_19_0_arm64

  py33-none-macosx_19_0_universal2

  py33-none-macosx_18_0_arm64

  py33-none-macosx_18_0_universal2

  py33-none-macosx_17_0_arm64

  py33-none-macosx_17_0_universal2

  py33-none-macosx_16_0_arm64

  py33-none-macosx_16_0_universal2

  py33-none-macosx_15_0_arm64

  py33-none-macosx_15_0_universal2

  py33-none-macosx_14_0_arm64

  py33-none-macosx_14_0_universal2

  py33-none-macosx_13_0_arm64

  py33-none-macosx_13_0_universal2

  py33-none-macosx_12_0_arm64

  py33-none-macosx_12_0_universal2

  py33-none-macosx_11_0_arm64

  py33-none-macosx_11_0_universal2

  py33-none-macosx_10_16_universal2

  py33-none-macosx_10_15_universal2

  py33-none-macosx_10_14_universal2

  py33-none-macosx_10_13_universal2

  py33-none-macosx_10_12_universal2

  py33-none-macosx_10_11_universal2

  py33-none-macosx_10_10_universal2

  py33-none-macosx_10_9_universal2

  py33-none-macosx_10_8_universal2

  py33-none-macosx_10_7_universal2

  py33-none-macosx_10_6_universal2

  py33-none-macosx_10_5_universal2

  py33-none-macosx_10_4_universal2

  py32-none-macosx_26_0_arm64

  py32-none-macosx_26_0_universal2

  py32-none-macosx_25_0_arm64

  py32-none-macosx_25_0_universal2

  py32-none-macosx_24_0_arm64

  py32-none-macosx_24_0_universal2

  py32-none-macosx_23_0_arm64

  py32-none-macosx_23_0_universal2

  py32-none-macosx_22_0_arm64

  py32-none-macosx_22_0_universal2

  py32-none-macosx_21_0_arm64

  py32-none-macosx_21_0_universal2

  py32-none-macosx_20_0_arm64

  py32-none-macosx_20_0_universal2

  py32-none-macosx_19_0_arm64

  py32-none-macosx_19_0_universal2

  py32-none-macosx_18_0_arm64

  py32-none-macosx_18_0_universal2

  py32-none-macosx_17_0_arm64

  py32-none-macosx_17_0_universal2

  py32-none-macosx_16_0_arm64

  py32-none-macosx_16_0_universal2

  py32-none-macosx_15_0_arm64

  py32-none-macosx_15_0_universal2

  py32-none-macosx_14_0_arm64

  py32-none-macosx_14_0_universal2

  py32-none-macosx_13_0_arm64

  py32-none-macosx_13_0_universal2

  py32-none-macosx_12_0_arm64

  py32-none-macosx_12_0_universal2

  py32-none-macosx_11_0_arm64

  py32-none-macosx_11_0_universal2

  py32-none-macosx_10_16_universal2

  py32-none-macosx_10_15_universal2

  py32-none-macosx_10_14_universal2

  py32-none-macosx_10_13_universal2

  py32-none-macosx_10_12_universal2

  py32-none-macosx_10_11_universal2

  py32-none-macosx_10_10_universal2

  py32-none-macosx_10_9_universal2

  py32-none-macosx_10_8_universal2

  py32-none-macosx_10_7_universal2

  py32-none-macosx_10_6_universal2

  py32-none-macosx_10_5_universal2

  py32-none-macosx_10_4_universal2

  py31-none-macosx_26_0_arm64

  py31-none-macosx_26_0_universal2

  py31-none-macosx_25_0_arm64

  py31-none-macosx_25_0_universal2

  py31-none-macosx_24_0_arm64

  py31-none-macosx_24_0_universal2

  py31-none-macosx_23_0_arm64

  py31-none-macosx_23_0_universal2

  py31-none-macosx_22_0_arm64

  py31-none-macosx_22_0_universal2

  py31-none-macosx_21_0_arm64

  py31-none-macosx_21_0_universal2

  py31-none-macosx_20_0_arm64

  py31-none-macosx_20_0_universal2

  py31-none-macosx_19_0_arm64

  py31-none-macosx_19_0_universal2

  py31-none-macosx_18_0_arm64

  py31-none-macosx_18_0_universal2

  py31-none-macosx_17_0_arm64

  py31-none-macosx_17_0_universal2

  py31-none-macosx_16_0_arm64

  py31-none-macosx_16_0_universal2

  py31-none-macosx_15_0_arm64

  py31-none-macosx_15_0_universal2

  py31-none-macosx_14_0_arm64

  py31-none-macosx_14_0_universal2

  py31-none-macosx_13_0_arm64

  py31-none-macosx_13_0_universal2

  py31-none-macosx_12_0_arm64

  py31-none-macosx_12_0_universal2

  py31-none-macosx_11_0_arm64

  py31-none-macosx_11_0_universal2

  py31-none-macosx_10_16_universal2

  py31-none-macosx_10_15_universal2

  py31-none-macosx_10_14_universal2

  py31-none-macosx_10_13_universal2

  py31-none-macosx_10_12_universal2

  py31-none-macosx_10_11_universal2

  py31-none-macosx_10_10_universal2

  py31-none-macosx_10_9_universal2

  py31-none-macosx_10_8_universal2

  py31-none-macosx_10_7_universal2

  py31-none-macosx_10_6_universal2

  py31-none-macosx_10_5_universal2

  py31-none-macosx_10_4_universal2

  py30-none-macosx_26_0_arm64

  py30-none-macosx_26_0_universal2

  py30-none-macosx_25_0_arm64

  py30-none-macosx_25_0_universal2

  py30-none-macosx_24_0_arm64

  py30-none-macosx_24_0_universal2

  py30-none-macosx_23_0_arm64

  py30-none-macosx_23_0_universal2

  py30-none-macosx_22_0_arm64

  py30-none-macosx_22_0_universal2

  py30-none-macosx_21_0_arm64

  py30-none-macosx_21_0_universal2

  py30-none-macosx_20_0_arm64

  py30-none-macosx_20_0_universal2

  py30-none-macosx_19_0_arm64

  py30-none-macosx_19_0_universal2

  py30-none-macosx_18_0_arm64

  py30-none-macosx_18_0_universal2

  py30-none-macosx_17_0_arm64

  py30-none-macosx_17_0_universal2

  py30-none-macosx_16_0_arm64

  py30-none-macosx_16_0_universal2

  py30-none-macosx_15_0_arm64

  py30-none-macosx_15_0_universal2

  py30-none-macosx_14_0_arm64

  py30-none-macosx_14_0_universal2

  py30-none-macosx_13_0_arm64

  py30-none-macosx_13_0_universal2

  py30-none-macosx_12_0_arm64

  py30-none-macosx_12_0_universal2

  py30-none-macosx_11_0_arm64

  py30-none-macosx_11_0_universal2

  py30-none-macosx_10_16_universal2

  py30-none-macosx_10_15_universal2

  py30-none-macosx_10_14_universal2

  py30-none-macosx_10_13_universal2

  py30-none-macosx_10_12_universal2

  py30-none-macosx_10_11_universal2

  py30-none-macosx_10_10_universal2

  py30-none-macosx_10_9_universal2

  py30-none-macosx_10_8_universal2

  py30-none-macosx_10_7_universal2

  py30-none-macosx_10_6_universal2

  py30-none-macosx_10_5_universal2

  py30-none-macosx_10_4_universal2

  cp314-none-any

  py314-none-any

  py3-none-any

  py313-none-any

  py312-none-any

  py311-none-any

  py310-none-any

  py39-none-any

  py38-none-any

  py37-none-any

  py36-none-any

  py35-none-any

  py34-none-any

  py33-none-any

  py32-none-any

  py31-none-any

  py30-none-any



Dale Lane

unread,
May 14, 2026, 4:11:26 AMMay 14
to Machine Learning for Kids
As we discussed above, there are no builds of ydf available for Python 3.14 - which the output you've shared here shows you are using. 

I recommend trying a version of Python that ydf is available for, as I showed above

Kind regards

D


Julian

unread,
May 14, 2026, 9:48:38 AMMay 14
to Machine Learning for Kids
Hi, I just switched to python version 3.12 but I still get the same error message. Could it possibly be my Mac that the module/package isn't compatible with my Mac?
regards
julian

Dale Lane

unread,
May 14, 2026, 9:50:16 AMMay 14
to Machine Learning for Kids
If you give me the information asked for above, I could answer that question for you. 

To recap: I'm referring to the full and uncropped output from your attempt to do the install, as well as the output for python --version && pip debug --verbose

(The output for both of these will be different from what you've shared before, after you switch to 3.12)

Kind regards

D

Julian

unread,
May 14, 2026, 5:51:54 PMMay 14
to Machine Learning for Kids
here is all the output after the attempt to install and python --version &&
pip debug --verbose:
I only deleted the name@ etc
regards

Julian ~ % python3 -m venv path/to/venv

julian ~ % source path/to/venv/bin/activate

(venv) Julian ~ % python3 -m pip install ydf

ERROR: Ignored the following yanked versions: 0.0.0

ERROR: Could not find a version that satisfies the requirement ydf (from
versions: none)


*[*notice*]* A new release of pip is available: 26.1 -> 26.1.1

*[*notice*]* To update, run: pip install --upgrade pip

ERROR: No matching distribution found for ydf

(venv) ~ % python --version && pip debug --verbose
Dale Lane schrieb am Donnerstag, 14. Mai 2026 um 15:50:16 UTC+2:

> If you give me the information asked for above, I could answer that
> question for you.
>
> To recap: I'm referring to the full and uncropped output from your attempt
> to do the install, as well as the output for *python --version && pip
> debug --verbose*
>
> (The output for both of these will be different from what you've shared
> before, after you switch to 3.12)
>
> Kind regards
>
> D
>
> On Thursday, May 14, 2026 at 2:48:38 PM UTC+1 Julian wrote:
>
>> Hi, I just switched to python version 3.12 but I still get the same error
>> message. Could it possibly be my Mac that the module/package isn't
>> compatible with my Mac?
>> regards
>> julian
>>
>> Dale Lane schrieb am Donnerstag, 14. Mai 2026 um 10:11:26 UTC+2:
>>
>>> As we discussed above
>>> <https://groups.google.com/g/mlforkids/c/ZvuxCI6BlSE/m/QnL9D8RrAQAJ>,
>>> there are no builds of ydf available for Python 3.14 - which the output
>>> you've shared here shows you are using.
>>>
>>> I recommend trying a version of Python that ydf is available for, as I
>>> showed above
>>> <https://groups.google.com/g/mlforkids/c/ZvuxCI6BlSE/m/SBQLnVptAQAJ>.
>>>>> Can you share the output of this command, please? (*after* sourcing
>>>>> the activate script for your venv)
>>>>> *python --version && pip debug --verbose*
>>>>>
>>>>> Kind regards
>>>>>
>>>>> D
>>>>>
>>>>> PS - one small observation - while "path/to/venv" will technically
>>>>> work, it's unusual to do that.
>>>>> That is included in the error message as a way of describing to you
>>>>> that you give it the path to the venv folder, rather than being a literal
>>>>> location you should use.
>>>>> Running it like that means you're creating a folder called "path", and
>>>>> inside that a subfolder called "to", and inside that, the "venv" folder
>>>>> [image: folder-screenshot.jpg]
>>>>>
>>>>>
>>>>> On Wednesday, May 13, 2026 at 5:14:01 PM UTC+1 Julian wrote:
>>>>>
>>>>>> this is everything I see in my terminal:
>>>>>>
>>>>>> julian ~ % python3 -m venv path/to/venv
>>>>>>
>>>>>> julian~ % source path/to/venv/bin/activate
>>>>>>
>>>>>> (venv) julian ~ % python3 -m pip install ydf
>>>>>>
>>>>>> WARNING: Cache entry deserialization failed, entry ignored
>>>>>>
>>>>>> ERROR: Ignored the following yanked versions: 0.0.0
>>>>>>
>>>>>> ERROR: Could not find a version that satisfies the requirement ydf
>>>>>> (from versions: none)
>>>>>>
>>>>>>
>>>>>> *[*notice*]* A new release of pip is available: 26.1 -> 26.1.1
>>>>>>
>>>>>> *[*notice*]* To update, run: pip install --upgrade pip
>>>>>>
>>>>>> ERROR: No matching distribution found for ydf
>>>>>>
>>>>>> (venv) julian ~ %
>>>>>>
>>>>>>
>>>>>>
>>>>>> (I just deleted the:" my name" @ MacBook......)
>>>>>> Dale Lane schrieb am Mittwoch, 13. Mai 2026 um 16:53:39 UTC+2:
>>>>>>
>>>>>>> Could you show me a little more context, please? It's hard to know
>>>>>>> what the problem is without seeing what command you ran first.
>>>>>>>
>>>>>>> On Wednesday, May 13, 2026 at 3:53:05 PM UTC+1 Julian wrote:
>>>>>>>
>>>>>>>> hey I now tried it like you said but it still gives me error
>>>>>>>> messages and tells me to upgrade pip but im already o. the latest pip
>>>>>>>> version
>>>>>>>> This is what it tells me now:
>>>>>>>>
>>>>>>>> ERROR: Ignored the following yanked versions: 0.0.0
>>>>>>>>
>>>>>>>> ERROR: Could not find a version that satisfies the requirement ydf
>>>>>>>> (from versions: none)
>>>>>>>>
>>>>>>>>
>>>>>>>> *[*notice*]* A new release of pip is available: 26.1 -> 26.1.1
>>>>>>>>
>>>>>>>> *[*notice*]* To update, run: pip install --upgrade pip
>>>>>>>>
>>>>>>>> ERROR: No matching distribution found for ydf
>>>>>>>>
>>>>>>>> Dale Lane schrieb am Mittwoch, 13. Mai 2026 um 09:17:32 UTC+2:
>>>>>>>>
>>>>>>>>> That error message is telling you what the issue is (that you
>>>>>>>>> can't install packages into the global space) and is giving you the
>>>>>>>>> solution:
>>>>>>>>>
>>>>>>>>> If you wish to install a Python library that isn't in Homebrew,
>>>>>>>>>
>>>>>>>>> use a virtual environment:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> python3 -m venv path/to/venv
>>>>>>>>>
>>>>>>>>> source path/to/venv/bin/activate
>>>>>>>>>
>>>>>>>>> python3 -m pip install xyz
>>>>>>>>>
>>>>>>>>> replace "xyz" with ydf, and that's basically it.
>>>>>>>>>
>>>>>>>>> If you also look above at the commands that I showed you, you'll
>>>>>>>>> see that I essentially did that too.
>>>>>>>>>
>>>>>>>>> Kind regards
>>>>>>>>>
>>>>>>>>> D
>>>>>>>>> On Wednesday, May 13, 2026 at 8:15:50 AM UTC+1 Julian wrote:
>>>>>>>>>
>>>>>>>>>> this is what happens when I try it:
>>>>>>>>>>
>>>>>>>>>> *error*: *externally-managed-environment*
>>>>>>>>>> *note*: If you believe this is a mistake, please contact your
>>>>>>>>>> Python installation or OS distribution provider. You can override this, at
>>>>>>>>>> the risk of breaking your Python installation or OS, by passing
>>>>>>>>>> --break-system-packages.
>>>>>>>>>>
>>>>>>>>>> *hint*: See PEP 668 for the detailed specification.
>>>>>>>>>> and when I try using home-brew it tells me that home-brew
>>>>>>>>>> doesn't know the ydf package
>>>>>>>>>> Dale Lane schrieb am Dienstag, 12. Mai 2026 um 22:27:09 UTC+2:
>>>>>>>>>>
>>>>>>>>>>> Do you mind sharing what happens when you tried, please?
>>>>>>>>>>>
>>>>>>>>>>> For example, this is what happened for me:
>>>>>>>>>>>
>>>>>>>>>>> dalelane@Dales-MacBook-Pro-2 ~ % *cd /tmp*
>>>>>>>>>>> dalelane@Dales-MacBook-Pro-2 /tmp % *mkdir quick-test*
>>>>>>>>>>> dalelane@Dales-MacBook-Pro-2 /tmp % *cd quick-test*
>>>>>>>>>>> dalelane@Dales-MacBook-Pro-2 quick-test % *python3.11 -mvenv
>>>>>>>>>>> venv*
>>>>>>>>>>> dalelane@Dales-MacBook-Pro-2 quick-test % *source
>>>>>>>>>>> venv/bin/activate*
>>>>>>>>>>> (venv) dalelane@Dales-MacBook-Pro-2 quick-test % *pip install
>>>>>>>>>>> ydf*

Dale Lane

unread,
May 14, 2026, 5:56:37 PMMay 14
to Machine Learning for Kids
You're still using Python 3.14 - that's why the output from python --version is 3.14.4

The reason ydf isn't installing is still as explained above - it is not available for such new versions of Python, you need to use one of the versions I listed above

Kind regards

D

Julian

unread,
May 15, 2026, 3:07:43 PMMay 15
to Machine Learning for Kids
hey just a quick update.
I made it. I completely wiped my Mac from every python I got on it and installed 3.12 now it works fine and I got ydf installed 
Thank you for your help and im sorry for all the trouble I have made you 
Regards,
Julian

Dale Lane

unread,
May 17, 2026, 6:13:35 AMMay 17
to Machine Learning for Kids
That's great news - thanks for letting me know

Kind regards

D

Reply all
Reply to author
Forward
0 new messages