• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kivy / python-for-android / 25274093104

03 May 2026 08:18AM UTC coverage: 62.857% (-0.02%) from 62.876%
25274093104

Pull #3313

github

web-flow
Merge 5b2a4bad7 into 3ab2fd669
Pull Request #3313: Add videonative Recipe

1832 of 3180 branches covered (57.61%)

Branch coverage included in aggregate %.

11 of 21 new or added lines in 1 file covered. (52.38%)

5340 of 8230 relevant lines covered (64.88%)

5.18 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

52.38
/pythonforandroid/recipes/videonative/__init__.py
1
from pythonforandroid.recipe import PyProjectRecipe
8✔
2
from os.path import join
8✔
3

4

5
class VideoNativeRecipe(PyProjectRecipe):
8✔
6
    version = "1.0.0"
8✔
7
    url = "https://github.com/Novfensec/VideoNative/archive/{version}.zip"
8✔
8
    name = "videonative"
8✔
9
    site_packages_name = "videonative"
8✔
10

11
    hostpython_prerequisites = ["scikit-build-core", "pybind11", "cmake", "ninja"]
8✔
12
    depends = ["python3", "ffmpeg", "numpy"]
8✔
13

14
    def get_recipe_env(self, arch, **kwargs):
8✔
NEW
15
        env = super().get_recipe_env(arch, **kwargs)
×
16

NEW
17
        ffmpeg_recipe = self.get_recipe("ffmpeg", self.ctx)
×
NEW
18
        ffmpeg_build_dir = ffmpeg_recipe.get_build_dir(arch.arch)
×
19

NEW
20
        python_recipe = self.get_recipe("python3", self.ctx)
×
NEW
21
        py_include_dir = python_recipe.include_root(arch.arch)
×
NEW
22
        py_lib_file = join(
×
23
            python_recipe.get_build_dir(arch.arch),
24
            "android-build",
25
            f"libpython{python_recipe.major_minor_version_string}.so",
26
        )
27

NEW
28
        toolchain_file = join(
×
29
            self.ctx.ndk_dir, "build", "cmake", "android.toolchain.cmake"
30
        )
31

NEW
32
        env["SKBUILD_STRICT_CONFIG"] = "false"
×
NEW
33
        env["SKBUILD_CMAKE_ARGS"] = (
×
34
            f"-DCMAKE_TOOLCHAIN_FILE={toolchain_file};"
35
            f"-DANDROID_ABI={arch.arch};"
36
            f"-DANDROID_PLATFORM=android-{self.ctx.ndk_api};"
37
            f"-DANDROID_FFMPEG_INCLUDE={join(ffmpeg_build_dir, 'include')};"
38
            f"-DANDROID_FFMPEG_LIB={join(ffmpeg_build_dir, 'lib')};"
39
            f"-DPython_EXECUTABLE={self.ctx.hostpython};"
40
            f"-DPython_INCLUDE_DIR={py_include_dir};"
41
            f"-DPython_LIBRARY={py_lib_file};"
42
        )
43

NEW
44
        return env
×
45

46

47
recipe = VideoNativeRecipe()
8✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc