Commit Graph

489 Commits

Author SHA1 Message Date
Andrew Murray
5aae369c94 Added homebrew zlib include directory 2020-08-06 23:14:49 +10:00
Andrew Murray
43fca3dcd3 Replaced distutils build_ext with setuptools 2020-07-31 19:14:43 +10:00
Hugo van Kemenade
10615a7da7 Upgrade Python syntax for 3.6+
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Andrew Murray
73f51ae484 Removed distutils from MinGW detection 2020-07-26 21:01:25 +10:00
Andrew Murray
7c576adb19 Simplified code 2020-07-24 19:58:17 +10:00
Hugo van Kemenade
307239b234 Replace distutils.sysconfig.get_config_var("prefix") with os.path.normpath(sys.prefix) 2020-07-21 11:23:38 +03:00
Hugo
6cdeb55118 Drop support for soon-EOL Python 3.5 2020-06-30 13:55:08 +03:00
nulano
82204d54cf fix #2848 2020-05-24 01:07:42 +02:00
Andrew Murray
ac7848c781 Lint fix 2020-05-20 20:31:14 +10:00
Christoph Gohlke
7daca6733d
Fix ImportError on Python 3.9.0b1 for Windows 2020-05-19 15:35:32 -07:00
Hugo
dda6145fce Since Python 3.3 IOError and WindowsError have been merged into OSError 2020-04-10 12:57:29 +03:00
Hugo van Kemenade
b5cf165f9e
Merge pull request #4260 from nulano/imagegrab_xcb
ImageGrab.grab() for Linux with XCB
2020-03-31 23:03:21 +03:00
Blaine Bublitz
aa2ecc9afe
Update setup.py per suggestion [ci skip]
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-03-31 13:04:28 -06:00
Blaine Bublitz
137566e018 Update Tidelift UTM params [ci skip] 2020-03-31 10:25:01 -07:00
nulano
f9c74825a6 xcb screengrab fixes 2020-03-24 19:40:54 +11:00
nulano
3c39e6fcf6 xcb screengrab support 2020-03-24 19:29:44 +11:00
Jon Dufresne
e1ccc296f2 Remove deprecated pytest-runner support
The pytest-runner package is deprecated and its use is discouraged. See:

https://github.com/pytest-dev/pytest-runner/

> pytest-runner depends on deprecated features of setuptools and relies
> on features that break security mechanisms in pip. For example
> 'setup_requires' and 'tests_require' bypass pip --require-hashes. See
> also https://github.com/pypa/setuptools/issues/1684.
>
> It is recommended that you:
>
> - Remove 'pytest-runner' from your 'setup_requires', preferably
>   removing the setup_requires option.
> - Remove 'pytest' and any other testing requirements from
>   'tests_require', preferably removing the setup_requires option.
> - Select a tool to bootstrap and then run tests such as tox

Running tests should go through the tox entrypoint.
2020-01-27 08:23:34 -08:00
Alexander
5283141417 Merge branch 'master' into reduce 2019-12-05 14:23:28 +03:00
Alexander
335f5431de dummy method 2019-11-24 17:39:49 +03:00
Hugo
12a725988e Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-16 17:10:10 +02:00
Andriy Orehov
defe838917 add in a funding link for PyPi 2019-11-15 22:48:26 +02:00
Andriy Orehov
38ea1c6e03 use the more common option
change docs url
2019-11-15 18:25:20 +02:00
Andriy Orehov
4eccafc5da Add Documentation and Github URLs for PyPi 2019-11-15 14:00:18 +02:00
Hugo van Kemenade
6213a70107
Improve wording
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2019-11-15 10:25:08 +02:00
Hugo van Kemenade
3007f95c05
Update wording
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2019-11-11 21:39:47 +02:00
Hugo
01b0dbd4df Include Pillow version in Windows wheel warning 2019-11-11 16:00:17 +02:00
Hugo van Kemenade
40133cfc74
Merge branch 'master' into rm-2.7 2019-10-26 09:07:44 +03:00
Hugo
2ab518edcb Add support for Python 3.8 2019-10-15 12:44:21 +03:00
Hugo
84e53e3757 Simplify using subprocess.DEVNULL
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:42 +03:00
Hugo
810b61e78f Reinstate and simplify parallel auto-detection 2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Hugo
af770a6c55 Drop support for EOL Python 2.7 2019-10-07 14:30:59 +03:00
Hugo
cd99deff1e Fix for Python 3.10 2019-08-18 12:32:23 +03:00
Andrew Murray
3fbea03026 Added fallback for finding ld on MinGW Cygwin 2019-08-11 07:23:08 +10:00
Jon Dufresne
d50445ff30 Introduce isort to automate import ordering and formatting
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.

Uses the configuration recommended by the Black to avoid conflicts of
style.

Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Alex Clark
2c041ac77e Lint fix 2019-07-03 05:32:39 -04:00
Alex Clark
c33ffca440 Add license to setup.py for #3938
Also update author name and email
2019-07-03 05:29:42 -04:00
James Le Cuirot
15cd8eda09
Respect the PKG_CONFIG environment variable when building
This variable is commonly used by other build systems and using it can
help with cross-compiling. Falls back to "pkg-config" as before.
2019-06-30 21:52:58 +01:00
Jeffery To
4119d3015b Include CPPFLAGS when searching for libraries
This adds CPPFLAGS to the list of environment variables (currently
CFLAGS and LDFLAGS) searched when looking for includes and library
directories, as CPPFLAGS may also include -I options.
2019-06-23 12:06:06 +10:00
Hugo
471220093b Format with Black 2019-06-13 18:54:57 +03:00
Andrew Murray
303465d38a Detect libimagequant when installed by pacman on MingW 2019-04-27 23:05:52 +10:00
hugovk
bab5d068bf Update licence to HPND 2019-03-26 22:02:55 +02:00
hugovk
7d2319129f Sort classifiers 2019-03-26 21:47:29 +02:00
Hugo
d6055440d5 Drop support for EOL Python 3.4 2019-01-24 23:33:14 +02:00
Jon Dufresne
eccef43837 Remove unused _tkinter var from setup.py
Unused since 659e294676.
2019-01-11 20:27:44 -08:00
Hugo van Kemenade
871db4e91a
Merge pull request #3529 from pslacerda/fix/3526
Fix build for Termux
2019-01-05 12:03:25 +02:00
Pedro Lacerda
e09ee7a5df
Fix build for Termux
`_find_library_dirs_ldconfig` can return an empty list when `ldconfig` is missing, then `setup.py` can continue guessing library directories.

fixes #3526
2019-01-02 13:38:33 -03:00
Hugo
5ae6f160e1
Merge pull request #3245 from pslacerda/fix/3244
Lookup ld.so.cache instead of hardcoding search paths
2018-12-29 16:48:26 +02:00
Hugo
853453b934
Fix Flake8 2018-12-27 13:11:24 +02:00
Hugo
c5f066d3f6
Flake8 2018-12-26 14:05:01 +02:00
Hugo
c2b3bd5635
Merge pull request #3395 from diorcety/improve_configuration
Improve configuration
2018-12-26 13:54:16 +02:00
Hugo
ca691f232b
Remove XXX from comments 2018-12-26 13:09:12 +02:00
Andrew Murray
afb6ba5626 Added Python 3.5-3.7 AppVeyor builds 2018-10-08 19:43:11 +11:00
Yann Diorcet
ddb01ac67e Add environment variables for settings component prefixes 2018-10-04 10:32:10 +02:00
Yann Diorcet
9bdb9d8bef Fix pkg-config call 2018-09-28 10:58:03 +02:00
Andrew Murray
d4000a8f72
Merge pull request #3355 from radarhere/freetype_version
Removed unnecessary line
2018-09-26 06:36:05 +10:00
Andrew Murray
d8dfc6fc1c Removed unnecessary line 2018-09-15 07:29:21 +10:00
Andrew Murray
e94878c8a8 Simplified duplicate code 2018-09-15 06:26:40 +10:00
Virgil Dupras
64bce1a583 Fix builds with --parallel
Python 3.5's distutils added support for parallel builds, which means
that we don't need to monkeypatch it anymore. But more importantly, this
monkeypatch made build fail (hang in fact) whenever `--parallel` was
passed to `python setup.py build`.

This commit fixes the problem by not applying the monkeypatch on
python 3.5+ and preserve the old behavior (parallel build by default) by
injecting a `parallel` option when it's not specified.
2018-08-05 11:38:22 -04:00
Pedro Lacerda
9f6c708aa3 Simplify library dirs search with ldconfig 2018-07-13 13:16:29 -03:00
Andrew Murray
c2189235af Line too long 2018-07-02 19:26:02 +10:00
Daniel Plakhotich
1d20056234 TGA: Add support for writing RLE data 2018-06-15 23:01:06 +03:00
Hugo
0c438db926
Merge pull request #3076 from hugovk/add-3.7
Support Python 3.7
2018-04-25 11:20:31 +03:00
Alexander
6958ce1700 Rename PIL.version to PIL._version and remove it from module 2018-04-09 16:09:36 +03:00
Alexander Karpinsky
e24fad40ad
Merge pull request #3056 from uploadcare/color-LUT
3D Color lookup tables
2018-04-09 10:41:44 +03:00
Hugo
fe0b78b98d Support Python 3.7 2018-04-05 13:52:48 +03:00
Andrew Murray
7a4bfdc955 Updated URL 2018-04-05 06:29:14 +10:00
Alexander
853208c65f color 3D LUT, just start 2018-03-25 15:49:42 +03:00
Andrew Murray
c13ccf13a1 Added missing whitespace 2018-03-06 19:53:07 +11:00
wiredfool
7e4fdb1097
Merge pull request #2968 from nehaljwani/libdirs-ppc64le-armv7l
Add libdirs for ppc64le and armv7l
2018-01-24 10:52:27 +00:00
Nehal J Wani
788128e84f
Add libdirs for ppc64le and armv7l
This patch has been taken from:
http://pkgs.fedoraproject.org/cgit/rpms/python-pillow.git/tree/python-pillow_libdirs.patch
2018-01-21 21:03:35 +05:30
Hugo
8edbc79e7f Fix "TypeError: 'NoneType' object is not iterable" for PPC and CRUX 2018-01-11 12:45:52 +02:00
Hugo
e92e730597
Merge pull request #2935 from wiredfool/crc
Remove _imaging.crc32 in favor or builtin python crc32 implementation
2018-01-06 20:43:35 +02:00
Eric Soroos
4bc33d3e4a Remove _imaging.crc32 in favor or builtin python crc32 implementation 2018-01-05 15:53:50 +00:00
Hugo
3916563a1b Move Tk files to src 2018-01-04 09:33:10 +02:00
wiredfool
0bb3f4fee9 source layout reorg 2017-12-28 14:49:47 +00:00
hugovk
5592163564 pytest no longer supports EOL Python 3.3 2017-12-28 14:48:19 +00:00
Hugo
3515ae3d9e Test with coverage on Windows, update 'setup.py test' 2017-12-28 14:48:19 +00:00
wiredfool
e9a115ff46
Merge pull request #2753 from wiredfool/dynamic-raqm
Dynamically link libraqm
2017-12-28 14:24:32 +00:00
wiredfool
cbc78d7e2a
Merge pull request #2901 from wiredfool/remove-scripts
Removed scripts directory
2017-12-27 20:47:56 +00:00
wiredfool
097ebf7fb6 Removed scripts directory, added to it's own package
See https://github.com/python-pillow/pillow-scripts
2017-12-21 21:36:22 +00:00
Eric Soroos
a4b7a6d215 Dynamically load libraqm, now an optional runtime dependency 2017-12-20 15:37:37 +00:00
Eric Soroos
60e29e5e8d dropping tiff_lzw implementation 2017-12-20 14:40:58 +00:00
Hugo
a73b951f05 flake8 2017-12-04 15:36:12 +02:00
Hugo
1889b3f1f4 Specify compatible Python versions for pip 2017-12-04 15:36:12 +02:00
Hugo
308f3b4c39 Add licence classifier 2017-11-29 11:23:46 +02:00
wiredfool
753b61e4e3
Merge pull request #2855 from hugovk/warn-win-3.7
Warn if trying to install for Py3.7 on Windows
2017-11-25 13:28:21 +00:00
Eric Soroos
9f9dc9379d Replace deprecated platform.dist with file existence check 2017-11-22 09:08:49 +00:00
hugovk
e3da10ea5e Warn if trying to install for Py3.7 on Windows 2017-11-14 16:47:59 +02:00
Eric Soroos
3d4045ecfe refactored linux platform detection 2017-11-13 13:26:17 +00:00
Eric Soroos
8d9282dd01 promote self.add_multiarch_paths() 2017-11-13 13:26:17 +00:00
Jon Dufresne
9175706300 Allow the olefile dependency to be optional
Support for plugins requiring olefile will not be loaded if it is not
installed. Allows library consumers to avoid installing this dependency
if they choose. Some library consumers have little interest in the
format support and would like to keep dependencies to a minimum.
2017-10-04 06:54:34 -07:00
Mickael B
a90dc49100 add RLE decompression for SGI images 2017-09-29 09:12:03 +00:00
Eric Soroos
973787e240 flags to fix building on mingw 2017-09-19 21:19:03 +00:00
Eric Soroos
a1ebae255c basic support for termux (android) support (tested on chromeos/x86) 2017-08-09 13:22:58 +01:00
wiredfool
3f3eb99ff9 Fix version specification on pypy/windows 2017-07-03 23:05:25 +01:00
wiredfool
8feac899dd Merge pull request #2576 from wiredfool/pr_2284
Complex Text Support
2017-07-01 10:45:18 +01:00
wiredfool
dc04930699 Merge pull request #2517 from wiredfool/single_version
RFC: Specify Version in one place
2017-06-29 13:17:02 +01:00
Fahad Al-Saidi
538cec323b fix setup.py 2017-06-21 14:00:14 -07:00
shamsa
326e23d3e6 fallback code 2017-06-21 14:00:13 -07:00
shamsa
0b178edbc8 Add complex text support.
This pull request adds support for languages that require complex text layout.

We are using the Raqm library, that wraps FriBidi (for bidirectional
text support) and HarfBuzz (for text shaping), and does proper BiDi and script
itemization:
https://github.com/HOST-Oman/libraqm

This should fix #1089.
2017-06-21 14:00:13 -07:00
wiredfool
edc8d8627c Fix to ensure that define is interpreted as a string on windows 2017-06-21 05:44:24 -07:00
Melvyn Sopacua
5d7480a91b Add the FIXME and remove debug code 2017-05-26 13:48:38 +02:00
Melvyn Sopacua
092d97f829 Fix compilation on FreeBSD with 2 openjpegs
When openjpeg 1.5 is installed (Calligra 2.x, for example) and OpenJPEG
2.1 is installed, the subdirectory is added twice.

Since the 2nd time is ignored, it is ranked after the more general
/usr/local/include and openjpeg.h from the 1.5 version is picked up.

Fix this in a more general way:
- If a directory is added that already is in path
- But where is specified

Then remove the subdir from path and insert it at the spot requested.

A FIXME is added to the code bit explaining the real issue, but lack
investigative spirit / time to dive down the rabbit hole.
2017-05-26 13:44:26 +02:00
wiredfool
67d6e00751 py3x fixes 2017-05-10 04:59:37 -07:00
wiredfool
8999ccb570 single version for build 2017-05-10 03:47:02 -07:00
wiredfool
2ac4f79e8c 4.2.0.pre0 version bump 2017-04-19 03:02:45 -07:00
wiredfool
38eff74004 4.1.0 version bump 2017-04-04 11:10:22 -07:00
wiredfool
949932f45f Pure Python MSP Decoder 2017-03-11 13:50:19 +00:00
Andrew Murray
0f383d7c7e Removed unused private functions 2017-02-18 16:29:26 +11:00
Hugo
53e5702557 Update http to https 2017-02-14 11:27:02 +02:00
Hugo
8b2681e369 Merge pull request #2357 from radarhere/zlib
Updated zlib to 1.2.11
2017-01-19 20:51:58 +02:00
Andrew Murray
a46ce022e7 Removed warning about zlib 1.2.2 security vulnerability 2017-01-19 19:46:09 +11:00
wiredfool
c1b510c72c Merge pull request #2307 from radarhere/contextmanagers
Added context managers
2017-01-17 13:20:41 +00:00
wiredfool
296fb5fe1d 4.1.0.dev0 version bump 2017-01-02 04:06:48 -08:00
wiredfool
3f6db91ccc Fixed typo in version 2017-01-02 03:45:39 -08:00
wiredfool
a021d4978d 4.0.0 version bump 2017-01-01 20:20:06 +00:00
Andrew Murray
a06dd59df7 Added context managers 2016-12-28 09:54:10 +11:00
Andrew Murray
d4a6e07367 Added documentation for Python 3.6 support 2016-12-27 02:28:11 -08:00
wiredfool
80b78be21a Merge pull request #2199 from jdufresne/dep-olefile
Remove vendored version of olefile Python package in favor of upstream
2016-12-13 20:12:29 +00:00
Alexander
9c38253733 set executable flag on setup.py and add shebang 2016-12-04 18:59:53 +03:00
Jon Dufresne
52b1f46b12 Deprecate vendored version of olefile Python package in favor of upstream
Pillow now requires the olefile Python package through setup.py.

This removes Pillow's maintenance of this library by instead relying on
and reusing the upstream version. No longer need to regularly update the
vendored package and docs. olefile bug fixes and features can go
directly upstream.

During travis tests, now installs Pillow package before tests; this will
also install all dependencies (currently, only olefile).
2016-11-22 18:17:31 -08:00
Jon Dufresne
85cf6d3140 Drop support for Python 3.2 2016-11-22 04:24:40 -08:00
Jon Dufresne
dbe9f85c7d Drop support for Python 2.6
* Drop unittest2 requirement
* Use set literals
* Use dict/set comprehension
* Use str.format() automatic numbering
2016-11-22 04:23:55 -08:00
wiredfool
70c2df21ca Merge pull request #2213 from wiredfool/setup
Raise custom exceptions when required/requested items are not found
2016-11-22 12:14:57 +00:00
Jon Dufresne
ffa5bc2726 Use generator expressions instead of list comprehension
Avoids unnecessary temporary lists in memory.
2016-11-14 18:11:15 -08:00
wiredfool
8b596600af renamed Default->Required dependency exception 2016-11-11 09:12:07 -08:00
wiredfool
015e8cc266 raise custom exceptions when required/requested items are not found 2016-11-11 09:09:19 -08:00
wiredfool
915dd05f22 Merge pull request #2208 from jdufresne/setup-py-open
Close file in setup.py after finished reading
2016-11-11 16:58:59 +00:00
Rok Garbas
993969790b optionaly use pkg-config (when present) to detect *_ROOTs
* only run pkg-config when building exttensions
* print debug messages when using pkg-config
* silance error from pkg-config by default
* first search for libtiff-5 then libtiff-4
2016-11-11 08:33:58 -08:00
Jon Dufresne
e2e4d180f9 Close file in setup.py after finished reading
Fixes a "ResourceWarning: unclosed file" during tests.
2016-11-08 17:55:46 -08:00
Jon Dufresne
e44bb42ae9 Replace type() equality checks with isinstance 2016-10-31 06:41:43 -07:00
Andrew Murray
0be156936a Updated setup url to https 2016-10-23 12:44:23 +11:00
wiredfool
35e1237b7e 3.5.0.dev0 Dev Version bump 2016-10-04 00:18:33 -07:00
wiredfool
ac5a212cee 3.4.0 Release Version bump 2016-10-03 08:00:29 -07:00
Tim Graham
0c66b80a95 Fix "invalid escape sequence" warning in Python 3.6
http://bugs.python.org/issue27364
2016-09-27 19:26:57 -04:00
Robert Nix
18a91cebcf Move DDS decoders to C
- Fixed inaccurate BC1/BC3 texture decoding
2016-08-25 19:27:48 -05:00
homm
1ba4e9e5ba remove end of file banner from all files 2016-07-10 14:11:28 +03:00
wiredfool
2023c7cea1 Version 3.4.0.pre version bump 2016-07-01 07:20:31 -07:00
wiredfool
4f4c982229 3.3.0 Release Version Bump 2016-07-01 05:57:19 -07:00
wiredfool
b152d99d66 refactor to different file 2016-06-27 00:58:06 -07:00
wiredfool
d3b0413780 Initial take for removing the Incremental decoder due to threading issues. J2k tests pass, other tests fail 2016-06-27 00:58:05 -07:00
wiredfool
eb28cc9d0f Merge pull request #1932 from matthew-brett/run-time-tcl-tk
RF: run-time loading of Tcl / Tk functions
2016-06-11 15:27:29 +01:00
wiredfool
ac51f1ee37 Fixes to run cleanly on alpine linux 2016-05-30 06:28:08 -07:00
Matthew Brett
659e294676 RF: run-time loading of Tcl / Tk functions
Discover Tcl / Tk functions at run-time by looking in libs loaded by
Tkinter Python module.

Use header excerpts from Tcl / Tk so we don't need an installed Tcl / Tk
to build.
2016-05-27 16:51:08 -04:00
wiredfool
3657bc10a6 Merge pull request #1889 from rr-/libpngquant
Add libimagequant support in quantize()
2016-05-26 21:12:25 +01:00
wiredfool
f0fee4bec4 Merge pull request #1883 from wiredfool/pr_1768_alt
Added --disable-osx-tcltk-framework in setup.py
2016-05-23 22:40:27 +01:00
rr-
eb354be7c4 Add method=Image.LIBIMAGEQUANT for quantize() 2016-05-05 21:39:16 +02:00
wiredfool
85386c5ac7 Merge pull request #1879 from radarhere/subprocess
Replaced os.system with subprocess.call
2016-05-05 16:30:49 +01:00
Andrew Murray
31993b09ec Replaced os.system with subprocess.call 2016-05-05 06:36:08 +10:00