Compare commits
44
Commits
v2.16.2
...
3254807509
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3254807509 | ||
|
|
7f908b0257 | ||
|
|
3c0df0b567 | ||
|
|
ec181518ca | ||
|
|
a3e5b541dc | ||
|
|
9195da8c1a | ||
|
|
606879f2d3 | ||
|
|
886ba0f662 | ||
|
|
8e9a703abc | ||
|
|
4dba644b8d | ||
|
|
796361d9f9 | ||
|
|
22aff1bc25 | ||
|
|
86ef5eed8a | ||
|
|
a4f8eb3544 | ||
|
|
270c626d6b | ||
|
|
ae0c33b395 | ||
|
|
6c6c51ef3b | ||
|
|
ebf48d4122 | ||
|
|
9213ca194d | ||
|
|
b371ae35d1 | ||
|
|
92ee0fda43 | ||
|
|
5baa3de6df | ||
|
|
a561ae0f9d | ||
|
|
277abc5ffa | ||
|
|
a70a6346c5 | ||
|
|
859ebaf371 | ||
|
|
39d9b00eeb | ||
|
|
e577a9fbdf | ||
|
|
77c57bdfa8 | ||
|
|
81812d05a3 | ||
|
|
cc25f71674 | ||
|
|
6853b08120 | ||
|
|
c38a3d7026 | ||
|
|
2090f0ddce | ||
|
|
cec051f4b8 | ||
|
|
89d5bd58f5 | ||
|
|
4586062efb | ||
|
|
1efccd03b5 | ||
|
|
c4fdf66efc | ||
|
|
75f6b45a75 | ||
|
|
c2e19fb391 | ||
|
|
b29dda3b4d | ||
|
|
0ec6d97029 | ||
|
|
36e40805e8 |
+1
-1
@@ -1,4 +1,4 @@
|
||||
skip: changesIncludeOnly('docs/*', '.pre-commit-config.yaml')
|
||||
only_if: changesInclude('.cirrus.yml') || ($BRANCH == "main" && !changesIncludeOnly('docs/*', '.pre-commit-config.yaml'))
|
||||
|
||||
run_tests: &RUN_TESTS
|
||||
install_cibuildwheel_script:
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- uses: pre-commit/action@v3.0.0
|
||||
@@ -38,15 +38,15 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-20.04, windows-latest, macos-11]
|
||||
python_version: ['3.11']
|
||||
os: [ubuntu-20.04, windows-latest, macos-11, macos-14]
|
||||
python_version: ['3.12']
|
||||
include:
|
||||
- os: ubuntu-22.04
|
||||
python_version: '3.8'
|
||||
timeout-minutes: 180
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
name: Install Python ${{ matrix.python_version }}
|
||||
with:
|
||||
python-version: ${{ matrix.python_version }}
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
timeout-minutes: 180
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Install dependencies
|
||||
|
||||
@@ -18,13 +18,13 @@ jobs:
|
||||
update-dependencies:
|
||||
name: Update dependencies
|
||||
if: github.repository_owner == 'pypa' || github.event_name != 'schedule'
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: wntrblm/nox@2023.04.22
|
||||
with:
|
||||
python-versions: "3.7, 3.8, 3.9, 3.10, 3.11, 3.12-dev"
|
||||
python-versions: "3.7, 3.8, 3.9, 3.10, 3.11, 3.12"
|
||||
|
||||
- name: "Run update: dependencies"
|
||||
run: nox --force-color -s update_constraints
|
||||
|
||||
+7
-11
@@ -1,7 +1,7 @@
|
||||
repos:
|
||||
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.4.0
|
||||
rev: v4.5.0
|
||||
hooks:
|
||||
- id: check-case-conflict
|
||||
- id: check-merge-conflict
|
||||
@@ -13,25 +13,21 @@ repos:
|
||||
- id: mixed-line-ending
|
||||
- id: trailing-whitespace
|
||||
|
||||
- repo: https://github.com/psf/black-pre-commit-mirror
|
||||
rev: 23.9.1
|
||||
hooks:
|
||||
- id: black
|
||||
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.0.292
|
||||
rev: v0.1.6
|
||||
hooks:
|
||||
- id: ruff
|
||||
args: ["--fix", "--show-fixes"]
|
||||
- id: ruff-format
|
||||
|
||||
- repo: https://github.com/asottile/setup-cfg-fmt
|
||||
rev: v2.5.0
|
||||
hooks:
|
||||
- id: setup-cfg-fmt
|
||||
args: [--include-version-classifiers, --min-py-version=3.8, --max-py-version=3.11]
|
||||
args: [--include-version-classifiers, --min-py-version=3.8, --max-py-version=3.12]
|
||||
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
rev: v1.5.1
|
||||
rev: v1.7.1
|
||||
hooks:
|
||||
- id: mypy
|
||||
name: mypy 3.8 on cibuildwheel/
|
||||
@@ -52,9 +48,9 @@ repos:
|
||||
- types-requests
|
||||
- validate-pyproject
|
||||
- id: mypy
|
||||
name: mypy 3.11
|
||||
name: mypy 3.12
|
||||
exclude: ^cibuildwheel/resources/.*py$
|
||||
args: ["--python-version=3.11"]
|
||||
args: ["--python-version=3.12"]
|
||||
additional_dependencies: *mypy-dependencies
|
||||
|
||||
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
This is a summary of the Python versions and platforms covered by the different CI platforms:
|
||||
This is a summary of the host Python versions and platforms covered by the different CI platforms:
|
||||
|
||||
| | 3.8 | 3.9 | 3.10 | 3.11 |
|
||||
| | 3.8 | 3.9 | 3.10 | 3.12 |
|
||||
|---------|--------------------------------------------------------|-----------------------|-----------|----------------|
|
||||
| Linux | AppVeyor¹ / Azure Pipelines / GitLab¹ / GitHub Actions | CircleCI¹ / Travis CI | Cirrus CI | GitHub Actions |
|
||||
| macOS | AppVeyor¹ / Azure Pipelines | CircleCI¹ / Travis CI | Cirrus CI | GitHub Actions |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
This project is licensed under the 'BSD 2-clause license'.
|
||||
|
||||
Copyright (c) 2017-2019, Joe Rickerby and contributors. All rights reserved.
|
||||
Copyright (c) 2017-2023, Joe Rickerby and contributors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
+2
-2
@@ -25,10 +25,10 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
# Set up a non-EOL, cibuildwheel & pipx supported Python version
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
id: python
|
||||
with:
|
||||
python-version: "3.8 - 3.11"
|
||||
python-version: "3.8 - 3.12"
|
||||
update-environment: false
|
||||
|
||||
# Redirecting stderr to stdout to fix interleaving issue in Actions.
|
||||
|
||||
+40
-3
@@ -1,11 +1,16 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
import copy
|
||||
import json
|
||||
from typing import Any
|
||||
|
||||
import yaml
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--schemastore", action="store_true", help="Generate schema_store version")
|
||||
args = parser.parse_args()
|
||||
|
||||
starter = """
|
||||
$id: https://github.com/pypa/cibuildwheel/blob/main/cibuildwheel/resources/cibuildwheel.schema.json
|
||||
$schema: http://json-schema.org/draft-07/schema
|
||||
@@ -146,6 +151,9 @@ properties:
|
||||
|
||||
schema = yaml.safe_load(starter)
|
||||
|
||||
if args.schemastore:
|
||||
schema["$id"] += "#"
|
||||
|
||||
string_array = yaml.safe_load(
|
||||
"""
|
||||
- type: string
|
||||
@@ -177,7 +185,7 @@ string_table = yaml.safe_load(
|
||||
additionalProperties: false
|
||||
patternProperties:
|
||||
.+:
|
||||
- type: string
|
||||
type: string
|
||||
"""
|
||||
)
|
||||
|
||||
@@ -210,7 +218,13 @@ items:
|
||||
for key, value in schema["properties"].items():
|
||||
value["title"] = f'CIBW_{key.replace("-", "_").upper()}'
|
||||
|
||||
non_global_options = {k: {"$ref": f"#/properties/{k}"} for k in schema["properties"]}
|
||||
if args.schemastore:
|
||||
non_global_options = {
|
||||
k: {"$ref": f"#/properties/tool/properties/cibuildwheel/properties/{k}"}
|
||||
for k in schema["properties"]
|
||||
}
|
||||
else:
|
||||
non_global_options = {k: {"$ref": f"#/properties/{k}"} for k in schema["properties"]}
|
||||
del non_global_options["build"]
|
||||
del non_global_options["skip"]
|
||||
del non_global_options["container-engine"]
|
||||
@@ -257,4 +271,27 @@ del oses["linux"]["properties"]["dependency-versions"]
|
||||
schema["properties"]["overrides"] = overrides
|
||||
schema["properties"] |= oses
|
||||
|
||||
print(json.dumps(schema, indent=2))
|
||||
if not args.schemastore:
|
||||
print(json.dumps(schema, indent=2))
|
||||
raise SystemExit(0)
|
||||
|
||||
schema_store_txt = """
|
||||
$id: https://json.schemastore.org/cibuildwheel.json
|
||||
$schema: http://json-schema.org/draft-07/schema#
|
||||
additionalProperties: false
|
||||
description: cibuildwheel's toml file, generated with ./bin/generate_schema.py --schemastore from cibuildwheel.
|
||||
type: object
|
||||
properties:
|
||||
tool:
|
||||
type: object
|
||||
properties:
|
||||
cibuildwheel:
|
||||
type: object
|
||||
"""
|
||||
schema_store = yaml.safe_load(schema_store_txt)
|
||||
|
||||
schema_store["properties"]["tool"]["properties"]["cibuildwheel"]["properties"] = schema[
|
||||
"properties"
|
||||
]
|
||||
|
||||
print(json.dumps(schema_store, indent=2))
|
||||
|
||||
@@ -7,7 +7,7 @@ import shutil
|
||||
import sys
|
||||
import textwrap
|
||||
import time
|
||||
from collections import namedtuple
|
||||
import typing
|
||||
from glob import glob
|
||||
from pathlib import Path
|
||||
from subprocess import run
|
||||
@@ -34,7 +34,12 @@ def generate_basic_project(path):
|
||||
project.generate(path)
|
||||
|
||||
|
||||
CIService = namedtuple("CIService", "name dst_config_path badge_md")
|
||||
class CIService(typing.NamedTuple):
|
||||
name: str
|
||||
dst_config_path: str
|
||||
badge_md: str
|
||||
|
||||
|
||||
services = [
|
||||
CIService(
|
||||
name="appveyor",
|
||||
|
||||
@@ -7,7 +7,7 @@ import sys
|
||||
from pathlib import Path
|
||||
|
||||
try:
|
||||
from html2image import Html2Image # type: ignore[import]
|
||||
from html2image import Html2Image # type: ignore[import-not-found]
|
||||
except ImportError:
|
||||
sys.exit(
|
||||
"""
|
||||
|
||||
@@ -204,10 +204,8 @@ class CPythonVersions:
|
||||
unsorted_versions = spec.filter(self.versions_dict)
|
||||
sorted_versions = sorted(unsorted_versions, reverse=True)
|
||||
|
||||
if version <= Version("3.8.9999"):
|
||||
file_ident = "macosx10.9.pkg"
|
||||
else:
|
||||
file_ident = "macos11.pkg"
|
||||
macver = "x10.9" if version <= Version("3.8.9999") else "11"
|
||||
file_ident = f"macos{macver}.pkg"
|
||||
|
||||
for new_version in sorted_versions:
|
||||
# Find the first patch version that contains the requested file
|
||||
|
||||
@@ -3,11 +3,12 @@ from __future__ import annotations
|
||||
import sys
|
||||
|
||||
if sys.version_info < (3, 11):
|
||||
from typing_extensions import NotRequired, assert_never
|
||||
from typing_extensions import NotRequired, Self, assert_never
|
||||
else:
|
||||
from typing import NotRequired, assert_never
|
||||
from typing import NotRequired, Self, assert_never
|
||||
|
||||
__all__ = (
|
||||
"assert_never",
|
||||
"NotRequired",
|
||||
"Self",
|
||||
)
|
||||
|
||||
@@ -491,7 +491,7 @@ def build(options: Options, tmp_path: Path) -> None:
|
||||
tested. The ability to test the arm64 wheels will be added in a
|
||||
future release of cibuildwheel, once Apple Silicon CI runners
|
||||
are widely available. To silence this warning, set
|
||||
`CIBW_TEST_SKIP: *-macosx_arm64`.
|
||||
`CIBW_TEST_SKIP: "*-macosx_arm64"`.
|
||||
"""
|
||||
)
|
||||
)
|
||||
@@ -504,7 +504,7 @@ def build(options: Options, tmp_path: Path) -> None:
|
||||
arm64 part of a universal2 wheel will be added in a future
|
||||
release of cibuildwheel, once Apple Silicon CI runners are
|
||||
widely available. To silence this warning, set
|
||||
`CIBW_TEST_SKIP: *-macosx_universal2:arm64`.
|
||||
`CIBW_TEST_SKIP: "*-macosx_universal2:arm64"`.
|
||||
"""
|
||||
)
|
||||
)
|
||||
@@ -525,7 +525,7 @@ def build(options: Options, tmp_path: Path) -> None:
|
||||
Silicon machine. This is because we use the x86_64 installer of
|
||||
CPython 3.8. See the discussion in
|
||||
https://github.com/pypa/cibuildwheel/pull/1169 for the details. To
|
||||
silence this warning, set `CIBW_TEST_SKIP: cp38-macosx_*:arm64`.
|
||||
silence this warning, set `CIBW_TEST_SKIP: "cp38-macosx_*:arm64"`.
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
@@ -16,6 +16,7 @@ from pathlib import Path, PurePath, PurePosixPath
|
||||
from types import TracebackType
|
||||
from typing import IO, Dict, Literal
|
||||
|
||||
from ._compat.typing import Self
|
||||
from .typing import PathOrStr, PopenBytes
|
||||
from .util import (
|
||||
CIProvider,
|
||||
@@ -105,7 +106,7 @@ class OCIContainer:
|
||||
self.name: str | None = None
|
||||
self.engine = engine
|
||||
|
||||
def __enter__(self) -> OCIContainer:
|
||||
def __enter__(self) -> Self:
|
||||
self.name = f"cibuildwheel-{uuid.uuid4()}"
|
||||
|
||||
# work-around for Travis-CI PPC64le Docker runs since 2021:
|
||||
|
||||
@@ -97,12 +97,12 @@ python_configurations = [
|
||||
{ identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.11/python-3.10.11-macos11.pkg" },
|
||||
{ identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.11/python-3.10.11-macos11.pkg" },
|
||||
{ identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.11/python-3.10.11-macos11.pkg" },
|
||||
{ identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.6/python-3.11.6-macos11.pkg" },
|
||||
{ identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.6/python-3.11.6-macos11.pkg" },
|
||||
{ identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.6/python-3.11.6-macos11.pkg" },
|
||||
{ identifier = "cp312-macosx_x86_64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.0/python-3.12.0-macos11.pkg" },
|
||||
{ identifier = "cp312-macosx_arm64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.0/python-3.12.0-macos11.pkg" },
|
||||
{ identifier = "cp312-macosx_universal2", version = "3.12", url = "https://www.python.org/ftp/python/3.12.0/python-3.12.0-macos11.pkg" },
|
||||
{ identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.7/python-3.11.7-macos11.pkg" },
|
||||
{ identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.7/python-3.11.7-macos11.pkg" },
|
||||
{ identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.7/python-3.11.7-macos11.pkg" },
|
||||
{ identifier = "cp312-macosx_x86_64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.1/python-3.12.1-macos11.pkg" },
|
||||
{ identifier = "cp312-macosx_arm64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.1/python-3.12.1-macos11.pkg" },
|
||||
{ identifier = "cp312-macosx_universal2", version = "3.12", url = "https://www.python.org/ftp/python/3.12.1/python-3.12.1-macos11.pkg" },
|
||||
{ identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-osx64.tar.bz2" },
|
||||
{ identifier = "pp38-macosx_x86_64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_x86_64.tar.bz2" },
|
||||
{ identifier = "pp38-macosx_arm64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_arm64.tar.bz2" },
|
||||
@@ -124,14 +124,14 @@ python_configurations = [
|
||||
{ identifier = "cp39-win_amd64", version = "3.9.13", arch = "64" },
|
||||
{ identifier = "cp310-win32", version = "3.10.11", arch = "32" },
|
||||
{ identifier = "cp310-win_amd64", version = "3.10.11", arch = "64" },
|
||||
{ identifier = "cp311-win32", version = "3.11.6", arch = "32" },
|
||||
{ identifier = "cp311-win_amd64", version = "3.11.6", arch = "64" },
|
||||
{ identifier = "cp312-win32", version = "3.12.0", arch = "32" },
|
||||
{ identifier = "cp312-win_amd64", version = "3.12.0", arch = "64" },
|
||||
{ identifier = "cp311-win32", version = "3.11.7", arch = "32" },
|
||||
{ identifier = "cp311-win_amd64", version = "3.11.7", arch = "64" },
|
||||
{ identifier = "cp312-win32", version = "3.12.1", arch = "32" },
|
||||
{ identifier = "cp312-win_amd64", version = "3.12.1", arch = "64" },
|
||||
{ identifier = "cp39-win_arm64", version = "3.9.10", arch = "ARM64" },
|
||||
{ identifier = "cp310-win_arm64", version = "3.10.11", arch = "ARM64" },
|
||||
{ identifier = "cp311-win_arm64", version = "3.11.6", arch = "ARM64" },
|
||||
{ identifier = "cp312-win_arm64", version = "3.12.0", arch = "ARM64" },
|
||||
{ identifier = "cp311-win_arm64", version = "3.11.7", arch = "ARM64" },
|
||||
{ identifier = "cp312-win_arm64", version = "3.12.1", arch = "ARM64" },
|
||||
{ identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-win64.zip" },
|
||||
{ identifier = "pp38-win_amd64", version = "3.8", arch = "64", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-win64.zip" },
|
||||
{ identifier = "pp39-win_amd64", version = "3.9", arch = "64", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.13-win64.zip" },
|
||||
|
||||
@@ -218,11 +218,9 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
".+": [
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
".+": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
#
|
||||
# nox -s update_constraints-3.10
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
filelock==3.12.4
|
||||
filelock==3.13.1
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.1.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.8.0
|
||||
typing-extensions==4.9.0
|
||||
# via delocate
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.2.2
|
||||
setuptools==69.0.2
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
#
|
||||
# nox -s update_constraints-3.11
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
filelock==3.12.4
|
||||
filelock==3.13.1
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.1.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.8.0
|
||||
typing-extensions==4.9.0
|
||||
# via delocate
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.2.2
|
||||
setuptools==69.0.2
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
#
|
||||
# nox -s update_constraints-3.12
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
filelock==3.12.4
|
||||
filelock==3.13.1
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.1.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.8.0
|
||||
typing-extensions==4.9.0
|
||||
# via delocate
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.2.2
|
||||
setuptools==69.0.2
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# nox -s update_constraints-3.7
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
@@ -14,22 +14,22 @@ importlib-metadata==6.7.0
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.0.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.7.1
|
||||
# via
|
||||
# delocate
|
||||
# importlib-metadata
|
||||
# platformdirs
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
zipp==3.15.0
|
||||
# via importlib-metadata
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.0.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
#
|
||||
# nox -s update_constraints-3.8
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
filelock==3.12.4
|
||||
filelock==3.13.1
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.1.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.8.0
|
||||
typing-extensions==4.9.0
|
||||
# via delocate
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.2.2
|
||||
setuptools==69.0.2
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
#
|
||||
# nox -s update_constraints-3.9
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
filelock==3.12.4
|
||||
filelock==3.13.1
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.1.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.8.0
|
||||
typing-extensions==4.9.0
|
||||
# via delocate
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.2.2
|
||||
setuptools==69.0.2
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
#
|
||||
# nox -s update_constraints-3.12
|
||||
#
|
||||
delocate==0.10.4
|
||||
delocate==0.10.6
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
distlib==0.3.7
|
||||
# via virtualenv
|
||||
filelock==3.12.4
|
||||
filelock==3.13.1
|
||||
# via virtualenv
|
||||
packaging==23.2
|
||||
# via delocate
|
||||
platformdirs==3.11.0
|
||||
platformdirs==4.1.0
|
||||
# via virtualenv
|
||||
typing-extensions==4.8.0
|
||||
typing-extensions==4.9.0
|
||||
# via delocate
|
||||
virtualenv==20.24.5
|
||||
virtualenv==20.25.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
wheel==0.41.2
|
||||
wheel==0.42.0
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1
|
||||
pip==23.3.1
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
setuptools==68.2.2
|
||||
setuptools==69.0.2
|
||||
# via -r cibuildwheel/resources/constraints.in
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
[x86_64]
|
||||
manylinux1 = quay.io/pypa/manylinux1_x86_64:2023-10-01-4095a57
|
||||
manylinux1 = quay.io/pypa/manylinux1_x86_64:2023-12-10-cee9633
|
||||
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-10-03-72cdc42
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2023-10-03-72cdc42
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2023-10-03-72cdc42
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-12-09-3915976
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2023-12-09-3915976
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2023-12-09-3915976
|
||||
|
||||
[i686]
|
||||
manylinux1 = quay.io/pypa/manylinux1_i686:2023-10-01-4095a57
|
||||
manylinux1 = quay.io/pypa/manylinux1_i686:2023-12-10-cee9633
|
||||
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2023-10-03-72cdc42
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2023-10-03-72cdc42
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2023-12-09-3915976
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2023-12-09-3915976
|
||||
|
||||
[pypy_x86_64]
|
||||
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-10-03-72cdc42
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2023-12-09-3915976
|
||||
|
||||
[pypy_i686]
|
||||
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
||||
|
||||
[aarch64]
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-10-03-72cdc42
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2023-10-03-72cdc42
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2023-10-03-72cdc42
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-12-09-3915976
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2023-12-09-3915976
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2023-12-09-3915976
|
||||
|
||||
[ppc64le]
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2023-10-03-72cdc42
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2023-10-03-72cdc42
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2023-10-03-72cdc42
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2023-12-09-3915976
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2023-12-09-3915976
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2023-12-09-3915976
|
||||
|
||||
[s390x]
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2023-10-03-72cdc42
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2023-10-03-72cdc42
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2023-10-03-72cdc42
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2023-12-09-3915976
|
||||
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2023-12-09-3915976
|
||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2023-12-09-3915976
|
||||
|
||||
[pypy_aarch64]
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-10-03-72cdc42
|
||||
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2023-12-09-3915976
|
||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-10-03-72cdc42
|
||||
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2023-12-09-3915976
|
||||
|
||||
|
||||
@@ -619,10 +619,7 @@ def virtualenv(
|
||||
python,
|
||||
venv_path,
|
||||
)
|
||||
if IS_WIN:
|
||||
paths = [str(venv_path), str(venv_path / "Scripts")]
|
||||
else:
|
||||
paths = [str(venv_path / "bin")]
|
||||
paths = [str(venv_path), str(venv_path / "Scripts")] if IS_WIN else [str(venv_path / "bin")]
|
||||
env = os.environ.copy()
|
||||
env["PATH"] = os.pathsep.join([*paths, env["PATH"]])
|
||||
return env
|
||||
|
||||
@@ -501,7 +501,7 @@ def build(options: Options, tmp_path: Path) -> None:
|
||||
"""
|
||||
While arm64 wheels can be built on other platforms, they cannot
|
||||
be tested. An arm64 runner is required. To silence this warning,
|
||||
set `CIBW_TEST_SKIP: *-win_arm64`.
|
||||
set `CIBW_TEST_SKIP: "*-win_arm64"`.
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
@@ -631,3 +631,10 @@
|
||||
os: [windows, apple, linux]
|
||||
pypi: aalink
|
||||
notes: Async Python interface for Ableton Link.
|
||||
|
||||
- name: werpy
|
||||
gh: analyticsinmotion/werpy
|
||||
ci: [github]
|
||||
os: [windows, linux, apple]
|
||||
pypi: werpy
|
||||
notes: An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER).
|
||||
|
||||
+2
-3
@@ -75,7 +75,7 @@ With the exception of Cirrus CI, macOS CI runners are still Intel-based, and App
|
||||
!!! important
|
||||
When cross-compiling on Intel, it is not possible to test `arm64` and the `arm64` part of a `universal2` wheel.
|
||||
|
||||
`cibuildwheel` will raise a warning to notify you of this - these warnings be be silenced by skipping testing on these platforms: `CIBW_TEST_SKIP: *_arm64 *_universal2:arm64`.
|
||||
`cibuildwheel` will raise a warning to notify you of this - these warnings be be silenced by skipping testing on these platforms: `CIBW_TEST_SKIP: "*_arm64 *_universal2:arm64"`.
|
||||
|
||||
!!! note
|
||||
Your runner needs Xcode Command Line Tools 12.2 or later to build `universal2` or `arm64`.
|
||||
@@ -216,7 +216,6 @@ to build, your pyproject.toml might include a section like this:
|
||||
[build-system]
|
||||
requires = [
|
||||
"setuptools>=42",
|
||||
"wheel",
|
||||
"Cython",
|
||||
]
|
||||
|
||||
@@ -395,7 +394,7 @@ To investigate the dependencies of a C extension (i.e., the `.pyd` file, a DLL i
|
||||
|
||||
### Windows ARM64 builds {: #windows-arm64}
|
||||
|
||||
`cibuildwheel` supports cross-compiling `ARM64` wheels on all Windows runners, but a native ARM64 runner is required for testing. On non-native runners, tests for ARM64 wheels will be automatically skipped with a warning. Add `*-win_arm64` to your `CIBW_TEST_SKIP` setting to suppress the warning.
|
||||
`cibuildwheel` supports cross-compiling `ARM64` wheels on all Windows runners, but a native ARM64 runner is required for testing. On non-native runners, tests for ARM64 wheels will be automatically skipped with a warning. Add `"*-win_arm64"` to your `CIBW_TEST_SKIP` setting to suppress the warning.
|
||||
|
||||
Cross-compilation on Windows relies on a supported build backend. Supported backends use an environment variable to specify their target platform (the one they are compiling native modules for, as opposed to the one they are running on), which is set in [cibuildwheels/windows.py](https://github.com/pypa/cibuildwheel/blob/main/cibuildwheel/windows.py) before building. Currently, `setuptools>=65.4.1` and `setuptools_rust` are the only supported backends.
|
||||
|
||||
|
||||
+9
-7
@@ -587,11 +587,11 @@ Platform-specific environment variables also available:<br/>
|
||||
|
||||
|
||||
### `CIBW_ENVIRONMENT` {: #environment}
|
||||
> Set environment variables needed during the build
|
||||
> Set environment variables
|
||||
|
||||
A list of environment variables to set during the build. Bash syntax should be used, even on Windows.
|
||||
A list of environment variables to set during the build and test phases. Bash syntax should be used, even on Windows.
|
||||
|
||||
You must set this variable to pass variables to Linux builds (since they execute in a container). It also works for the other platforms.
|
||||
You must use this variable to pass variables to Linux builds, since they execute in a container. It also works for the other platforms.
|
||||
|
||||
You can use `$PATH` syntax to insert other variables, or the `$(pwd)` syntax to insert the output of other shell commands.
|
||||
|
||||
@@ -673,10 +673,13 @@ Platform-specific environment variables are also available:<br/>
|
||||
!!! note
|
||||
cibuildwheel always defines the environment variable `CIBUILDWHEEL=1`. This can be useful for [building wheels with optional extensions](faq.md#building-packages-with-optional-c-extensions).
|
||||
|
||||
### `CIBW_ENVIRONMENT_PASS_LINUX` {: #environment-pass}
|
||||
> Set environment variables on the host to pass-through to the container during the build.
|
||||
!!! note
|
||||
To do its work, cibuildwheel internally sets the options `PIP_CONSTRAINT`, `VIRTUALENV_PIP`, `DIST_EXTRA_CONFIG`, `SETUPTOOLS_EXT_SUFFIX`, `PIP_DISABLE_PIP_VERSION_CHECK`, `PIP_ROOT_USER_ACTION`. Your assignments to these options might be overridden.
|
||||
|
||||
A list of environment variables to pass into the linux container during the build. It has no effect on the other platforms, which can already access all environment variables directly.
|
||||
### `CIBW_ENVIRONMENT_PASS_LINUX` {: #environment-pass}
|
||||
> Set environment variables on the host to pass-through to the container.
|
||||
|
||||
A list of environment variables to pass into the linux container during each build and test. It has no effect on the other platforms, which can already access all environment variables directly.
|
||||
|
||||
To specify more than one environment variable, separate the variable names by spaces.
|
||||
|
||||
@@ -846,7 +849,6 @@ Platform-specific environment variables are also available:<br/>
|
||||
[build-system]
|
||||
requires = [
|
||||
"setuptools>=42",
|
||||
"wheel",
|
||||
"Cython",
|
||||
"numpy==1.13.3; python_version<'3.5'",
|
||||
"oldest-supported-numpy; python_version>='3.5'",
|
||||
|
||||
+36
-34
@@ -37,38 +37,38 @@ title: Working examples
|
||||
| [UltraJSON][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Ultra fast JSON decoder and encoder written in C with Python bindings |
|
||||
| [OpenSpiel][] | ![github icon][] | ![apple icon][] ![linux icon][] | OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games. |
|
||||
| [aiortc][] | ![github icon][] | ![apple icon][] ![linux icon][] | WebRTC and ORTC implementation for Python using asyncio. |
|
||||
| [pyzmq][] | ![github icon][] ![circleci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython on CPython and CFFI on PyPy. ARM wheels for linux are built natively on CircleCI. |
|
||||
| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` |
|
||||
| [Implicit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes GPU support for linux wheels |
|
||||
| [pyzmq][] | ![github icon][] ![circleci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython on CPython and CFFI on PyPy. ARM wheels for linux are built natively on CircleCI. |
|
||||
| [Dependency Injector][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Dependency injection framework for Python, uses Windows TravisCI |
|
||||
| [Implicit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes GPU support for linux wheels |
|
||||
| [vispy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Main repository for Vispy |
|
||||
| [tinyobjloader][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Tiny but powerful single file wavefront obj loader |
|
||||
| [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python |
|
||||
| [PyCryptodome][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A self-contained cryptographic library for Python |
|
||||
| [PyYAML][] | ![github icon][] | ![apple icon][] | Canonical source repository for PyYAML |
|
||||
| [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python |
|
||||
| [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more |
|
||||
| [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. |
|
||||
| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. |
|
||||
| [CTranslate2][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit.html) and CUDA kernels compiled for multiple GPU architectures. |
|
||||
| [Wrapt][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python module for decorators, wrappers and monkey patching. |
|
||||
| [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python |
|
||||
| [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. |
|
||||
| [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more |
|
||||
| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. |
|
||||
| [pikepdf][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by QPDF |
|
||||
| [Wrapt][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python module for decorators, wrappers and monkey patching. |
|
||||
| [envd][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | 🏕️ Reproducible development environment |
|
||||
| [OpenColorIO][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A color management framework for visual effects and animation. |
|
||||
| [SimpleJSON][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | simplejson is a simple, fast, extensible JSON encoder/decoder for Python |
|
||||
| [aioquic][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | QUIC and HTTP/3 implementation in Python |
|
||||
| [ruptures][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Extensive Cython + NumPy [pyproject.toml](https://github.com/deepcharles/ruptures/blob/master/pyproject.toml) example. |
|
||||
| [OpenTimelineIO][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Open Source API and interchange format for editorial timeline information. |
|
||||
| [PyTables][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python package to manage extremely large amounts of data |
|
||||
| [Psycopg 3][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A modern implementation of a PostgreSQL adapter for Python |
|
||||
| [PyTables][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python package to manage extremely large amounts of data |
|
||||
| [Parselmouth][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python interface to the Praat software package, using pybind11, C++17 and CMake, with the core Praat static library built only once and shared between wheels. |
|
||||
| [DeepForest][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | An Efficient, Scalable and Optimized Python Framework for Deep Forest (2021.2.1) |
|
||||
| [google neuroglancer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | WebGL-based viewer for volumetric data |
|
||||
| [AutoPy][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
||||
| [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system |
|
||||
| [mosec][] | ![github icon][] | ![linux icon][] ![apple icon][] | A high-performance ML model serving framework, offers dynamic batching and CPU/GPU pipelines to fully exploit your compute machine |
|
||||
| [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS ¶ |
|
||||
| [Picologging][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A high-performance logging library for Python. |
|
||||
| [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS |
|
||||
| [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. |
|
||||
| [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system |
|
||||
| [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. |
|
||||
@@ -87,30 +87,31 @@ title: Working examples
|
||||
| [Tokenizer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support |
|
||||
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
|
||||
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
||||
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
||||
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
||||
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
||||
| [pillow-heif][] | ![github icon][] ![cirrusci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Bindings to libheif library with third party dependencies. Fully automated CI for tests and publishing including Apple Silicon builds. |
|
||||
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
||||
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
||||
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
||||
| [Python-WebRTC][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | a Python extension that provides bindings to WebRTC M92 |
|
||||
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
||||
| [Arbor][] | ![github icon][] | ![apple icon][] ![linux icon][] | Arbor is a multi-compartment neuron simulation library; compatible with next-generation accelerators; best-practices applied to research software; focused on community-driven development. Includes a [small script](https://github.com/arbor-sim/arbor/blob/master/scripts/patchwheel.py) patching `rpath` in bundled libraries. |
|
||||
| [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms |
|
||||
| [power-grid-model][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python/C++ library for distribution power system analysis |
|
||||
| [Arbor][] | ![github icon][] | ![apple icon][] ![linux icon][] | Arbor is a multi-compartment neuron simulation library; compatible with next-generation accelerators; best-practices applied to research software; focused on community-driven development. Includes a [small script](https://github.com/arbor-sim/arbor/blob/master/scripts/patchwheel.py) patching `rpath` in bundled libraries. |
|
||||
| [Imagecodecs (fork)][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] | Over 20 external dependencies in compiled libraries, custom docker image, `libomp`, `openblas` and `install_name_tool` for macOS. |
|
||||
| [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. |
|
||||
| [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 |
|
||||
| [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. |
|
||||
| [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. |
|
||||
| [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions |
|
||||
| [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. |
|
||||
| [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions |
|
||||
| [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. |
|
||||
| [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy |
|
||||
| [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy |
|
||||
| [ril][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A python binding to Rust Imaging library using maturin and Pyo3, utilizes Github Action cache to improve speed. Builds abi3 wheels. |
|
||||
| [SiPM][] | ![github icon][] | ![apple icon][] ![linux icon][] | High performance library for SiPM detectors simulation using C++17, OpenMP and AVX2 intrinsics. |
|
||||
| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. |
|
||||
| [SiPM][] | ![github icon][] | ![apple icon][] ![linux icon][] | High performance library for SiPM detectors simulation using C++17, OpenMP and AVX2 intrinsics. |
|
||||
| [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. |
|
||||
| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies |
|
||||
| [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. |
|
||||
| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies |
|
||||
| [werpy][] | ![github icon][] | ![windows icon][] ![linux icon][] ![apple icon][] | An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER). |
|
||||
| [aalink][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Async Python interface for Ableton Link. |
|
||||
| [pybind11 cross build example][] | ![github icon][] ![gitlab icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Same as pybind11 cmake_example but used to demo Linux ARM + Windows + macOS builds on GitLab |
|
||||
|
||||
@@ -143,38 +144,38 @@ title: Working examples
|
||||
[UltraJSON]: https://github.com/ultrajson/ultrajson
|
||||
[OpenSpiel]: https://github.com/deepmind/open_spiel
|
||||
[aiortc]: https://github.com/aiortc/aiortc
|
||||
[pyzmq]: https://github.com/zeromq/pyzmq
|
||||
[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python
|
||||
[Implicit]: https://github.com/benfred/implicit
|
||||
[pyzmq]: https://github.com/zeromq/pyzmq
|
||||
[Dependency Injector]: https://github.com/ets-labs/python-dependency-injector
|
||||
[Implicit]: https://github.com/benfred/implicit
|
||||
[vispy]: https://github.com/vispy/vispy
|
||||
[tinyobjloader]: https://github.com/tinyobjloader/tinyobjloader
|
||||
[coverage.py]: https://github.com/nedbat/coveragepy
|
||||
[PyCryptodome]: https://github.com/Legrandin/pycryptodome
|
||||
[PyYAML]: https://github.com/yaml/pyyaml
|
||||
[Line Profiler]: https://github.com/pyutils/line_profiler
|
||||
[numexpr]: https://github.com/pydata/numexpr
|
||||
[PyAV]: https://github.com/PyAV-Org/PyAV
|
||||
[h5py]: https://github.com/h5py/h5py
|
||||
[CTranslate2]: https://github.com/OpenNMT/CTranslate2
|
||||
[Wrapt]: https://github.com/GrahamDumpleton/wrapt
|
||||
[Line Profiler]: https://github.com/pyutils/line_profiler
|
||||
[PyAV]: https://github.com/PyAV-Org/PyAV
|
||||
[numexpr]: https://github.com/pydata/numexpr
|
||||
[h5py]: https://github.com/h5py/h5py
|
||||
[pikepdf]: https://github.com/pikepdf/pikepdf
|
||||
[Wrapt]: https://github.com/GrahamDumpleton/wrapt
|
||||
[envd]: https://github.com/tensorchord/envd
|
||||
[OpenColorIO]: https://github.com/AcademySoftwareFoundation/OpenColorIO
|
||||
[SimpleJSON]: https://github.com/simplejson/simplejson
|
||||
[aioquic]: https://github.com/aiortc/aioquic
|
||||
[ruptures]: https://github.com/deepcharles/ruptures
|
||||
[OpenTimelineIO]: https://github.com/PixarAnimationStudios/OpenTimelineIO
|
||||
[PyTables]: https://github.com/PyTables/PyTables
|
||||
[Psycopg 3]: https://github.com/psycopg/psycopg
|
||||
[PyTables]: https://github.com/PyTables/PyTables
|
||||
[Parselmouth]: https://github.com/YannickJadoul/Parselmouth
|
||||
[DeepForest]: https://github.com/LAMDA-NJU/Deep-Forest
|
||||
[google neuroglancer]: https://github.com/google/neuroglancer
|
||||
[AutoPy]: https://github.com/autopilot-rs/autopy
|
||||
[H3-py]: https://github.com/uber/h3-py
|
||||
[mosec]: https://github.com/mosecorg/mosec
|
||||
[Rtree]: https://github.com/Toblerity/rtree
|
||||
[Picologging]: https://github.com/microsoft/picologging
|
||||
[Rtree]: https://github.com/Toblerity/rtree
|
||||
[markupsafe]: https://github.com/pallets/markupsafe
|
||||
[pybind11 cmake_example]: https://github.com/pybind/cmake_example
|
||||
[time-machine]: https://github.com/adamchainz/time-machine
|
||||
@@ -193,30 +194,31 @@ title: Working examples
|
||||
[Tokenizer]: https://github.com/OpenNMT/Tokenizer
|
||||
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
|
||||
[TgCrypto]: https://github.com/pyrogram/tgcrypto
|
||||
[bx-python]: https://github.com/bxlab/bx-python
|
||||
[iDynTree]: https://github.com/robotology/idyntree
|
||||
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
||||
[pillow-heif]: https://github.com/bigcat88/pillow_heif
|
||||
[iDynTree]: https://github.com/robotology/idyntree
|
||||
[bx-python]: https://github.com/bxlab/bx-python
|
||||
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
||||
[Python-WebRTC]: https://github.com/MarshalX/python-webrtc
|
||||
[pybase64]: https://github.com/mayeut/pybase64
|
||||
[Arbor]: https://github.com/arbor-sim/arbor
|
||||
[fathon]: https://github.com/stfbnc/fathon
|
||||
[power-grid-model]: https://github.com/alliander-opensource/power-grid-model
|
||||
[Arbor]: https://github.com/arbor-sim/arbor
|
||||
[Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build
|
||||
[polaroid]: https://github.com/daggy1234/polaroid
|
||||
[pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example
|
||||
[polaroid]: https://github.com/daggy1234/polaroid
|
||||
[etebase-py]: https://github.com/etesync/etebase-py
|
||||
[cf-units]: https://github.com/SciTools/cf-units
|
||||
[clang-format]: https://github.com/ssciwr/clang-format-wheel
|
||||
[cf-units]: https://github.com/SciTools/cf-units
|
||||
[ninja]: https://github.com/scikit-build/ninja-python-distributions
|
||||
[numpythia]: https://github.com/scikit-hep/numpythia
|
||||
[pyjet]: https://github.com/scikit-hep/pyjet
|
||||
[ril]: https://github.com/Cryptex-github/ril-py
|
||||
[SiPM]: https://github.com/EdoPro98/SimSiPM
|
||||
[GSD]: https://github.com/glotzerlab/gsd
|
||||
[SiPM]: https://github.com/EdoPro98/SimSiPM
|
||||
[CorrectionLib]: https://github.com/cms-nanoAOD/correctionlib
|
||||
[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext
|
||||
[xmlstarlet]: https://github.com/dimitern/xmlstarlet
|
||||
[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext
|
||||
[werpy]: https://github.com/analyticsinmotion/werpy
|
||||
[aalink]: https://github.com/artfwo/aalink
|
||||
[pybind11 cross build example]: https://github.com/wbarnha/pybind_cmake_example_crossbuild
|
||||
|
||||
|
||||
@@ -115,6 +115,9 @@ def update_proj(session: nox.Session) -> None:
|
||||
|
||||
@nox.session(reuse_venv=True)
|
||||
def generate_schema(session: nox.Session) -> None:
|
||||
"""
|
||||
Generate the cibuildwheel.schema.json file.
|
||||
"""
|
||||
session.install("pyyaml")
|
||||
output = session.run("python", "bin/generate_schema.py", silent=True)
|
||||
assert isinstance(output, str)
|
||||
|
||||
+13
-12
@@ -5,11 +5,6 @@ requires = [
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
|
||||
[tool.black]
|
||||
line-length = 100
|
||||
target-version = ['py38', 'py39', 'py310', 'py311']
|
||||
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
minversion = "6.0"
|
||||
addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
|
||||
@@ -115,8 +110,12 @@ messages_control.disable = [
|
||||
]
|
||||
|
||||
[tool.ruff]
|
||||
select = [
|
||||
"E", "F", "W", # flake8
|
||||
target-version = "py38"
|
||||
line-length = 100
|
||||
|
||||
|
||||
[tool.ruff.lint]
|
||||
extend-select = [
|
||||
"B", # flake8-bugbear
|
||||
"I", # isort
|
||||
"ARG", # flake8-unused-arguments
|
||||
@@ -136,19 +135,21 @@ select = [
|
||||
"UP", # pyupgrade
|
||||
"YTT", # flake8-2020
|
||||
"EXE", # flake8-executable
|
||||
"PYI", # flake8-pyi
|
||||
]
|
||||
extend-ignore = [
|
||||
ignore = [
|
||||
"PLR", # Design related pylint codes
|
||||
"E501", # Line too long
|
||||
"RET504", "RET505", "RET508", # else after control flow
|
||||
"PT004", # Rename suggested for returnless fixtures
|
||||
"PT007", # False positive (fixed upstream)
|
||||
"PT007", # False positive
|
||||
"PYI025", # Set as AbstractSet
|
||||
"ISC001", # Conflicts with formatter
|
||||
]
|
||||
target-version = "py38"
|
||||
typing-modules = ["cibuildwheel._compat.typing"]
|
||||
flake8-unused-arguments.ignore-variadic-names = true
|
||||
|
||||
[tool.ruff.flake8-tidy-imports.banned-api]
|
||||
[tool.ruff.lint.flake8-tidy-imports.banned-api]
|
||||
"typing.Mapping".msg = "Use collections.abc.Mapping instead."
|
||||
"typing.Callable".msg = "Use collections.abc.Callable instead."
|
||||
"typing.Iterator".msg = "Use collections.abc.Iterator instead."
|
||||
@@ -159,6 +160,6 @@ flake8-unused-arguments.ignore-variadic-names = true
|
||||
"tomllib".msg = "Use cibuildwheel._compat.tomllib instead."
|
||||
"tomli".msg = "Use cibuildwheel._compat.tomllib instead."
|
||||
|
||||
[tool.ruff.per-file-ignores]
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"unit_test/*" = ["PLC1901"]
|
||||
"cibuildwheel/_compat/**.py" = ["TID251"]
|
||||
|
||||
@@ -20,6 +20,7 @@ classifiers =
|
||||
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
|
||||
Topic :: Software Development :: Build Tools
|
||||
keywords = ci,wheel,packaging,pypi,travis,appveyor,macos,linux,windows
|
||||
|
||||
@@ -3,9 +3,7 @@ from __future__ import annotations
|
||||
from . import test_projects, utils
|
||||
|
||||
before_test_project = test_projects.new_c_project()
|
||||
before_test_project.files[
|
||||
"test/spam_test.py"
|
||||
] = r"""
|
||||
before_test_project.files["test/spam_test.py"] = r"""
|
||||
import sys
|
||||
import os
|
||||
from unittest import TestCase
|
||||
|
||||
@@ -99,9 +99,7 @@ cpp17_project = cpp_test_project.copy()
|
||||
cpp17_project.template_context["extra_compile_args"] = [
|
||||
"/std:c++17" if utils.platform == "windows" else "-std=c++17"
|
||||
]
|
||||
cpp17_project.template_context[
|
||||
"spam_cpp_top_level_add"
|
||||
] = r"""
|
||||
cpp17_project.template_context["spam_cpp_top_level_add"] = r"""
|
||||
#include <utility>
|
||||
auto a = std::pair(5.0, false);
|
||||
"""
|
||||
|
||||
@@ -135,9 +135,7 @@ def test_dependency_constraints_file(tmp_path, build_frontend_env):
|
||||
wheel=={wheel}
|
||||
virtualenv=={virtualenv}
|
||||
importlib-metadata<3,>=0.12; python_version < "3.8"
|
||||
""".format(
|
||||
**tool_versions
|
||||
)
|
||||
""".format(**tool_versions)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -8,9 +8,7 @@ from . import test_projects, utils
|
||||
|
||||
project_with_a_test = test_projects.new_c_project()
|
||||
|
||||
project_with_a_test.files[
|
||||
"test/spam_test.py"
|
||||
] = r"""
|
||||
project_with_a_test.files["test/spam_test.py"] = r"""
|
||||
import spam
|
||||
|
||||
def test_spam():
|
||||
|
||||
+1
-3
@@ -19,9 +19,7 @@ basic_project = test_projects.new_c_project(
|
||||
)
|
||||
)
|
||||
|
||||
basic_project.files[
|
||||
"pyproject.toml"
|
||||
] = """
|
||||
basic_project.files["pyproject.toml"] = """
|
||||
[build-system]
|
||||
requires = [
|
||||
"setuptools >= 42",
|
||||
|
||||
@@ -8,9 +8,7 @@ import pytest
|
||||
from . import utils
|
||||
|
||||
pure_python_project = test_projects.TestProject()
|
||||
pure_python_project.files[
|
||||
"setup.py"
|
||||
] = """
|
||||
pure_python_project.files["setup.py"] = """
|
||||
from setuptools import Extension, setup
|
||||
|
||||
setup(
|
||||
@@ -20,9 +18,7 @@ setup(
|
||||
)
|
||||
"""
|
||||
|
||||
pure_python_project.files[
|
||||
"spam.py"
|
||||
] = """
|
||||
pure_python_project.files["spam.py"] = """
|
||||
def a_function():
|
||||
pass
|
||||
"""
|
||||
|
||||
@@ -8,9 +8,7 @@ import pytest
|
||||
from . import utils
|
||||
|
||||
basic_project = test_projects.new_c_project()
|
||||
basic_project.files[
|
||||
"repair.py"
|
||||
] = """
|
||||
basic_project.files["repair.py"] = """
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
@@ -14,9 +14,7 @@ subdir_package_project.files["src/spam/spam.c"] = jinja2.Template(SPAM_C_TEMPLAT
|
||||
subdir_package_project.template_context["spam_c_top_level_add"] = ""
|
||||
subdir_package_project.template_context["spam_c_function_add"] = ""
|
||||
|
||||
subdir_package_project.files[
|
||||
"src/spam/setup.py"
|
||||
] = r"""
|
||||
subdir_package_project.files["src/spam/setup.py"] = r"""
|
||||
from setuptools import Extension, setup
|
||||
|
||||
setup(
|
||||
@@ -26,15 +24,11 @@ setup(
|
||||
)
|
||||
"""
|
||||
|
||||
subdir_package_project.files[
|
||||
"src/spam/test/run_tests.py"
|
||||
] = r"""
|
||||
subdir_package_project.files["src/spam/test/run_tests.py"] = r"""
|
||||
print('run_tests.py executed!')
|
||||
"""
|
||||
|
||||
subdir_package_project.files[
|
||||
"bin/before_build.py"
|
||||
] = r"""
|
||||
subdir_package_project.files["bin/before_build.py"] = r"""
|
||||
print('before_build.py executed!')
|
||||
"""
|
||||
|
||||
|
||||
@@ -18,9 +18,7 @@ project_with_a_test = test_projects.new_c_project(
|
||||
)
|
||||
)
|
||||
|
||||
project_with_a_test.files[
|
||||
"test/spam_test.py"
|
||||
] = r'''
|
||||
project_with_a_test.files["test/spam_test.py"] = r'''
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
@@ -115,9 +113,7 @@ def test_extras_require(tmp_path):
|
||||
|
||||
|
||||
project_with_a_failing_test = test_projects.new_c_project()
|
||||
project_with_a_failing_test.files[
|
||||
"test/spam_test.py"
|
||||
] = r"""
|
||||
project_with_a_failing_test.files["test/spam_test.py"] = r"""
|
||||
from unittest import TestCase
|
||||
|
||||
class TestSpam(TestCase):
|
||||
|
||||
Reference in New Issue
Block a user