- GitLab data repo — consolidate all files under a canonical directory structure and create a tagged release (
v1) _registry.py— replace the 65-line hardcodedregistry_urlsdict with{k: _DATA_REPO_BASE + k for k in registry}meson.build— remove the 31 bundled legacy data files from the wheel_fetchers.py— drop the legacy bundled-file fallback; add a stdliburllibfallback for when pooch isn't installed; improve error messages; clean up the GitHub URL logicgit rm— remove all binary data files from the repo (no history rewrite)tools/download_data.py— new stdlib-only script for Linux distros to pre-download data and setSKIMAGE_DATADIR
The goal is to compile scikit-image extension modules targeting Python's stable ABI (PEP 384, aka "abi3"), so that a single compiled wheel works across Python 3.12+ without per-version recompilation. This is done via Meson's limited_api keyword argument on py3.extension_module() calls, which:
- Defines
Py_LIMITED_API=0x030C0000and injectsCYTHON_LIMITED_APIfor Cython sources - Names resulting shared libraries
module.abi3.so(Linux/macOS) instead ofmodule.cpython-3XX-...so
Prerequisites already met:
- Meson
>= 1.5.0required (limited_api available since 1.3.0)
| import ctypes | |
| import ctypes.wintypes as wintypes | |
| # Load the IP Helper library | |
| IPHLPAPI = ctypes.WinDLL('Iphlpapi.dll') | |
| # Based on the following documentation: | |
| # https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses | |
| # https://learn.microsoft.com/en-us/windows/win32/api/iptypes/ns-iptypes-ip_adapter_addresses_lh | |
| # https://learn.microsoft.com/en-us/windows/win32/api/iptypes/ns-iptypes-ip_adapter_dns_server_address_xp |
June 12, 2023
Use greenletio to add asyncio support in PyMongo, with minimal changes to existing classes.
The reason that Motor is not "truly asynchronous" is that we have blocking calls in PyMongo that do not enable cooperative multitasking. These include acquiring thread locks and socket i/o. Even if we were to use non-blocking versions of these, the event loop would still be blocked.
The previous proposal required rewriting the entirety of PyMongo to be asyncio-friendly, and gave a small performance hit for synchronous code, especially noticeable for small documents.
| from __future__ import annotations | |
| from bson import ObjectId, Decimal128, Binary | |
| from pandas.api.extensions import ExtensionDtype, ExtensionArray, register_extension_dtype | |
| from pandas._typing import type_t | |
| import pyarrow as pa | |
| from typing import Union, Any | |
| import numpy as np | |
| import pandas as pd | |
| import numbers |
| """Compare the dist file created by a migrated package to one created by the original.""" | |
| import argparse | |
| import glob | |
| import os | |
| import shutil | |
| import subprocess | |
| import sys | |
| import tarfile | |
| import zipfile |
| Copyright (c) 2022 Steven Silvester | |
| All rights reserved. | |
| Redistribution and use in source and binary forms, with or without | |
| modification, are permitted provided that the following conditions are met: | |
| 1. Redistributions of source code must retain the above copyright notice, this | |
| list of conditions and the following disclaimer. | |
| 2. Redistributions in binary form must reproduce the above copyright notice, |
| {% set name = "pymongoarrow" %} | |
| {% set version = "0.2.0.dev0" %} | |
| package: | |
| name: {{ name|lower }} | |
| version: {{ version }} | |
| source: | |
| url: file:///home/runner/work/mongo-arrow/mongo-arrow/bindings/python/dist/pymongoarrow-{{ version }}.tar.gz |
| from subprocess import getoutput | |
| import os | |
| from datetime import datetime | |
| from github_activity import generate_activity_md | |
| import re | |
| import sys | |
| from ghapi.core import GhApi | |
| name = sys.argv[-1] | |
| os.chdir(name) |
Link to recorded videos: https://drive.google.com/drive/folders/1tfJ53NHQyequSHbYbSvs3jIFuWbcYZ9E?usp=sharing
Meeting: https://zoom.us/j/650076676
Covered Packages: algorithm collections messaging signaling