Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.

Overview

Downloads

OpenCV on Wheels

Pre-built CPU-only OpenCV packages for Python.

Check the manual build section if you wish to compile the bindings from source to enable additional modules such as CUDA.

Installation and Usage

  1. If you have previous/other manually installed (= not installed via pip) version of OpenCV installed (e.g. cv2 module in the root of Python's site-packages), remove it before installation to avoid conflicts.

  2. Make sure that your pip version is up-to-date (19.3 is the minimum supported version): pip install --upgrade pip. Check version with pip -V. For example Linux distributions ship usually with very old pip versions which cause a lot of unexpected problems especially with the manylinux format.

  3. Select the correct package for your environment:

    There are four different packages (see options 1, 2, 3 and 4 below) and you should SELECT ONLY ONE OF THEM. Do not install multiple different packages in the same environment. There is no plugin architecture: all the packages use the same namespace (cv2). If you installed multiple different packages in the same environment, uninstall them all with pip uninstall and reinstall only one package.

    a. Packages for standard desktop environments (Windows, macOS, almost any GNU/Linux distribution)

    • Option 1 - Main modules package: pip install opencv-python
    • Option 2 - Full package (contains both main modules and contrib/extra modules): pip install opencv-contrib-python (check contrib/extra modules listing from OpenCV documentation)

    b. Packages for server (headless) environments (such as Docker, cloud environments etc.), no GUI library dependencies

    These packages are smaller than the two other packages above because they do not contain any GUI functionality (not compiled with Qt / other GUI components). This means that the packages avoid a heavy dependency chain to X11 libraries and you will have for example smaller Docker images as a result. You should always use these packages if you do not use cv2.imshow et al. or you are using some other package (such as PyQt) than OpenCV to create your GUI.

    • Option 3 - Headless main modules package: pip install opencv-python-headless
    • Option 4 - Headless full package (contains both main modules and contrib/extra modules): pip install opencv-contrib-python-headless (check contrib/extra modules listing from OpenCV documentation)
  4. Import the package:

    import cv2

    All packages contain Haar cascade files. cv2.data.haarcascades can be used as a shortcut to the data folder. For example:

    cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

  5. Read OpenCV documentation

  6. Before opening a new issue, read the FAQ below and have a look at the other issues which are already open.

Frequently Asked Questions

Q: Do I need to install also OpenCV separately?

A: No, the packages are special wheel binary packages and they already contain statically built OpenCV binaries.

Q: Pip install fails with ModuleNotFoundError: No module named 'skbuild'?

Since opencv-python version 4.3.0.*, manylinux1 wheels were replaced by manylinux2014 wheels. If your pip is too old, it will try to use the new source distribution introduced in 4.3.0.38 to manually build OpenCV because it does not know how to install manylinux2014 wheels. However, source build will also fail because of too old pip because it does not understand build dependencies in pyproject.toml. To use the new manylinux2014 pre-built wheels (or to build from source), your pip version must be >= 19.3. Please upgrade pip with pip install --upgrade pip.

Q: Import fails on Windows: ImportError: DLL load failed: The specified module could not be found.?

A: If the import fails on Windows, make sure you have Visual C++ redistributable 2015 installed. If you are using older Windows version than Windows 10 and latest system updates are not installed, Universal C Runtime might be also required.

Windows N and KN editions do not include Media Feature Pack which is required by OpenCV. If you are using Windows N or KN edition, please install also Windows Media Feature Pack.

If you have Windows Server 2012+, media DLLs are probably missing too; please install the Feature called "Media Foundation" in the Server Manager. Beware, some posts advise to install "Windows Server Essentials Media Pack", but this one requires the "Windows Server Essentials Experience" role, and this role will deeply affect your Windows Server configuration (by enforcing active directory integration etc.); so just installing the "Media Foundation" should be a safer choice.

If the above does not help, check if you are using Anaconda. Old Anaconda versions have a bug which causes the error, see this issue for a manual fix.

If you still encounter the error after you have checked all the previous solutions, download Dependencies and open the cv2.pyd (located usually at C:\Users\username\AppData\Local\Programs\Python\PythonXX\Lib\site-packages\cv2) file with it to debug missing DLL issues.

Q: I have some other import errors?

A: Make sure you have removed old manual installations of OpenCV Python bindings (cv2.so or cv2.pyd in site-packages).

Q: Function foo() or method bar() returns wrong result, throws exception or crashes interpreter. What should I do?

A: The repository contains only OpenCV-Python package build scripts, but not OpenCV itself. Python bindings for OpenCV are developed in official OpenCV repository and it's the best place to report issues. Also please check {OpenCV wiki](https://github.com/opencv/opencv/wiki) and the official OpenCV forum before file new bugs.

Q: Why the packages do not include non-free algorithms?

A: Non-free algorithms such as SURF are not included in these packages because they are patented / non-free and therefore cannot be distributed as built binaries. Note that SIFT is included in the builds due to patent expiration since OpenCV versions 4.3.0 and 3.4.10. See this issue for more info: https://github.com/skvark/opencv-python/issues/126

Q: Why the package and import are different (opencv-python vs. cv2)?

A: It's easier for users to understand opencv-python than cv2 and it makes it easier to find the package with search engines. cv2 (old interface in old OpenCV versions was named as cv) is the name that OpenCV developers chose when they created the binding generators. This is kept as the import name to be consistent with different kind of tutorials around the internet. Changing the import name or behaviour would be also confusing to experienced users who are accustomed to the import cv2.

Documentation for opencv-python

Windows Build Status (Linux Build status) (Mac OS Build status)

The aim of this repository is to provide means to package each new OpenCV release for the most used Python versions and platforms.

CI build process

The project is structured like a normal Python package with a standard setup.py file. The build process for a single entry in the build matrices is as follows (see for example .github/workflows/build_wheels_linux.yml file):

  1. In Linux and MacOS build: get OpenCV's optional C dependencies that we compile against

  2. Checkout repository and submodules

    • OpenCV is included as submodule and the version is updated manually by maintainers when a new OpenCV release has been made
    • Contrib modules are also included as a submodule
  3. Find OpenCV version from the sources

  4. Build OpenCV

    • tests are disabled, otherwise build time increases too much
    • there are 4 build matrix entries for each build combination: with and without contrib modules, with and without GUI (headless)
    • Linux builds run in manylinux Docker containers (CentOS 5)
    • source distributions are separate entries in the build matrix
  5. Rearrange OpenCV's build result, add our custom files and generate wheel

  6. Linux and macOS wheels are transformed with auditwheel and delocate, correspondingly

  7. Install the generated wheel

  8. Test that Python can import the library and run some sanity checks

  9. Use twine to upload the generated wheel to PyPI (only in release builds)

Steps 1--4 are handled by pip wheel.

The build can be customized with environment variables. In addition to any variables that OpenCV's build accepts, we recognize:

  • CI_BUILD. Set to 1 to emulate the CI environment build behaviour. Used only in CI builds to force certain build flags on in setup.py. Do not use this unless you know what you are doing.
  • ENABLE_CONTRIB and ENABLE_HEADLESS. Set to 1 to build the contrib and/or headless version
  • ENABLE_JAVA, Set to 1 to enable the Java client build. This is disabled by default.
  • CMAKE_ARGS. Additional arguments for OpenCV's CMake invocation. You can use this to make a custom build.

See the next section for more info about manual builds outside the CI environment.

Manual builds

If some dependency is not enabled in the pre-built wheels, you can also run the build locally to create a custom wheel.

  1. Clone this repository: git clone --recursive https://github.com/opencv/opencv-python.git
  2. cd opencv-python
    • you can use git to checkout some other version of OpenCV in the opencv and opencv_contrib submodules if needed
  3. Add custom Cmake flags if needed, for example: export CMAKE_ARGS="-DSOME_FLAG=ON -DSOME_OTHER_FLAG=OFF" (in Windows you need to set environment variables differently depending on Command Line or PowerShell)
  4. Select the package flavor which you wish to build with ENABLE_CONTRIB and ENABLE_HEADLESS: i.e. export ENABLE_CONTRIB=1 if you wish to build opencv-contrib-python
  5. Run pip wheel . --verbose. NOTE: make sure you have the latest pip version, the pip wheel command replaces the old python setup.py bdist_wheel command which does not support pyproject.toml.
    • this might take anything from 5 minutes to over 2 hours depending on your hardware
  6. You'll have the wheel file in the dist folder and you can do with that whatever you wish
    • Optional: on Linux use some of the manylinux images as a build hosts if maximum portability is needed and run auditwheel for the wheel after build
    • Optional: on macOS use delocate (same as auditwheel but for macOS) for better portability

Manual debug builds

In order to build opencv-python in an unoptimized debug build, you need to side-step the normal process a bit.

  1. Install the packages scikit-build and numpy via pip.
  2. Run the command python setup.py bdist_wheel --build-type=Debug.
  3. Install the generated wheel file in the dist/ folder with pip install dist/wheelname.whl.

If you would like the build produce all compiler commands, then the following combination of flags and environment variables has been tested to work on Linux:

export CMAKE_ARGS='-DCMAKE_VERBOSE_MAKEFILE=ON'
export VERBOSE=1

python3 setup.py bdist_wheel --build-type=Debug

See this issue for more discussion: https://github.com/opencv/opencv-python/issues/424

Source distributions

Since OpenCV version 4.3.0, also source distributions are provided in PyPI. This means that if your system is not compatible with any of the wheels in PyPI, pip will attempt to build OpenCV from sources. If you need a OpenCV version which is not available in PyPI as a source distribution, please follow the manual build guidance above instead of this one.

You can also force pip to build the wheels from the source distribution. Some examples:

  • pip install --no-binary opencv-python opencv-python
  • pip install --no-binary :all: opencv-python

If you need contrib modules or headless version, just change the package name (step 4 in the previous section is not needed). However, any additional CMake flags can be provided via environment variables as described in step 3 of the manual build section. If none are provided, OpenCV's CMake scripts will attempt to find and enable any suitable dependencies. Headless distributions have hard coded CMake flags which disable all possible GUI dependencies.

On slow systems such as Raspberry Pi the full build may take several hours. On a 8-core Ryzen 7 3700X the build takes about 6 minutes.

Licensing

Opencv-python package (scripts in this repository) is available under MIT license.

OpenCV itself is available under Apache 2 license.

Third party package licenses are at LICENSE-3RD-PARTY.txt.

All wheels ship with FFmpeg licensed under the LGPLv2.1.

Non-headless Linux wheels ship with Qt 5 licensed under the LGPLv3.

The packages include also other binaries. Full list of licenses can be found from LICENSE-3RD-PARTY.txt.

Versioning

find_version.py script searches for the version information from OpenCV sources and appends also a revision number specific to this repository to the version string. It saves the version information to version.py file under cv2 in addition to some other flags.

Releases

A release is made and uploaded to PyPI when a new tag is pushed to master branch. These tags differentiate packages (this repo might have modifications but OpenCV version stays same) and should be incremented sequentially. In practice, release version numbers look like this:

cv_major.cv_minor.cv_revision.package_revision e.g. 3.1.0.0

The master branch follows OpenCV master branch releases. 3.4 branch follows OpenCV 3.4 bugfix releases.

Development builds

Every commit to the master branch of this repo will be built. Possible build artifacts use local version identifiers:

cv_major.cv_minor.cv_revision+git_hash_of_this_repo e.g. 3.1.0+14a8d39

These artifacts can't be and will not be uploaded to PyPI.

Manylinux wheels

Linux wheels are built using manylinux2014. These wheels should work out of the box for most of the distros (which use GNU C standard library) out there since they are built against an old version of glibc.

The default manylinux2014 images have been extended with some OpenCV dependencies. See Docker folder for more info.

Supported Python versions

Python 3.x compatible pre-built wheels are provided for the officially supported Python versions (not in EOL):

  • 3.6
  • 3.7
  • 3.8
  • 3.9
  • 3.10

Backward compatibility

Starting from 4.2.0 and 3.4.9 builds the macOS Travis build environment was updated to XCode 9.4. The change effectively dropped support for older than 10.13 macOS versions.

Starting from 4.3.0 and 3.4.10 builds the Linux build environment was updated from manylinux1 to manylinux2014. This dropped support for old Linux distributions.

Comments
  • opencv GUI does not work

    opencv GUI does not work

    cv2.namedWindow('test', cv2.WINDOW_AUTOSIZE) results in an error:

    QObject::moveToThread: Current thread (0xca9110) is not the object's thread (0x1256140).
    Cannot move to target thread (0xca9110)
    

    here is the version:

    cv2.__version__
    Out[3]: '3.3.0'
    QtCore.QT_VERSION_STR
    Out[7]: '5.6.2'
    
    wontfix 
    opened by braindevices 90
  • Wheel support for  linux aarch64

    Wheel support for linux aarch64

    Summary Installing opencv-python on aarch64 via pip using command "pip3 install opencv-python" throws error: No matching distribution found for opencv-python

    Problem description opencv-python doesn't have wheel for aarch64 on PyPI repository. So, while installing opencv-python via pip on aarch64, it throws an error " No matching distribution found for opencv-python".

    Expected Output Pip should be able to download opencv-python wheel from PyPI repository.

    @opencv-pythonl-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make opencv-pythonl wheel available for aarch64. It will be a great opportunity for me to work with you.

    enhancement 
    opened by odidev 46
  • Include non-free algorithms

    Include non-free algorithms

    Hello,

    with the recent update, in Opencv 3.4.3, the non-free algorithms such as SIFT and SURF are no more available.

    >>> import cv2
    >>> cv2.__version__
    '3.4.3'
    >>> cv2.xfeatures2d.SIFT_create()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    cv2.error: OpenCV(3.4.3) /io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1207: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'
    
    >>> cv2.xfeatures2d.SURF_create()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    cv2.error: OpenCV(3.4.3) /io/opencv_contrib/modules/xfeatures2d/src/surf.cpp:1016: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'
    

    As the error messages say, the library should be recompiled with -D OPENCV_ENABLE_NONFREE=1. Would it be possible to reintroduce these algorithms in the pip package?

    opened by sinecode 36
  • DLL load fails on Anaconda/Windows install (python3.dll)

    DLL load fails on Anaconda/Windows install (python3.dll)

    After doing a simple pip install opencv-python or pip install opencv-contrib-python and trying to import the library, I ran into this issue:

    λ python
    Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cv2
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Anaconda3\lib\site-packages\cv2\__init__.py", line 7, in <module>
        from . import cv2
    ImportError: DLL load failed: The specified module could not be found.
    

    The readme suggests installing the Visual C++ Redistributable for Visual Studio 2015 but I already had it installed (actually had Visual Studio itself installed as well).

    Checking the dependencies of the pyd binary in this package (using dumpbin which comes with Visual Studio):

    λ dumpbin.exe C:\Anaconda3\Lib\site-packages\cv2\cv2.cp35-win_amd64.pyd /IMPORTS | grep dll
        python3.dll
        python35.dll
        MSVFW32.dll
        AVIFIL32.dll
        AVICAP32.dll
        KERNEL32.dll
        USER32.dll
        GDI32.dll
        ole32.dll
        OLEAUT32.dll
        COMDLG32.dll
        ADVAPI32.dll
    

    After checking if these were in the PATH I was surprised to find that python3.dll was the only one that wasn't!

    Although python3.dll comes with the standard CPython install, it's not packaged with Anaconda for some reason. ContinuumIO/anaconda-issues#1394 references this and it seems like it's just not supported(?).

    As a workaround suggested in that thread, I solved this by just copying python3.dll from the official CPython 3.5.2 binaries (specifically from the Windows x86-64 embeddable zip file) into C:\Anaconda3, although I imagine it would work being anywhere in your PATH.

    I thought I'd share this bit of troubleshooting since Anaconda is a popular distribution among academics and so is OpenCV, so I figure I might not be the only one running into this issue. Maybe a note in the readme might help others until Anaconda resolves this?

    Alternatively, the menpo/opencv3 Anaconda package would also work but I don't think it supports ffmpeg nor opencv-contrib.

    For reference, I'm running on Python 3.5.2 which came with Anaconda 4.2.0 (official installer), although conda info reports a slightly newer version:

    λ conda info
    Current conda install:
    
                   platform : win-64
              conda version : 4.3.16
           conda is private : False
          conda-env version : 4.3.16
        conda-build version : 2.0.2
             python version : 3.5.2.final.0
           requests version : 2.12.4
           root environment : C:\Anaconda3  (writable)
        default environment : C:\Anaconda3
           envs directories : C:\Anaconda3\envs
                              C:\Users\Talmo\AppData\Local\conda\conda\envs
                              C:\Users\Talmo\.conda\envs
              package cache : C:\Anaconda3\pkgs
                              C:\Users\Talmo\AppData\Local\conda\conda\pkgs
               channel URLs : https://repo.continuum.io/pkgs/free/win-64
                              https://repo.continuum.io/pkgs/free/noarch
                              https://repo.continuum.io/pkgs/r/win-64
                              https://repo.continuum.io/pkgs/r/noarch
                              https://repo.continuum.io/pkgs/pro/win-64
                              https://repo.continuum.io/pkgs/pro/noarch
                              https://repo.continuum.io/pkgs/msys2/win-64
                              https://repo.continuum.io/pkgs/msys2/noarch
                config file : None
               offline mode : False
                 user-agent : conda/4.3.16 requests/2.12.4 CPython/3.5.2 Windows/10 Windows/10.0.15063
    

    Cheers and thanks for all the work you put into this repo!

    wontfix 
    opened by talmo 29
  • Pip build fails: FileNotFoundError: [Errno 2] No such file or directory: 'scripts/__init__.py'

    Pip build fails: FileNotFoundError: [Errno 2] No such file or directory: 'scripts/__init__.py'

    Reproduce:

    • pip install --upgrade pip setuptools wheel
    • CMAKE_ARGS="-DOPENCV_ENABLE_NONFREE=ON" pip install -v --no-binary=opencv-contrib-python opencv-contrib-python

    Related commit: https://github.com/opencv/opencv-python/commit/6a1f61b8d7e413059dbf0b9e897579c8305c327f#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R389

    Related PR: https://github.com/opencv/opencv-python/pull/563

    Error:
    
    Configuring Project
        Working directory:
          /tmp/pip-install-ais_cble/opencv-python_36817dc5e0834847b9d8f8f1dc7bd3c4/_skbuild/linux-x86_64-3.8/cmake-build
        Command:
          cmake /tmp/pip-install-ais_cble/opencv-python_36817dc5e0834847b9d8f8f1dc7bd3c4/opencv -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-ais_cble/opencv-python_36817dc5e0834847b9d8f8f1dc7bd3c4/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/elmeri/.venv/ml/bin/python3.8 -DPYTHON_VERSION_STRING:STRING=3.8.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/usr/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/skbuild/resources/cmake -DPYTHON3_EXECUTABLE=/home/elmeri/.venv/ml/bin/python3.8 -DPYTHON3_INCLUDE_DIR=/usr/include/python3.8 -DPYTHON3_LIBRARY=/usr/lib/libpython3.8.so -DBUILD_opencv_python3=ON -DBUILD_opencv_python2=OFF -DBUILD_opencv_java=OFF -DOPENCV_PYTHON3_INSTALL_PATH=python -DINSTALL_CREATE_DISTRIB=ON -DBUILD_opencv_apps=OFF -DBUILD_opencv_freetype=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DOPENCV_ENABLE_NONFREE=ON -DCMAKE_BUILD_TYPE:STRING=Release
    
      Copying files from CMake output
      Traceback (most recent call last):
        File "/home/elmeri/.venv/ml/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module>
          main()
        File "/home/elmeri/.venv/ml/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/elmeri/.venv/ml/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 248, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 221, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 207, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 258, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 150, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 496, in <module>
          main()
        File "setup.py", line 248, in main
          skbuild.setup(
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 625, in setup
          _classify_installed_files(cmake_manifest, package_data, package_prefixes,
        File "setup.py", line 381, in _classify_installed_files_override
          with open('scripts/__init__.py', 'r') as custom_init:
      FileNotFoundError: [Errno 2] No such file or directory: 'scripts/__init__.py'
      Building wheel for opencv-python (pyproject.toml) ... error
      ERROR: Failed building wheel for opencv-python
    Failed to build opencv-python
    ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects
    
    opened by elmeriniemela 28
  • macOS crash in imshow with Qt5.15

    macOS crash in imshow with Qt5.15

    See https://github.com/opencv/opencv/issues/18079 for background.

    I do not own a Mac so I cannot fix this easily by myself without trial and error which will take a lot of time. As a summary, Info.plist file should exist in the packages.

    Similar issue in PyQt (note that their package structure is different): https://riverbankcomputing.com/pipermail/pyqt/2020-January/042419.html

    Related things in this repository:

    • Some Qt related stuff is already copied during the build process to the packages: https://github.com/skvark/opencv-python/blob/master/patches/patchQtPlugins
    • Some Qt related environment variables are set during import https://github.com/skvark/opencv-python/blob/master/cv2/init.py
    help wanted 
    opened by skvark 28
  • cv2.imshow() not working consistently

    cv2.imshow() not working consistently

    Expected behaviour

    imshow displays image

    Actual behaviour

    when calling cv2.imshow(), I mostly get a small window with the correct name but containing only a black screen. It does work sometimes however but it is unpredictable. This issue was not encountered in previous versions of opencv-contrib-python. error

    Steps to reproduce

    • example code

    import cv2 import os import imutils

    image = cv2.imread("ref_image.png")

    cv2.imshow("test", image) cv2.waitKey(0)

    cv2.destroyAllWindows()

    • operating system : Ubuntu 20.04
    • architecture (e.g. x86): x64
    • python version: 3.8
    • opencv-python version: opencv-contrib-python 4.3.36
    opened by GokulNarayan 27
  • Added OpenSSL & various protocol support to FFmpeg backend

    Added OpenSSL & various protocol support to FFmpeg backend

    PR Description

    This PR introduces Major Fixes and updates like OpenSSL for opencv-python's FFmpeg backend.

    Fixes

    #204 #193

    Changes

    • Major Fixes and updates for Docker files (both x86 & x86-64)
    • Enabled FFmpeg backend with OpenSSL
    • Removed libjpeg-turbo libs build from scratch
    opened by abhiTronix 27
  • Wheel support for macOS arm64 (Apple Silicon)

    Wheel support for macOS arm64 (Apple Silicon)

    OpenCV 4.50 supports building for Apple Silicon (view release notes, PR https://github.com/opencv/opencv/pull/18094 was merged and released in 4.50). Now that the size limit for the project on PyPI has been increased, is there any chance we get prebuilt wheels for macOS arm64? The build script supports cross compilation from x86_64 to arm64, so I don't think dedicated Apple Silicon CI hardware is needed.

    opened by richiksc 26
  • Is it possible to add SIFT and SURF to opencv

    Is it possible to add SIFT and SURF to opencv

    opened by codeskyblue 24
  • Segmentation fault using ORB

    Segmentation fault using ORB

    Expected behaviour

    I'm using ORB FE = cv2.ORB_create(self.MAX_FEATURES) as features extractor to do registration.

    Actual behaviour

    But when I call TargetKP, TargetDesc = FE.detectAndCompute(ImTarget, None), I get a segmentation fault error: Fatal Python error: Segmentation fault.

    I have to use the option -X faulthandler to be able to find the line that generates this error, and it the one I mentioned above TargetKP, TargetDesc = FE.detectAndCompute(ImTarget, None), but I just get this line, nothing more, not trace.

    Steps to reproduce

    • example code FE = cv2.ORB_create(2013) TargetKP, TargetDesc = FE.detectAndCompute(ImTarget, None)

    ImTarget being a 23K x 29K pixels image encoded on 8 bits. For the record, it is dense with information as it is a tissues section, so full of overlapping cells.

    • operating system Linux Centos 7

    • opencv-python version 4.5.1

    bug 
    opened by FiReTiTi 21
  • Latest opencv (4.7.0.68) introduces fatal backward compatibility issue with ZLIB.

    Latest opencv (4.7.0.68) introduces fatal backward compatibility issue with ZLIB.

    System Information

    OpenCV python version: 4.7.0.68 Operating System / Platform: quay.io/pypa/manylinux_2_24_x86_64 Python version: 3.8+ ZLIB version: 1.2.8

    OpenCV python version: 4.7.0.68 Operating System / Platform: quay.io/pypa/manylinux2014 Python version: 3.8+ ZLIB version: 1.2.7

    Detailed description

    The latest opencv (4.7.0.68) requires ZLIB >= 1.2.9. This upgrade introduces fatal backward compatibility issue, since the dominant platforms like manylinux2014 and manylinux_2_24_x86_64 can't meet the requirement, especially the related wheels are shipped with platform tag manylinux2014_x86_64. As a consequence, running the latest opencv (4.7.0.68) on those platforms raises the version ZLIB_1.2.9 not found error.

    Steps to reproduce

    docker run --rm -it quay.io/pypa/manylinux2014_x86_64
    
    /opt/python/cp38-cp38/bin/pip install opencv-python-headless
    /opt/python/cp38-cp38/bin/python -c 'import cv2 as cv'
    
    docker run --rm -it quay.io/pypa/manylinux_2_24_x86_64
    
    /opt/python/cp38-cp38/bin/pip install opencv-python-headless
    /opt/python/cp38-cp38/bin/python -c 'import cv2 as cv'
    

    The log of pip:

    [root@ca5e3a59f0c9 /]# /opt/python/cp38-cp38/bin/pip install opencv-python-headless
    Collecting opencv-python-headless
      Downloading opencv_python_headless-4.7.0.68-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (49.2 MB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.2/49.2 MB 9.1 MB/s eta 0:00:00
    Collecting numpy>=1.17.0
      Downloading numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 9.8 MB/s eta 0:00:00
    Installing collected packages: numpy, opencv-python-headless
    Successfully installed numpy-1.24.1 opencv-python-headless-4.7.0.68
    

    Example of the error:

    root@7f7608188ff0:/# /opt/python/cp38-cp38/bin/python -c 'import cv2 as cv'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/opt/python/cp38-cp38/lib/python3.8/site-packages/cv2/__init__.py", line 181, in <module>
        bootstrap()
      File "/opt/python/cp38-cp38/lib/python3.8/site-packages/cv2/__init__.py", line 153, in bootstrap
        native_module = importlib.import_module("cv2")
      File "/opt/python/cp38-cp38/lib/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /opt/_internal/cpython-3.8.16/lib/python3.8/site-packages/cv2/../opencv_python_headless.libs/libpng16-186fce2e.so.16.37.0)
    

    Issue submission checklist

    • [X] I report the issue, it's not a question
    • [X] I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
    • [X] I updated to the latest OpenCV version and the issue is still there
    • [X] There is reproducer code and related data files (videos, images, onnx, etc)
    bug 
    opened by huntzhan 1
  • Video not saving for different codec formats and dimension

    Video not saving for different codec formats and dimension

    Expected behaviour

    I am currently trying to write a video after applying some mediapipe operations. The video with (size: 1080 x 1920, codec: MPEG-4 AAC, Timed Metadata, HEVC) is able to be written by the cv.VideoWriter class, but for some reason a video with (size: 720 x 1080, codec: Timed Metadata, H.264, MPEG-4 AAC) is not being written. I assumed it was due to the H.264 codec. But, I'm not sure how to fix it at the moment. Apologies, if this is an easy fix!

    For additional info, the larger video was recorded from a video and the smaller video was downloaded from facebook messenger, which is why i assume they have different codec formats.

    Actual behaviour

    Both video formats should be able to be written using cv.VideoWriter class. Also, i have tried saving the video without any of the mediapipe operations. The behaviour is the same. When I view the frames with cv.imshow(), the frames are flipped for the 1080 x 1980 as well.

    Steps to reproduce

    • example code
    # OpenCV Capture
    cap = cv.VideoCapture(args.input if args.input else 0)
    
    # Create a VideoWriter object so we can save the video output
    fourcc = cv.VideoWriter_fourcc(*'mp4v')
    output_frames_per_second = 30.0
    out = cv.VideoWriter(os.path.join(OUTPUT_DIR, args.output_filename),  
                            fourcc, 
                            output_frames_per_second, 
                            (args.width, args.height))
    
    while cap.isOpened():
        hasFrame, frame = cap.read()
        print(hasFrame)
        if not hasFrame:
            # cv.waitKey()
            break
        
        # Flip image vertically if model type is mediatype
        if args.model_type == 'mediapipe':
            frame = cv.flip(frame, -1)
        # Get Pose Joints
        points = pose.returnPoints(frame)
    
        # Draw Pose Joints on frame
        pose.drawJoints(frame, points)
    
        # Display Frame
        # cv.imshow('OpenPose using OpenCV', frame)
    
        # Write the frame to the output video file
        out.write(frame)
    
    if args.model_type == 'media':
        pose.close()
    
    # Stop when the video is finished
    cap.release()
         
    # Release the video recording
    out.release()
    
    • operating system mac os Ventura
    • architecture (e.g. x86) ARM (silicon)
    • opencv-python version opencv-contrib-python==4.6.0.66 opencv-python==4.5.5.64
    opened by hkair 1
  • Charuco marker pose estimation -> Z-axis in wrong direction

    Charuco marker pose estimation -> Z-axis in wrong direction

    Hello, I would like to determine the pose of my board. I used all provided functions from the library (opencv in python)

    Actual behaviour

    I was able to detect the marker + id and the corners correctly. But when I use the function cv2.aruco.estimatePoseCharucoBoard(...) it returns me not the correct pose ( in my understanding). I would have expected, that the z-axis will point to the camera and the board is placed in the x-y plane. By drawing the pose of the complete board and also the poses of the single markers I was able to visualize the mistake. Code and image results are attached.

    Steps to reproduce

    OpenCV => opencv-contrib-python 4.5.5.64 Env: Python 3.8

    Here my code:

    import numpy as np
    import cv2
    from cv2 import aruco
    from PIL import Image
    
    file = "img_left.png"
    img = Image.open(file) 
    np_img = np.array(img)
    np_img_3c = np.stack([np_img, np_img, np_img], axis=-1)
    np_img_result = np.copy(np_img_3c)
    
    "setup"
    arucoDict = aruco.Dictionary_get(aruco.DICT_6X6_250)
    arucoParams = aruco.DetectorParameters_create()
    
    "create the charuco board"
    calibration_board = aruco.CharucoBoard_create(squaresX=5, squaresY=7, squareLength=0.072, markerLength=0.062, dictionary=arucoDict)
    img_board = calibration_board.draw((200*3,200*3))
    cv2.imwrite('sample_board.png',img_board)
    
    
    "camera parameters"
    fx = 1632.677490234375 
    fy = 1632.677490234375 
    cx = 640. 
    cy = 480.
    cameraMatrix = np.array([[fx, 0, cx], [0, fy, cy], [0.,0.,1.]])
    distorsionCoeff = np.array([0.0, 0.0, 0.0, 0.0])
    
    "detect markers"
    (marker_corners, marker_ids, rejected) = aruco.detectMarkers(np_img_3c, arucoDict, parameters=arucoParams)
    "draw detected markers"
    img2 = aruco.drawDetectedMarkers(np_img_result, marker_corners, marker_ids)
    detected = Image.fromarray(img2)
    detected.save("1_detected_markers.png")
    
    "interpolate corners"
    _, charuco_corners, charuco_ids = cv2.aruco.interpolateCornersCharuco(marker_corners, marker_ids, np_img_3c, calibration_board, cameraMatrix=cameraMatrix, distCoeffs=distorsionCoeff)
    
    "draw detected corners"
    img1 = aruco.drawDetectedCornersCharuco(np_img_result, charuco_corners, charuco_ids, (255, 0, 0))
    img_corners = Image.fromarray(img1)
    img_corners.save("2_detected_corners.png")
    
    "get pose of board"
    valid, rvec, tvec = aruco.estimatePoseCharucoBoard(charuco_corners, charuco_ids, calibration_board, cameraMatrix, distorsionCoeff, np.empty(1), np.empty(1), useExtrinsicGuess=False)
    
    img_result = cv2.drawFrameAxes(np.copy(np_img_3c), cameraMatrix, distorsionCoeff, rvec, tvec, 0.08)
    img_calib_result = Image.fromarray(img_result)
    img_calib_result.save("3_calib_pose.png")
    
    
    "get pose of single markers"
    rvecs, tvecs, objPoints = aruco.estimatePoseSingleMarkers(marker_corners, markerLength=0.062, cameraMatrix=cameraMatrix, distCoeffs=distorsionCoeff)
    img_single_pose = np.copy(np_img_3c)
    for i in range(len(rvecs)):
        img_single_pose = cv2.drawFrameAxes(img_single_pose, cameraMatrix, distorsionCoeff, rvecs[i], tvecs[i], 0.05)
    img_single_pose = Image.fromarray(img_single_pose)
    img_single_pose.save("4_calib_single_pose.png")
    

    Find attached the result: Detection of markers and coners works: image

    Resulting pose and single marker pose image image

    In my understanding the z-axis (blue) should point to the camera. Am I right? Hope you can help me.

    Best regard, Patrick

    opened by Patricks15 0
  • [cv2.dnn] Inconsistent results on ONNX model

    [cv2.dnn] Inconsistent results on ONNX model

    System Information

    OpenCV version: 4.6.0 Operating System / Platform: Ubuntu 20.04 Python 3.8.10 (default, Jun 22 2022, 20:18:18)

    Detailed description

    cv2.readNet().forward() produces wrong results using manually built OpenCV compared to the wheel published on PyPi - opencv-contrib-python-headless.

    The output of .forward() is off by few pixels (5-10), confidence is off, sometimes significantly.

    Concerns YOLOv5 (default model) converted to ONNX using their converting script.

    When it produces correct results:

    • CPU inference with opencv-contrib-python-headless from PyPi
    • CUDA inference with manually built opencv-contrib-python-headless

    When results are wrong:

    • CPU inference with manually built opencv-contrib-python-headless

    So apparently my manual built is not using some BLAS/CPU library that official build is using? Still looks like a bug, given that inference does work and it does produce results that look sane (but in reality are off).

    Steps to reproduce

    1. Clone yolov5 repo
    2. Convert model to ONNX using export.py
    3. Run resulting yolov5s.onnx using cv2.dnn on sample image converted to png.
    4. Inference should be on CPU using provided build (below)
    5. Raw output from net.forward() will be wrong, while it's right with opencv binaries from pypi.

    Build details:

    General configuration for OpenCV 4.6.0 =====================================
      Version control:               4.6.0
    
      Extra modules:
        Location (extra):            /usr/src/opencv-python/opencv_contrib/modules
        Version control (extra):     4.6.0
    
      Platform:
        Timestamp:                   2022-12-02T17:57:18Z
        Host:                        Linux 5.15.0-1023-aws x86_64
        CMake:                       3.25.0
        CMake generator:             Ninja
        CMake build tool:            /usr/bin/ninja
        Configuration:               Release
    
      CPU/HW features:
        Baseline:                    SSE SSE2 SSE3
          requested:                 SSE3
        Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
          requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
          SSE4_1 (15 files):         + SSSE3 SSE4_1
          SSE4_2 (1 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
          FP16 (0 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
          AVX (4 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
          AVX2 (28 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
          AVX512_SKX (4 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
    
      C/C++:
        Built as dynamic libs?:      NO
        C++ standard:                11
        C++ Compiler:                /usr/bin/c++  (ver 9.4.0)
        C++ flags (Release):         -fsigned-char -ffast-math -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
        C++ flags (Debug):           -fsigned-char -ffast-math -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
        C Compiler:                  /usr/bin/cc
        C flags (Release):           -fsigned-char -ffast-math -W -Wall -Wreturn-type -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
        C flags (Debug):             -fsigned-char -ffast-math -W -Wall -Wreturn-type -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
        Linker flags (Release):      -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a   -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined  
        Linker flags (Debug):        -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a   -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined  
        ccache:                      NO
        Precompiled headers:         NO
        Extra dependencies:          /lib/openblas-base/libopenblas.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so Iconv::Iconv m pthread cudart_static dl rt nppc nppial nppicc nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cudnn cufft -L/usr/local/cuda/lib64 -L/usr/lib/x86_64-linux-gnu
        3rdparty dependencies:       libprotobuf ade ittnotify libjpeg-turbo libwebp libtiff libopenjp2 IlmImf ippiw ippicv
    
      OpenCV modules:
        To be built:                 barcode bioinspired core cudaarithm cudabgsegm cudacodec cudafilters cudaimgproc cudalegacy cudawarping cudev dnn dnn_objdetect dnn_superres fuzzy gapi hfs img_hash imgcodecs imgproc intensity_transform line_descriptor ml phase_unwrapping photo plot python3 quality reg tracking video videoio wechat_qrcode xphoto
        Disabled:                    calib3d features2d flann highgui objdetect world
        Disabled by dependency:      aruco bgsegm ccalib cudafeatures2d cudaobjdetect cudaoptflow cudastereo datasets dpm face mcc optflow rapid rgbd saliency shape stereo stitching structured_light superres surface_matching text videostab xfeatures2d ximgproc xobjdetect
        Unavailable:                 alphamat cvv freetype hdf java julia matlab ovis python2 sfm ts viz
        Applications:                -
        Documentation:               NO
        Non-free algorithms:         NO
    
      GUI: 
        VTK support:                 NO
    
      Media I/O: 
        ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.11)
        JPEG:                        libjpeg-turbo (ver 2.1.2-62)
        WEBP:                        build (ver encoder: 0x020f)
        PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.6.37)
        TIFF:                        build (ver 42 - 4.2.0)
        JPEG 2000:                   build (ver 2.4.0)
        OpenEXR:                     build (ver 2.3.0)
        HDR:                         YES
        SUNRASTER:                   YES
        PXM:                         YES
        PFM:                         YES
    
      Video I/O:
        DC1394:                      NO
        FFMPEG:                      NO
          avcodec:                   NO
          avformat:                  NO
          avutil:                    NO
          swscale:                   NO
          avresample:                NO
        GStreamer:                   NO
        v4l/v4l2:                    YES (linux/videodev2.h)
    
      Parallel framework:            pthreads
    
      Trace:                         YES (with Intel ITT)
    
      Other third-party libraries:
        Intel IPP:                   2020.0.0 Gold [2020.0.0]
               at:                   /usr/src/opencv-python/_skbuild/linux-x86_64-3.8/cmake-build/3rdparty/ippicv/ippicv_lnx/icv
        Intel IPP IW:                sources (2020.0.0)
                  at:                /usr/src/opencv-python/_skbuild/linux-x86_64-3.8/cmake-build/3rdparty/ippicv/ippicv_lnx/iw
        VA:                          NO
        Lapack:                      YES (/lib/openblas-base/libopenblas.so)
        Eigen:                       NO
        Custom HAL:                  NO
        Protobuf:                    build (3.19.1)
    
      NVIDIA CUDA:                   YES (ver 11.6, CUFFT CUBLAS FAST_MATH)
        NVIDIA GPU arch:             35 37 50 52 60 61 70 75 80 86
        NVIDIA PTX archs:
    
      cuDNN:                         YES (ver 8.4.0)
    
      OpenCL:                        YES (no extra features)
        Include path:                /usr/src/opencv-python/opencv/3rdparty/include/opencl/1.2
        Link libraries:              Dynamic load
    
      Python 3:
        Interpreter:                 /usr/bin/python3 (ver 3.8.10)
        Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.8.so (ver 3.8.10)
        numpy:                       /tmp/pip-build-env-i7jl326l/overlay/lib/python3.8/site-packages/numpy/core/include (ver 1.17.3)
        install path:                python/cv2/python-3
    
      Python (for build):            /usr/bin/python3
    
      Install to:                    /usr/src/opencv-python/_skbuild/linux-x86_64-3.8/cmake-install
    -----------------------------------------------------------------
    

    Issue submission checklist

    • [X] I report the issue, it's not a question
    • [X] I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
    • [X] I updated to the latest OpenCV version and the issue is still there
    • [X] There is reproducer code and related data files (videos, images, onnx, etc)
    bug 
    opened by apatsekin 2
  • AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import)

    AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import)

    Expected behaviour

    cv2 could be successfully imported.

    Actual behaviour

    After I install the opencv-python or opencv-python-headless, I import cv2, it will raise a exception:

    AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import)

    Steps to reproduce

    OS: ubuntu22.04 in docker. opencv-version: 4.6.0.66

    Issue submission checklist
    • [x] This is not a generic OpenCV usage question (looking for help for coding, other usage questions, homework etc.)

    P.S.: I can solve this issue using the answer. I use the version 4.5.5.62, everything will be ok. However, that is the problem, I do not know why the new version will cause the error.

    Thank you.

    opened by aruiplex 0
Releases(68)
  • 68(Dec 29, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.7.0

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities.
    • Dropped Python 3.6 support.
    • Added Python 3.11 support.
    Source code(tar.gz)
    Source code(zip)
  • 66(Jun 7, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.6.0

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #666
    • Added support for building Windows ARM64 Python package. #644
    • The repository has been synchronized with scikit-build 0.14.0 release. #637
    • The build without internet connection has been fixed. #642
    • This release produced with libpng 1.6.37 and supports eXIf orientation tag. #662
    Source code(tar.gz)
    Source code(zip)
  • 65(Jun 7, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.18

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #666
    • Added support for building Windows ARM64 Python package. #644
    • The repository has been synchronized with scikit-build 0.14.0 release. #637
    • This release produced with libpng 1.6.37 and supports eXIf orientation tag. #662
    Source code(tar.gz)
    Source code(zip)
  • 64(Mar 4, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.5

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #617
    Source code(tar.gz)
    Source code(zip)
  • 63(Mar 4, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.17

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #617
    Source code(tar.gz)
    Source code(zip)
  • 62(Dec 28, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.5

    Changes:

    • Switched to a single binary release with Python Limited API to cover all Python versions since 3.6. #595
    Source code(tar.gz)
    Source code(zip)
  • 61(Dec 28, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.17

    Changes:

    • Switched to a single binary release with Python Limited API to cover all Python versions since 3.6. #595
    Source code(tar.gz)
    Source code(zip)
  • 60(Nov 19, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.4

    Changes:

    • The build from source has been fixed. #577
    • Imshow segmentation fault issue have been fixed on Linux x86_64 with Python 3.9. #572
    • Updated OpenCV dependency to tag 4.5.4. #578
    • Pylint no-member warning and an autocomplete in IDE were fixed. #579
    • Auditwheel 5.0.0 version has been added for repairing wheels. #581
    Source code(tar.gz)
    Source code(zip)
  • 59(Nov 19, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.16

    Changes:

    • The build from source has been fixed. #577
    • Imshow segmentation fault issue have been fixed on Linux x86_64 with Python 3.9. #572
    • Updated OpenCV dependency to tag 4.5.4. #578
    • Pylint no-member warning and an autocomplete in IDE were fixed. #579
    • Auditwheel 5.0.0 version has been added for repairing wheels. #581
    Source code(tar.gz)
    Source code(zip)
  • 57(Oct 21, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.4

    Changes:

    • Enabled Python code in OpenCV-Python distribution including cv.Mat wrapper, G-API Python bindings and pure python API. #563
    • Wheels for Python 3.10 will be provided starting from this release. #556
    • Enabled LAPACK-dependent API on Linux (x64 and aarch64) and macOS. Prebuild packages for Linux includes own LAPACK instance, MacOS package uses LAPACK interface provided by Accelerate.framework framework. LAPACK-dependent API on Windows will be enabled in next releases. #547
    • Fixed missing 3rd party libraries in wheels for MacOS M1. #555
    Source code(tar.gz)
    Source code(zip)
  • 58(Oct 20, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.4

    Changes:

    • Enabled Python code in OpenCV-Python distribution including cv.Mat wrapper, G-API Python bindings and pure python API. #563
    • Wheels for Python 3.10 will be provided starting from this release. #556
    • Enabled LAPACK-dependent API on Linux (x64 and aarch64) and macOS. Prebuild packages for Linux includes own LAPACK instance, MacOS package uses LAPACK interface provided by Accelerate.framework framework. LAPACK-dependent API on Windows will be enabled in next releases. #547
    • Fixed missing 3rd party libraries in wheels for MacOS M1. #555
    Source code(tar.gz)
    Source code(zip)
  • 56(Jul 9, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.3

    Solves: #429 - wheels for Apple Silicon will be provided starting from this release

    Source code(tar.gz)
    Source code(zip)
  • 55(Jul 9, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.15

    Solves: #429 - wheels for Apple Silicon will be provided starting from this release

    Source code(tar.gz)
    Source code(zip)
  • 54(Jun 7, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.2 Bugfix release: use proper codebase for opencv. Return back Linux ARM64 build The previous release (4.5.2.52) was built with an incorrect version of the OpenCV's source code due to the issues that occurred with build infrastructure transitioning. This release fixes it and returns back the Linux ARM64 binaries that we lost due to the move to github actions

    Source code(tar.gz)
    Source code(zip)
  • 53(Jun 7, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.14. Bugfix release: use proper codebase for opencv. Return back Linux ARM64 build The previous release (3.4.14.51) was built with an incorrect version of the OpenCV's source code due to the issues that occurred with build infrastructure transitioning. This release fixes it and returns back the Linux ARM64 binaries that we lost due to the move to github actions

    Source code(tar.gz)
    Source code(zip)
  • 52(May 6, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.2. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 51(May 6, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.14. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 49(May 5, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.14. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 50(May 5, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.2. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 47(Jan 3, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.13. Adds experimental arm64 Linux wheels.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    BREAKING CHANGES

    Qt support dropped on macOS due to multiple recent issues with it. GUI support is still enabled on macOS via Cocoa but it is more limited than Qt. If you need Qt support, please consider contributing:

    • https://github.com/skvark/opencv-python/issues/376
    • https://github.com/skvark/opencv-python/issues/423
    Source code(tar.gz)
    Source code(zip)
  • 48(Jan 2, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.1. Adds experimental arm64 Linux wheels.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    BREAKING CHANGES

    Qt support dropped on macOS due to multiple recent issues with it. GUI support is still enabled on macOS via Cocoa but it is more limited than Qt. If you need Qt support, please consider contributing:

    • https://github.com/skvark/opencv-python/issues/376
    • https://github.com/skvark/opencv-python/issues/423
    Source code(tar.gz)
    Source code(zip)
  • 46(Nov 3, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Added Python 3.9 support.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 45(Nov 3, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Added Python 3.9 support.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 43(Sep 23, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Python 3.5 support dropped.

    Fixes:

    • https://github.com/skvark/opencv-python/issues/381

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 44(Sep 23, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Python 3.5 support dropped.

    Fixes:

    • https://github.com/skvark/opencv-python/issues/381

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 42(Aug 17, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 4.4.0. Same release as previous 4.4.0.40, but should fix macOS Qt segfault issue: https://github.com/skvark/opencv-python/issues/376

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 41(Aug 16, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 3.4.11. Same release as previous 3.4.11.39, but should fix macOS Qt segfault issue: https://github.com/skvark/opencv-python/issues/376

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 40(Aug 12, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 4.4.0.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the last 3 releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 39(Aug 12, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 3.4.11.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the last 3 releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 38(Aug 9, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 4.3.0.

    Changes:

    • Source distributions added to PyPI. If your system is incompatible with the pre-built wheels, pip will attempt to build OpenCV Python bindings locally. This requires a recent version of pip to work properly. Please refer to the README for more info. https://github.com/skvark/opencv-python/issues/43
    • Python 3.5 macOS wheels which were missing in previous release uploaded to PyPI. https://github.com/skvark/opencv-python/issues/316#issuecomment-654195009
    • Linux wheels ship now with Qt 5.15. This should fix many issues which were caused by Qt version conflicts in earlier releases (https://github.com/skvark/opencv-python/issues/362, https://github.com/skvark/opencv-python/issues/46).
    • https://github.com/skvark/opencv-python/pull/368
    Source code(tar.gz)
    Source code(zip)
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 3, 2023
A Reverse Shell Python Packages

A Reverse Shell Python Packages

null 1 Nov 3, 2021
Simple script to download OTA packages from Realme's endpoint.

Realme OTA Downloader CLI tool (based on this C# program) to create requests to the Realme's endpoint. Requirements Python 3.9. pycryptodome. Installa

Roger Ortiz 64 Dec 28, 2022
Detect secret in source code, scan your repo for leaks. Find secrets with GitGuardian and prevent leaked credentials. GitGuardian is an automated secrets detection & remediation service.

GitGuardian Shield: protect your secrets with GitGuardian GitGuardian shield (ggshield) is a CLI application that runs in your local environment or in

GitGuardian 1.2k Jan 6, 2023
GitFun - A Simplified Automated CLI tool for GIT😃

GitFun A Simplified Automated CLI tool for GIT, It's for Lazy Developers and Newbies ?? Table of contents GitFun Installation Usage Development Contri

Astaqc 8 Feb 22, 2022
Fylm is a wonderful automated command line app for organizing your film media.

Overview Fylm is a wonderful automated command line app for organizing your film media. You can pronounce it Film or File 'em, whichever you like! It

Brandon Shelley 30 Dec 5, 2022
Chopper: An Automated Security Headers Analyzer

____ _ _ / ___| |__ ___ _ __ _ __ ___ _ __| | | | | '_ \ / _ \| '_ \| '_ \ / _ \ '__| | | |___| | | | (_) |

Kamran Saifullah (Frog Man) 2 Nov 27, 2022
Python wrapper and CLI utility to render LaTeX markup and equations as SVG using dvisvgm and svgo.

latex2svg Python wrapper and CLI utility to render LaTeX markup and equations as SVG using dvisvgm and svgo. Based on the original work by Tino Wagner

Matthias C. Hormann 4 Feb 18, 2022
A CLI tool for searching and watching videos on youtube with no spyware and MPV and yt-dlp

A CLI tool for searching and watching videos on youtube with no spyware and MPV and yt-dlp

TruncatedDinosour 3 Feb 22, 2022
Python command line tool and python engine to label table fields and fields in data files.

Python command line tool and python engine to label table fields and fields in data files. It could help to find meaningful data in your tables and data files or to find Personal identifable information (PII).

APICrafter 22 Dec 5, 2022
A python script that enables a raspberry pi sd card through the CLI and automates the process of configuring network details and ssh.

This project is one script (wpa_helper.py) written in python that will allow for the user to automate the proccess of setting up a new boot disk and configuring ssh and network settings for the pi

Theo Kirby 6 Jun 24, 2021
pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget

Currently, all the work is being done inside the refactoring branch. pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget P

Everton Correia 45 Dec 11, 2022
A lightweight Python module and command-line tool for generating NATO APP-6(D) compliant military symbols from both ID codes and natural language names

Python military symbols This is a lightweight Python module, including a command-line script, to generate NATO APP-6(D) compliant military symbol icon

Nick Royer 5 Dec 27, 2022
WebApp Maker make web apps (Duh). It is open source and make with python and shell.

WebApp Maker make web apps (Duh). It is open source and make with python and shell. This app can take any website and turn it into an app. I highly recommend turning these few websites into webapps: - Krunker.io (Fps Game) - play.fancade.com (Minigame Arcade) - Your Own Website If You Have One Apart from that enjoy my app By 220735540 (a.k.a RP400)

null 2 Jan 9, 2022
Standalone script written in Python 3 for generating Reverse Shell one liner snippets and handles the communication between target and client using custom Netcat binaries

Standalone script written in Python 3 for generating Reverse Shell one liner snippets and handles the communication between target and client using custom Netcat binaries. It automates the boring stuff like URL encoding the command and setting up a listener.

Yash Bhardwaj 3 Sep 27, 2022
gget is a free and open-source command-line tool and Python package that enables efficient querying of genomic databases.

gget is a free and open-source command-line tool and Python package that enables efficient querying of genomic databases. gget consists of a collection of separate but interoperable modules, each designed to facilitate one type of database querying in a single line of code.

Pachter Lab 570 Dec 29, 2022
Management commands to help backup and restore your project database and media files

Django Database Backup This Django application provides management commands to help backup and restore your project database and media files with vari

null 687 Jan 4, 2023
liquidctl – liquid cooler control Cross-platform tool and drivers for liquid coolers and other devices

Cross-platform CLI and Python drivers for AIO liquid coolers and other devices

null 1.7k Jan 8, 2023