Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: andy-held/opencv-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: opencv/opencv-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.

Commits on Sep 5, 2019

  1. opencv 3.4.6

    skvark committed Sep 5, 2019
    Copy the full SHA
    0916031 View commit details
  2. Copy the full SHA
    3c8cf39 View commit details
  3. Copy the full SHA
    29ddb36 View commit details
  4. update travis xcode 8 to 8.3

    skvark committed Sep 5, 2019
    Copy the full SHA
    22efb62 View commit details
  5. Fixed typo

    vallentin authored and skvark committed Sep 5, 2019
    Copy the full SHA
    52ab1f0 View commit details
  6. Revert "update travis xcode 8 to 8.3"

    This reverts commit 5288ba5.
    skvark committed Sep 5, 2019
    Copy the full SHA
    27c2374 View commit details
  7. remove --merge

    skvark committed Sep 5, 2019
    Copy the full SHA
    356a968 View commit details
  8. Revert "remove --merge"

    This reverts commit 0e788e2.
    skvark committed Sep 5, 2019
    Copy the full SHA
    10be7e5 View commit details
  9. try --force

    skvark committed Sep 5, 2019
    Copy the full SHA
    e78ecbd View commit details
  10. Remove redundant language:generic

    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    c824854 View commit details
  11. Copy the full SHA
    008134f View commit details
  12. * No need for both OPENCV_PYTHON{2,3}_INSTALL_PATH in cmake args

    * Add explanation to more obscure cmake args
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    059fea0 View commit details
  13. Upgrade to Xcode 8.3

    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    1b6fa44 View commit details
  14. Copy the full SHA
    10c7cfa View commit details
  15. Fix/improve travis_osx_brew_cache & caching logic

    * fix built bottle & metadata cleanup when bottle is missing
    * -e mode for before_cache step
    * faster finish when already the latest version
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    e7a5b66 View commit details
  16. Update caching logic to support new Homebrew in OSX 10.12

    * disable auto `brew cleanup`
    * support formulae with disabled bottles
    * install alongside to avoid "runtime dependents" update
      https://discourse.brew.sh/t/can-i-install-a-new-version-without-having-to-upgrade-runtime-dependents/4443
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    5916c66 View commit details
  17. Copy the full SHA
    6af897d View commit details
  18. Copy the full SHA
    6e8f516 View commit details
  19. Adapt setup.py hook for skbuild 0.9.0

    Admin authored and skvark committed Sep 5, 2019
    Copy the full SHA
    cbfa320 View commit details
  20. Reduce the amount of trace output

    * Reduce the number of command lines executed in most used functions
    * List existing versions only when installing
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    b9350e7 View commit details
  21. Use 2 stages for MacOS builds

    * Add a dedicated stage to each OSX build to download/build brew packages
    * Remove bottle building logic and the corresponding trace output from the project build stage
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    7af6a35 View commit details
  22. Copy the full SHA
    2c8282f View commit details
  23. Copy the full SHA
    81e4987 View commit details
  24. Copy the full SHA
    02ab557 View commit details
  25. update README

    skvark committed Sep 5, 2019
    Copy the full SHA
    ae953ca View commit details
  26. Copy the full SHA
    3025220 View commit details
  27. upgrade six...

    skvark committed Sep 5, 2019
    Copy the full SHA
    9aa34f7 View commit details
  28. update README

    skvark committed Sep 5, 2019
    Copy the full SHA
    2fa6173 View commit details
  29. fix macOS deployment phase

    skvark committed Sep 5, 2019
    Copy the full SHA
    630df31 View commit details
  30. Copy the full SHA
    54cbe08 View commit details
  31. Copy the full SHA
    d3c3882 View commit details
  32. Copy the full SHA
    ea088a9 View commit details
  33. Copy the full SHA
    bf365e1 View commit details
  34. Copy the full SHA
    df122a0 View commit details
  35. Copy the full SHA
    8e23e98 View commit details
  36. Copy the full SHA
    a22f8bf View commit details
  37. Copy the full SHA
    6769716 View commit details
  38. Copy the full SHA
    87902b0 View commit details
  39. Revert "Use latest cmake for the main build, too, with better Python …

    …support
    
    This reverts commit d4a5198.
    
    cmake 3.14 can't find py3 installation when "python" points to Python 3 while cmake 3.9 can
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    61ddc1a View commit details
  40. Travis CI: Xenial is now the default Ubuntu in Travis

    https://blog.travis-ci.com/2019-04-15-xenial-default-build-environment
    
    Also: __sudo: required__ no longer is [Travis are now recommending removing the __sudo__ tag](https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration) because the sudo command is always available in Travis CI and there is no longer any way to turn it off.
    cclauss authored and skvark committed Sep 5, 2019
    Copy the full SHA
    8f08f38 View commit details
  41. Allow passing custom CMake arguments

    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    a229f27 View commit details
  42. Added OpenSSL & various protocol support to FFmpeg backend (opencv#229)

    * Added OpenSSL & different protocol support to FFmpeg backend
    - Fixed Docker dependencies (both x86 & x86-64)
    - Fixes bug opencv#204
    
    * Additional Fixes
    - updates to OpenSSL build from scratch
    - removed specific protocol
    - Added neccessary dependency
    
    * Fixed ./Configure command
    
    * Updates for docker images:
    - Added perl build from scratch
    - Fixed wrong/redundant dependencies/paths
    - Fixed & updated openssl installation
    
    * Fixed Empty continuation lines bug & added comments
    
    * fix inconsitent spacing
    
    * Don't add perl 5.10 to PATH
    
    * fix syntax error
    
    * Fixed OpenSSL build fails in i686 Dockerfile due to buggy perl source
    
    * Fixing manylinux docker entrypoint for i686 in 32 bit images
    
    * ENTRYPOINT not needed, it only affects "docker run" invocations
    
    * manylinux1 provides better libcurl for cmake
    
    * manylinux1 provides the toolchain and git
    
    git install fails in i686, too
    
    * cleanup tar invocations
    
    * nasm is not installed in manylinux1
    
    * detect i686 in openssl configure
    
    * move perl to a separate subtree as it's a private dependency
    
    * rm it after library build
    
    * comment unusual openssl build step
    
    * avoid redundant work in perl build
    
    * build each library in a separate dockerfile command for easier debugging
    
    * comment custom i686 step
    
    * update dockerfile README
    
    * opencv now bundles libjpeg-turbo
    
    and the separate's onre buid fails dueto expired certificate at https://kent.dl.sourceforge.net
    abhiTronix authored and skvark committed Sep 5, 2019
    Copy the full SHA
    a7019ef View commit details
  43. Including a custom libjpeg is no longer needed (opencv#231)

    * Including a custom libjpeg is no longer needed
    
    Since opencv/opencv#11497, OpenCV bundles its own
    
    * (dummy commit to trigger rebuild)
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    9b41acd View commit details
  44. Use Travis workspaces (opencv#228)

    * Use one job for MacOS Homebrew builds cache with Travis workspaces
    
    * Brew build job needs to both feed to other jobs and cache between builds
    
    * Move Linux jobs to the Final stage
    
    With only 1 OSX job in S1, the Linux part is now the critical path and holds the build time back
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    9f1a442 View commit details
  45. Don't build unused Qt features; use all cores (opencv#236)

    * Don't build unused Qt features; use all cores
    
    * cmake does bootstrapping, too; comment unclear steps
    
    * Use Docker comment syntax
    
    * tab to space
    native-api authored and skvark committed Sep 5, 2019
    Copy the full SHA
    3126712 View commit details
  46. Copy the full SHA
    5582b2e View commit details
  47. Copy the full SHA
    ca9a527 View commit details

Commits on Sep 7, 2019

  1. add std=c++11

    skvark committed Sep 7, 2019
    Copy the full SHA
    efb20ee View commit details
  2. remove flag

    skvark committed Sep 7, 2019
    Copy the full SHA
    6093cc6 View commit details
  3. try another flag

    skvark committed Sep 7, 2019
    Copy the full SHA
    358097f View commit details
224 changes: 224 additions & 0 deletions .github/workflows/build_wheels_linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
name: Build PYPI wheels for opencv-python on Linux x86_64

on:
pull_request:
branches:
- master
- 3.4
paths-ignore:
- '.github/workflows/build_wheels_linux_arm.yml'
- '.github/workflows/build_wheels_windows*'
- '.github/workflows/build_wheels_macos*'
release:
types: [published, edited]


jobs:
build:
runs-on: ubuntu-20.04
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
python-version: ['3.6']
platform: [x64]
with_contrib: [0, 1]
without_gui: [0, 1]
build_sdist: [0]
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
REPO_DIR: .
BUILD_COMMIT: master
PROJECT_SPEC: opencv-python
MB_PYTHON_VERSION: ${{ matrix.python-version }}
TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
MB_ML_VER: 2014
TRAVIS_BUILD_DIR: ${{ github.workspace }}
CONFIG_PATH: travis_config.sh
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20220628
USE_CCACHE: 0
UNICODE_WIDTH: 32
PLAT: x86_64
SDIST: ${{ matrix.build_sdist || 0 }}
ENABLE_HEADLESS: ${{ matrix.without_gui }}
ENABLE_CONTRIB: ${{ matrix.with_contrib }}
steps:
- name: Cleanup
run: find . -mindepth 1 -delete
working-directory: ${{ github.workspace }}
- name: Checkout
uses: actions/checkout@v2
with:
submodules: false
fetch-depth: 0
- name: Update submodules
if: github.event_name == 'pull_request'
run: git submodule update --remote
- name: Build a package
run: source scripts/build.sh
- name: Saving all wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: wheelhouse/opencv*.whl
- name: Saving a wheel accordingly to matrix
uses: actions/upload-artifact@v2
with:
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
path: wheelhouse/opencv*.whl

test:
needs: [build]
runs-on: ubuntu-20.04
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
platform: [x64]
with_contrib: [0, 1]
without_gui: [0, 1]
build_sdist: [0]
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
MB_PYTHON_VERSION: ${{ matrix.python-version }}
NP_TEST_DEP: numpy==1.19.4
NP_TEST_DEP_LATEST: numpy==1.21.2
CONFIG_PATH: travis_config.sh
PLAT: x86_64
steps:
- name: Cleanup
run: find . -mindepth 1 -delete
working-directory: ${{ github.workspace }}
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Setup Environment variables
run: if [ "3.10" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi
- name: Download a wheel accordingly to matrix
uses: actions/download-artifact@v2
with:
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
path: wheelhouse/
- name: Package installation and run tests
run: source scripts/install.sh

build_sdist:
runs-on: ubuntu-20.04
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
python-version: [3.8]
platform: [x64]
with_contrib: [0, 1]
without_gui: [0, 1]
build_sdist: [1]
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
REPO_DIR: .
BUILD_COMMIT: master
PROJECT_SPEC: opencv-python
PLAT: x86_64
MB_PYTHON_VERSION: ${{ matrix.python-version }}
TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
MB_ML_VER: 2014
NP_TEST_DEP: numpy==1.19.4
TRAVIS_BUILD_DIR: ${{ github.workspace }}
CONFIG_PATH: travis_config.sh
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20220628
USE_CCACHE: 1
UNICODE_WIDTH: 32
SDIST: ${{ matrix.build_sdist || 0 }}
ENABLE_HEADLESS: ${{ matrix.without_gui || 0 }}
ENABLE_CONTRIB: ${{ matrix.with_contrib || 0 }}
steps:
- name: Cleanup
run: find . -mindepth 1 -delete
working-directory: ${{ github.workspace }}
- name: Checkout
uses: actions/checkout@v2
with:
submodules: false
fetch-depth: 0
- name: Update submodules
if: github.event_name == 'pull_request'
run: git submodule update --remote
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.platform }}
- name: Build a package
run: |
set -e
# Build and package
set -x
python -m pip install --upgrade pip
python -m pip install scikit-build
python setup.py sdist --formats=gztar
set +x
# Install and run tests
set -x
echo "skipping tests because of sdist"
- name: saving artifacts
uses: actions/upload-artifact@v2
with:
name: wheels
path: dist/opencv*.tar.gz

test_release_opencv_python:
if: github.event_name == 'release' && github.event.release.prerelease
needs: [build, build_sdist, test]
runs-on: ubuntu-20.04
environment: test-opencv-python-release
defaults:
run:
shell: bash
steps:
- uses: actions/download-artifact@v2
with:
name: wheels
path: wheelhouse/
- name: Upload all wheels
run: |
python -m pip install twine
python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_* wheelhouse/opencv-*
release_opencv_python:
if: github.event_name == 'release' && !github.event.release.prerelease
needs: [build, build_sdist, test]
runs-on: ubuntu-20.04
environment: opencv-python-release
defaults:
run:
shell: bash
steps:
- uses: actions/download-artifact@v2
with:
name: wheels
path: wheelhouse/
- name: Upload wheels for opencv_python
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-* wheelhouse/opencv-python-[^h]*
- name: Upload wheels for opencv_contrib_python
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-* wheelhouse/opencv-contrib-python-[^h]*
- name: Upload wheels for opencv_python_headless
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-* wheelhouse/opencv-python-headless-*
- name: Upload wheels for opencv_contrib_python_headless
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python_headless-* wheelhouse/opencv-contrib-python-headless-*
159 changes: 159 additions & 0 deletions .github/workflows/build_wheels_linux_arm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
name: Build PYPI wheels for opencv-python on Linux ARM

on:
pull_request:
branches:
- master
- 3.4
paths-ignore:
- '.github/workflows/build_wheels_linux.yml'
- '.github/workflows/build_wheels_windows*'
- '.github/workflows/build_wheels_macos*'
release:
types: [published, edited]


jobs:
build_arm:
runs-on: opencv-cn-lin-arm64
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
python-version: ['3.6']
platform: [x64]
with_contrib: [0, 1]
without_gui: [0, 1]
build_sdist: [0]
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
REPO_DIR: .
BUILD_COMMIT: master
PROJECT_SPEC: opencv-python
MB_PYTHON_VERSION: ${{ matrix.python-version }}
TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
PLAT: aarch64
MB_ML_VER: 2014
TRAVIS_BUILD_DIR: ${{ github.workspace }}
CONFIG_PATH: travis_config.sh
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20220628
USE_CCACHE: 0
UNICODE_WIDTH: 32
SDIST: ${{ matrix.build_sdist || 0 }}
ENABLE_HEADLESS: ${{ matrix.without_gui }}
ENABLE_CONTRIB: ${{ matrix.with_contrib }}
steps:
- name: UID
run: id -u
- name: Cleanup
run: find . -mindepth 1 -delete
working-directory: ${{ github.workspace }}
- name: Checkout
uses: actions/checkout@v2
with:
submodules: false
fetch-depth: 0
- name: Build a package
run: source scripts/build.sh
- name: Saving all wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: wheelhouse/opencv*.whl
- name: Saving a wheel accordingly to matrix
uses: actions/upload-artifact@v2
with:
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
path: wheelhouse/opencv*.whl

test:
needs: [build_arm]
runs-on: opencv-cn-lin-arm64
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
platform: [x64]
with_contrib: [0, 1]
without_gui: [0, 1]
build_sdist: [0]
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
MB_PYTHON_VERSION: ${{ matrix.python-version }}
PLAT: aarch64
NP_TEST_DEP: numpy==1.19.4
NP_TEST_DEP_LATEST: numpy==1.21.4
CONFIG_PATH: travis_config.sh
DOCKER_TEST_IMAGE: multibuild/focal_arm64v8
UNICODE_WIDTH: 32
steps:
- name: Cleanup
run: find . -mindepth 1 -delete
working-directory: ${{ github.workspace }}
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Setup Environment variables
run: if [ "3.10" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi
- name: Download a wheel accordingly to matrix
uses: actions/download-artifact@v2
with:
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
path: wheelhouse/
- name: Package installation and run tests
run: source scripts/install.sh

test_release_opencv_python:
if: github.event_name == 'release' && github.event.release.prerelease
needs: [build_arm, test]
runs-on: ubuntu-20.04
environment: test-opencv-python-release
defaults:
run:
shell: bash
steps:
- uses: actions/download-artifact@v2
with:
name: wheels
path: wheelhouse/
- name: Upload all wheels
run: |
python -m pip install twine
python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_*
release_opencv_python:
if: github.event_name == 'release' && !github.event.release.prerelease
needs: [build_arm, test]
runs-on: ubuntu-20.04
environment: opencv-python-release
defaults:
run:
shell: bash
steps:
- uses: actions/download-artifact@v2
with:
name: wheels
path: wheelhouse/
- name: Upload wheels for opencv_python
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-*
- name: Upload wheels for opencv_contrib_python
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-*
- name: Upload wheels for opencv_python_headless
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-*
- name: Upload wheels for opencv_contrib_python_headless
run: |
python -m pip install twine
python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python_headless-*
Loading