You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-4Lines changed: 21 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,12 @@
1
-
| Platform| Status |
1
+
| Platform| Status |
2
2
| :---: | :---: |
3
3
| Windows |[](https://ci.appveyor.com/project/skvark/opencv-python)|
The aim of this repository is to provide means to package each new [OpenCV release](https://github.com/Itseez/opencv/releases) for the most used Python versions and platforms.
@@ -26,7 +28,8 @@ At the same time it allows anyone to build a custom version of OpenCV for any Py
26
28
27
29
The project is structured like a normal Python package with a standard ``setup.py`` file. The build process is as follows (see ``appveyor.yml``):
28
30
29
-
1. Checkout OpenCV (TO DO: pull only latest tag)
31
+
1. Checkout repository and submodules
32
+
- OpenCV is included as submodule and the version is updated manually when a new has been made
30
33
2. Find OpenCV version from the sources
31
34
2. Upgrade pip and install numpy for each Python version
32
35
3. Build OpenCV
@@ -36,7 +39,7 @@ The project is structured like a normal Python package with a standard ``setup.p
36
39
6. Test that the Python versions can import them
37
40
7. TO DO: upload the wheels to PyPi
38
41
39
-
Currently the ``setup.py`` file parses OpenCV version information from the OpenCV sources. OpenCV depends on numpy, so ``setup.py`` checks the numpy version also with the help of pip.
42
+
Currently the ``find_version.py`` file parses OpenCV version information from the OpenCV sources. OpenCV depends on numpy, so ``setup.py`` checks the numpy version also with the help of pip.
40
43
41
44
As described earlier, for example the ``.pyd`` file on Windows is normally copied to site-packages. I don't want to pollute the root folder, so the ``__init__.py`` file in cv2 folder handles the import logic correctly by importing the actual ``.pyd`` module and replacing the imported cv2 package in ``sys.modudes`` with the cv2 module to retain backward compatibility.
42
45
@@ -46,7 +49,21 @@ Linux wheels are built using [manylinux](https://github.com/pypa/python-manylinu
46
49
47
50
## Versioning
48
51
49
-
Currently the ``find_version.py`` script searches for the version information from OpenCV sources. The CI build number is then added after the actual OpenCV version to differentiate packages (this repo might have modifications but OpenCV version stays same).
52
+
Currently the ``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.
53
+
54
+
#### Releases
55
+
56
+
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:
57
+
58
+
``cv_major.cv_minor.cv_revision.package_revision`` e.g. ``3.1.0.0``
59
+
60
+
#### Development builds
61
+
62
+
Every commit to the master branch of this repo will be built. Possible build artifacts use local version identifiers:
63
+
64
+
``cv_major.cv_minor.cv_revision+git_hash_of_this_repo`` e.g. ``3.1.0+14a8d39``
65
+
66
+
These artifacts can't be and will not be uploaded to PyPI.
0 commit comments