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

kivy / python-for-android / 9022488340

09 May 2024 07:28PM UTC coverage: 59.119% (+0.2%) from 58.893%
9022488340

push

github

web-flow
recipe: introduce `PyProjectRecipe` and `MesonRecipe` (to update `pandas`, `numpy` and other recipes) (#3007)

1044 of 2353 branches covered (44.37%)

Branch coverage included in aggregate %.

75 of 167 new or added lines in 9 files covered. (44.91%)

5 existing lines in 2 files now uncovered.

4820 of 7566 relevant lines covered (63.71%)

2.54 hits per line

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

90.0
/pythonforandroid/recipes/pandas/__init__.py
1
from os.path import join
4✔
2
from pythonforandroid.recipe import MesonRecipe
4✔
3

4

5
class PandasRecipe(MesonRecipe):
4✔
6
    version = 'v2.2.1'
4✔
7
    url = 'git+https://github.com/pandas-dev/pandas'  # noqa
4✔
8
    depends = ['numpy', 'libbz2', 'liblzma']
4✔
9
    hostpython_prerequisites = ["Cython~=3.0.5"]  # meson does not detects venv's cython
4✔
10
    patches = ['fix_numpy_includes.patch']
4✔
11
    python_depends = ['python-dateutil', 'pytz']
4✔
12
    need_stl_shared = True
4✔
13

14
    def get_recipe_env(self, arch, **kwargs):
4✔
15
        env = super().get_recipe_env(arch, **kwargs)
4✔
16
        # we need the includes from our installed numpy at site packages
17
        # because we need some includes generated at numpy's compile time
18

19
        env['NUMPY_INCLUDES'] = join(
4✔
20
            self.ctx.get_python_install_dir(arch.arch), "numpy/core/include",
21
        )
22
        env["PYTHON_INCLUDE_DIR"] = self.ctx.python_recipe.include_root(arch)
4✔
23

24
        # this flag below is to fix a runtime error:
25
        #   ImportError: dlopen failed: cannot locate symbol
26
        #   "_ZTVSt12length_error" referenced by
27
        #   "/data/data/org.test.matplotlib_testapp/files/app/_python_bundle
28
        #   /site-packages/pandas/_libs/window/aggregations.so"...
29
        env['LDFLAGS'] += f' -landroid  -l{self.stl_lib_name}'
4✔
30
        return env
4✔
31

32
    def build_arch(self, arch):
4✔
NEW
33
        super().build_arch(arch)
×
NEW
34
        self.restore_hostpython_prerequisites(["cython"])
×
35

36

37
recipe = PandasRecipe()
4✔
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