-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit c1c3684
Showing
1,698 changed files
with
176,265 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
skip_commits: | ||
files: | ||
- ".github/**/*" | ||
- ".gitmodules" | ||
- "docs/**/*" | ||
- "wheels/**/*" | ||
|
||
version: '{build}' | ||
clone_folder: c:\pillow | ||
init: | ||
- ECHO %PYTHON% | ||
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) | ||
# Uncomment previous line to get RDP access during the build. | ||
|
||
environment: | ||
COVERAGE_CORE: sysmon | ||
EXECUTABLE: python.exe | ||
TEST_OPTIONS: | ||
DEPLOY: YES | ||
matrix: | ||
- PYTHON: C:/Python312 | ||
ARCHITECTURE: x86 | ||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 | ||
- PYTHON: C:/Python38-x64 | ||
ARCHITECTURE: AMD64 | ||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 | ||
|
||
|
||
install: | ||
- '%PYTHON%\%EXECUTABLE% --version' | ||
- '%PYTHON%\%EXECUTABLE% -m pip install --upgrade pip' | ||
- curl -fsSL -o pillow-test-images.zip https://github.com/python-pillow/test-images/archive/main.zip | ||
- 7z x pillow-test-images.zip -oc:\ | ||
- xcopy /S /Y c:\test-images-main\* c:\pillow\tests\images | ||
- curl -fsSL -o nasm-win64.zip https://raw.githubusercontent.com/python-pillow/pillow-depends/main/nasm-2.16.01-win64.zip | ||
- 7z x nasm-win64.zip -oc:\ | ||
- choco install ghostscript --version=10.3.0 | ||
- path c:\nasm-2.16.01;C:\Program Files\gs\gs10.00.0\bin;%PATH% | ||
- cd c:\pillow\winbuild\ | ||
- ps: | | ||
c:\python38\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\ | ||
c:\pillow\winbuild\build\build_dep_all.cmd | ||
$host.SetShouldExit(0) | ||
- path C:\pillow\winbuild\build\bin;%PATH% | ||
|
||
build_script: | ||
- cd c:\pillow | ||
- winbuild\build\build_env.cmd | ||
- '%PYTHON%\%EXECUTABLE% -m pip install -v -C raqm=vendor -C fribidi=vendor .' | ||
- '%PYTHON%\%EXECUTABLE% selftest.py --installed' | ||
|
||
test_script: | ||
- cd c:\pillow | ||
- '%PYTHON%\%EXECUTABLE% -m pip install pytest pytest-cov pytest-timeout defusedxml numpy olefile pyroma' | ||
- c:\"Program Files (x86)"\"Windows Kits"\10\Debuggers\x86\gflags.exe /p /enable %PYTHON%\%EXECUTABLE% | ||
- '%PYTHON%\%EXECUTABLE% -c "from PIL import Image"' | ||
- '%PYTHON%\%EXECUTABLE% -m pytest -vx --cov PIL --cov Tests --cov-report term --cov-report xml Tests' | ||
#- '%PYTHON%\%EXECUTABLE% test-installed.py -v -s %TEST_OPTIONS%' TODO TEST_OPTIONS with pytest? | ||
|
||
after_test: | ||
- curl -Os https://uploader.codecov.io/latest/windows/codecov.exe | ||
- .\codecov.exe --file coverage.xml --name %PYTHON% --flags AppVeyor | ||
|
||
matrix: | ||
fast_finish: true | ||
|
||
cache: | ||
- '%LOCALAPPDATA%\pip\Cache' | ||
|
||
artifacts: | ||
- path: pillow\*.egg | ||
name: egg | ||
- path: pillow\*.whl | ||
name: wheel | ||
|
||
before_deploy: | ||
- cd c:\pillow | ||
- '%PYTHON%\%EXECUTABLE% -m pip wheel -v -C raqm=vendor -C fribidi=vendor .' | ||
- ps: Get-ChildItem .\*.whl | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } | ||
|
||
deploy: | ||
provider: S3 | ||
region: us-west-2 | ||
access_key_id: AKIAIRAXC62ZNTVQJMOQ | ||
secret_access_key: | ||
secure: Hwb6klTqtBeMgxAjRoDltiiqpuH8xbwD4UooDzBSiCWXjuFj1lyl4kHgHwTCCGqi | ||
bucket: pillow-nightly | ||
folder: win/$(APPVEYOR_BUILD_NUMBER)/ | ||
artifact: /.*egg|wheel/ | ||
on: | ||
APPVEYOR_REPO_NAME: python-pillow/Pillow | ||
branch: main | ||
deploy: YES | ||
|
||
|
||
# Uncomment the following lines to get RDP access after the build/test and block for | ||
# up to the timeout limit (~1hr) | ||
# | ||
#on_finish: | ||
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
# gather the coverage data | ||
python3 -m pip install coverage | ||
if [[ $MATRIX_DOCKER ]]; then | ||
python3 -m coverage xml --ignore-errors | ||
else | ||
python3 -m coverage xml | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
python3 -m coverage erase | ||
if [ $(uname) == "Darwin" ]; then | ||
export CPPFLAGS="-I/usr/local/miniconda/include"; | ||
fi | ||
make clean | ||
make install-coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
#!/bin/bash | ||
|
||
aptget_update() | ||
{ | ||
if [ ! -z $1 ]; then | ||
echo "" | ||
echo "Retrying apt-get update..." | ||
echo "" | ||
fi | ||
output=`sudo apt-get update 2>&1` | ||
echo "$output" | ||
if [[ $output == *[WE]:\ * ]]; then | ||
return 1 | ||
fi | ||
} | ||
if [[ $(uname) != CYGWIN* ]]; then | ||
aptget_update || aptget_update retry || aptget_update retry | ||
fi | ||
|
||
set -e | ||
|
||
if [[ $(uname) != CYGWIN* ]]; then | ||
sudo apt-get -qq install libfreetype6-dev liblcms2-dev python3-tk\ | ||
ghostscript libffi-dev libjpeg-turbo-progs libopenjp2-7-dev\ | ||
cmake meson imagemagick libharfbuzz-dev libfribidi-dev\ | ||
sway wl-clipboard libopenblas-dev | ||
fi | ||
|
||
python3 -m pip install --upgrade pip | ||
python3 -m pip install --upgrade wheel | ||
# TODO Update condition when cffi supports 3.13 | ||
if ! [[ "$GHA_PYTHON_VERSION" == "3.13" ]]; then PYTHONOPTIMIZE=0 python3 -m pip install cffi ; fi | ||
python3 -m pip install coverage | ||
python3 -m pip install defusedxml | ||
python3 -m pip install olefile | ||
python3 -m pip install -U pytest | ||
python3 -m pip install -U pytest-cov | ||
python3 -m pip install -U pytest-timeout | ||
python3 -m pip install pyroma | ||
|
||
if [[ $(uname) != CYGWIN* ]]; then | ||
# TODO Update condition when NumPy supports 3.13 | ||
if ! [[ "$GHA_PYTHON_VERSION" == "3.13" ]]; then python3 -m pip install numpy ; fi | ||
|
||
# PyQt6 doesn't support PyPy3 | ||
if [[ $GHA_PYTHON_VERSION == 3.* ]]; then | ||
sudo apt-get -qq install libegl1 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxkbcommon-x11-0 | ||
python3 -m pip install pyqt6 | ||
fi | ||
|
||
# Pyroma uses non-isolated build and fails with old setuptools | ||
if [[ | ||
$GHA_PYTHON_VERSION == pypy3.9 | ||
|| $GHA_PYTHON_VERSION == 3.8 | ||
|| $GHA_PYTHON_VERSION == 3.9 | ||
]]; then | ||
# To match pyproject.toml | ||
python3 -m pip install "setuptools>=67.8" | ||
fi | ||
|
||
# webp | ||
pushd depends && ./install_webp.sh && popd | ||
|
||
# libimagequant | ||
pushd depends && ./install_imagequant.sh && popd | ||
|
||
# raqm | ||
pushd depends && ./install_raqm.sh && popd | ||
|
||
# extra test images | ||
pushd depends && ./install_extra_test_images.sh && popd | ||
else | ||
cd depends && ./install_extra_test_images.sh && cd .. | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
cibuildwheel==2.18.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
mypy==1.10.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
python3 -c "from PIL import Image" | ||
|
||
python3 -bb -m pytest -v -x -W always --cov PIL --cov Tests --cov-report term Tests $REVERSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# A clang-format style that approximates Python's PEP 7 | ||
# Useful for IDE integration | ||
BasedOnStyle: Google | ||
AlwaysBreakAfterReturnType: All | ||
AllowShortIfStatementsOnASingleLine: false | ||
AlignAfterOpenBracket: AlwaysBreak | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BreakBeforeBraces: Attach | ||
ColumnLimit: 88 | ||
DerivePointerAlignment: false | ||
IndentGotoLabels: false | ||
IndentWidth: 4 | ||
Language: Cpp | ||
PointerAlignment: Right | ||
ReflowComments: true | ||
SortIncludes: false | ||
SpaceBeforeParens: ControlStatements | ||
SpacesInParentheses: false | ||
TabWidth: 4 | ||
UseTab: Never |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# .coveragerc to control coverage.py | ||
|
||
[report] | ||
# Regexes for lines to exclude from consideration | ||
exclude_also = | ||
# Don't complain if non-runnable code isn't run | ||
if 0: | ||
if __name__ == .__main__.: | ||
# Don't complain about debug code | ||
if DEBUG: | ||
# Don't complain about compatibility code for missing optional dependencies | ||
except ImportError | ||
if TYPE_CHECKING: | ||
@abc.abstractmethod | ||
# Empty bodies in protocols or abstract methods | ||
^\s*def [a-zA-Z0-9_]+\(.*\)(\s*->.*)?:\s*\.\.\.(\s*#.*)?$ | ||
^\s*\.\.\.(\s*#.*)?$ | ||
|
||
[run] | ||
omit = | ||
Tests/32bit_segfault_check.py | ||
Tests/bench_cffi_access.py | ||
Tests/check_*.py | ||
Tests/createfontdatachunk.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Top-most EditorConfig file | ||
root = true | ||
|
||
[*] | ||
# Unix-style newlines with a newline ending every file | ||
end_of_line = lf | ||
insert_final_newline = true | ||
charset = utf-8 | ||
|
||
# Four-space indentation | ||
indent_size = 4 | ||
indent_style = space | ||
|
||
trim_trailing_whitespace = true | ||
|
||
[*.{toml,yml}] | ||
# Two-space indentation | ||
indent_size = 2 | ||
|
||
# Tab indentation (no size specified) | ||
[Makefile] | ||
indent_style = tab |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Flake8 | ||
8de95676e0fd89f2326b3953488ab66ff29cd2d0 | ||
# Format with Black | ||
53a7e3500437a9fd5826bc04758f7116bd7e52dc | ||
# Format the C code with ClangFormat | ||
46b7e86bab79450ec0a2866c6c0c679afb659d17 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
*.eps binary | ||
*.ppm binary | ||
*.container binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Contributing to Pillow | ||
|
||
Bug fixes, feature additions, tests, documentation and more can be contributed via [issues](https://github.com/python-pillow/Pillow/issues) and/or [pull requests](https://github.com/python-pillow/Pillow/pulls). All contributions are welcome. | ||
|
||
## Bug fixes, feature additions, etc. | ||
|
||
Please send a pull request to the `main` branch. Please include [documentation](https://pillow.readthedocs.io) and [tests](../Tests/README.rst) for new features. Tests or documentation without bug fixes or feature additions are welcome too. Feel free to ask questions [via issues](https://github.com/python-pillow/Pillow/issues/new), [discussions](https://github.com/python-pillow/Pillow/discussions/new), [Gitter](https://gitter.im/python-pillow/Pillow) or irc://irc.freenode.net#pil | ||
|
||
- Fork the Pillow repository. | ||
- Create a branch from `main`. | ||
- Develop bug fixes, features, tests, etc. | ||
- Run the test suite. You can enable GitHub Actions (https://github.com/MY-USERNAME/Pillow/actions) and [AppVeyor](https://ci.appveyor.com/projects/new) on your repo to catch test failures prior to the pull request, and [Codecov](https://codecov.io/gh) to see if the changed code is covered by tests. | ||
- Create a pull request to pull the changes from your branch to the Pillow `main`. | ||
|
||
### Guidelines | ||
|
||
- Separate code commits from reformatting commits. | ||
- Provide tests for any newly added code. | ||
- Follow PEP 8. | ||
- When committing only documentation changes please include `[ci skip]` in the commit message to avoid running tests on AppVeyor. | ||
- Include [release notes](https://github.com/python-pillow/Pillow/tree/main/docs/releasenotes) as needed or appropriate with your bug fixes, feature additions and tests. | ||
- Do not add to the [changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) for proposed changes, as that is updated after changes are merged. | ||
|
||
## Reporting Issues | ||
|
||
When reporting issues, please include code that reproduces the issue and whenever possible, an image that demonstrates the issue. Please upload images to GitHub, not to third-party file hosting sites. If necessary, add the image to a zip or tar archive. | ||
|
||
The best reproductions are self-contained scripts with minimal dependencies. If you are using a framework such as plone, Django, or buildout, try to replicate the issue just using Pillow. | ||
|
||
### Provide details | ||
|
||
- What did you do? | ||
- What did you expect to happen? | ||
- What actually happened? | ||
- What versions of Pillow and Python are you using? | ||
|
||
## Security vulnerabilities | ||
|
||
Please see our [security policy](https://github.com/python-pillow/Pillow/blob/main/.github/SECURITY.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
tidelift: "pypi/pillow" |
Oops, something went wrong.