>>> py3-bioframe: Building testing/py3-bioframe 0.4.1-r0 (using abuild 3.11.0-r1) started Sun, 14 May 2023 11:58:25 +0000 >>> py3-bioframe: Checking sanity of /home/buildozer/aports/testing/py3-bioframe/APKBUILD... >>> py3-bioframe: Analyzing dependencies... >>> py3-bioframe: Installing for build: build-base python3 py3-matplotlib py3-numpy py3-pandas py3-yaml py3-requests py3-setuptools py3-wheel py3-pytest (1/91) Installing gdbm (1.23-r1) (2/91) Installing mpdecimal (2.5.1-r2) (3/91) Installing libpanelw (6.4_p20230506-r1) (4/91) Installing readline (8.2.1-r1) (5/91) Installing sqlite-libs (3.41.2-r2) (6/91) Installing python3 (3.11.3-r11) (7/91) Installing python3-pycache-pyc0 (3.11.3-r11) (8/91) Installing pyc (0.1-r0) (9/91) Installing python3-pyc (3.11.3-r11) (10/91) Installing libxau (1.0.11-r2) (11/91) Installing libmd (1.0.4-r2) (12/91) Installing libbsd (0.11.7-r1) (13/91) Installing libxdmcp (1.1.4-r2) (14/91) Installing libxcb (1.15-r1) (15/91) Installing libx11 (1.8.4-r3) (16/91) Installing libxext (1.3.5-r2) (17/91) Installing libxrender (0.9.11-r3) (18/91) Installing libpng (1.6.39-r3) (19/91) Installing freetype (2.13.0-r5) (20/91) Installing fontconfig (2.14.2-r3) (21/91) Installing pixman (0.42.2-r1) (22/91) Installing cairo (1.17.8-r1) (23/91) Installing py3-cairo (1.23.0-r4) (24/91) Installing py3-cairo-pyc (1.23.0-r4) (25/91) Installing py3-certifi (2023.5.7-r0) (26/91) Installing py3-certifi-pyc (2023.5.7-r0) (27/91) Installing libgfortran (12.2.1_git20220924-r10) (28/91) Installing openblas (0.3.23-r0) (29/91) Installing py3-numpy (1.24.3-r0) (30/91) Installing py3-numpy-pyc (1.24.3-r0) (31/91) Installing py3-contourpy (1.0.7-r1) (32/91) Installing py3-contourpy-pyc (1.0.7-r1) (33/91) Installing py3-cycler (0.11.0-r2) (34/91) Installing py3-cycler-pyc (0.11.0-r2) (35/91) Installing py3-six (1.16.0-r6) (36/91) Installing py3-six-pyc (1.16.0-r6) (37/91) Installing py3-dateutil (2.8.2-r3) (38/91) Installing py3-dateutil-pyc (2.8.2-r3) (39/91) Installing py3-fonttools (4.39.4-r0) (40/91) Installing py3-fonttools-pyc (4.39.4-r0) (41/91) Installing py3-kiwisolver (1.4.4-r1) (42/91) Installing py3-kiwisolver-pyc (1.4.4-r1) (43/91) Installing py3-parsing (3.0.9-r2) (44/91) Installing py3-parsing-pyc (3.0.9-r2) (45/91) Installing py3-packaging (23.1-r1) (46/91) Installing py3-packaging-pyc (23.1-r1) (47/91) Installing libimagequant (4.2.0-r0) (48/91) Installing libjpeg-turbo (2.1.5.1-r2) (49/91) Installing lcms2 (2.15-r3) (50/91) Installing openjpeg (2.5.0-r3) (51/91) Installing libwebp (1.3.0-r1) (52/91) Installing tiff (4.5.0-r6) (53/91) Installing py3-pillow (9.5.0-r1) (54/91) Installing py3-pillow-pyc (9.5.0-r1) (55/91) Installing py3-tz (2023.3-r1) (56/91) Installing py3-tz-pyc (2023.3-r1) (57/91) Installing tzdata (2023c-r1) (58/91) Installing tcl (8.6.13-r1) (59/91) Installing libxft (2.3.8-r1) (60/91) Installing tk (8.6.13-r1) (61/91) Installing python3-tkinter (3.11.3-r1) (62/91) Installing python3-tkinter-pyc (3.11.3-r1) (63/91) Installing qhull (2020.2-r2) (64/91) Installing py3-matplotlib (3.7.1-r0) (65/91) Installing py3-matplotlib-pyc (3.7.1-r0) (66/91) Installing py3-pandas (1.5.3-r1) (67/91) Installing py3-pandas-pyc (1.5.3-r1) (68/91) Installing yaml (0.2.5-r1) (69/91) Installing py3-yaml (6.0-r3) (70/91) Installing py3-yaml-pyc (6.0-r3) (71/91) Installing py3-charset-normalizer (3.1.0-r1) (72/91) Installing py3-charset-normalizer-pyc (3.1.0-r1) (73/91) Installing py3-idna (3.4-r4) (74/91) Installing py3-idna-pyc (3.4-r4) (75/91) Installing py3-urllib3 (1.26.15-r2) (76/91) Installing py3-urllib3-pyc (1.26.15-r2) (77/91) Installing py3-requests (2.30.0-r0) (78/91) Installing py3-requests-pyc (2.30.0-r0) (79/91) Installing py3-setuptools (67.7.2-r0) (80/91) Installing py3-setuptools-pyc (67.7.2-r0) (81/91) Installing py3-wheel (0.40.0-r1) (82/91) Installing py3-wheel-pyc (0.40.0-r1) (83/91) Installing py3-iniconfig (1.1.1-r6) (84/91) Installing py3-iniconfig-pyc (1.1.1-r6) (85/91) Installing py3-pluggy (1.0.0-r3) (86/91) Installing py3-pluggy-pyc (1.0.0-r3) (87/91) Installing py3-py (1.11.0-r2) (88/91) Installing py3-py-pyc (1.11.0-r2) (89/91) Installing py3-pytest (7.3.1-r1) (90/91) Installing py3-pytest-pyc (7.3.1-r1) (91/91) Installing .makedepends-py3-bioframe (20230514.115826) Executing busybox-1.36.0-r10.trigger OK: 1139 MiB in 200 packages >>> py3-bioframe: Cleaning up srcdir >>> py3-bioframe: Cleaning up pkgdir >>> py3-bioframe: Fetching https://distfiles.alpinelinux.org/distfiles/edge//bioframe-0.4.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> py3-bioframe: Fetching https://github.com/open2c/bioframe/archive/v0.4.1/bioframe-0.4.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 796k 0 796k 0 0 858k 0 --:--:-- --:--:-- --:--:-- 1537k >>> py3-bioframe: Fetching https://distfiles.alpinelinux.org/distfiles/edge//bioframe-0.4.1.tar.gz >>> py3-bioframe: Checking sha512sums... bioframe-0.4.1.tar.gz: OK >>> py3-bioframe: Unpacking /var/cache/distfiles/edge//bioframe-0.4.1.tar.gz... /usr/lib/python3.11/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) running build running build_py creating build creating build/lib creating build/lib/bioframe copying bioframe/__init__.py -> build/lib/bioframe copying bioframe/extras.py -> build/lib/bioframe copying bioframe/ops.py -> build/lib/bioframe copying bioframe/vis.py -> build/lib/bioframe copying bioframe/_version.py -> build/lib/bioframe creating build/lib/bioframe/io copying bioframe/io/__init__.py -> build/lib/bioframe/io copying bioframe/io/resources.py -> build/lib/bioframe/io copying bioframe/io/schemas.py -> build/lib/bioframe/io copying bioframe/io/fileops.py -> build/lib/bioframe/io creating build/lib/bioframe/core copying bioframe/core/__init__.py -> build/lib/bioframe/core copying bioframe/core/stringops.py -> build/lib/bioframe/core copying bioframe/core/arrops.py -> build/lib/bioframe/core copying bioframe/core/construction.py -> build/lib/bioframe/core copying bioframe/core/checks.py -> build/lib/bioframe/core copying bioframe/core/specs.py -> build/lib/bioframe/core creating build/lib/bioframe/io/data copying bioframe/io/data/danRer10.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/t2t-chm13-v1.1.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/mm9.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/hg19.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/mm10.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/dm3.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/ce10.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/t2t-chm13-v1.0.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/danRer11.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/sacCer3.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/ce11.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/wuhCor1.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/dm6.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/hg38.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/GRCh37.seqinfo.tsv -> build/lib/bioframe/io/data copying bioframe/io/data/mm39.seqinfo.tsv -> build/lib/bioframe/io/data ============================= test session starts ============================== platform linux -- Python 3.11.3, pytest-7.3.1, pluggy-1.0.0 rootdir: /home/buildozer/aports/testing/py3-bioframe/src/bioframe-0.4.1 collected 50 items / 1 deselected / 49 selected tests/test_core_checks.py ........ [ 16%] tests/test_core_construction.py .... [ 24%] tests/test_core_specs.py ..... [ 34%] tests/test_core_stringops.py .... [ 42%] tests/test_extras.py F.ss.. [ 55%] tests/test_io.py .. [ 59%] tests/test_ops.py ....FF..F.... [ 85%] tests/test_ops_select.py ....... [100%] =================================== FAILURES =================================== _____________________________ test_make_chromarms ______________________________ def test_make_chromarms(): ### test the case where columns have different names df1 = pd.DataFrame( [["chrX", 0, 8]], columns=["chromosome", "lo", "hi"], ) df2 = pd.DataFrame([["chrX", 4]], columns=["chromosome", "loc"]) df_result = pd.DataFrame( [ ["chrX", 0, 4, "chrX_p"], ["chrX", 4, 8, "chrX_q"], ], columns=["chromosome", "lo", "hi", "name"], ) # test passing 3 columns pd.testing.assert_frame_equal( df_result.astype({"lo": pd.Int64Dtype(), "hi": pd.Int64Dtype()}), > bioframe.make_chromarms( df1, df2, cols_chroms=["chromosome", "lo", "hi"], cols_mids=["chromosome", "loc"], ), ) tests/test_extras.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ bioframe/extras.py:99: in make_chromarms df_chromarms = ops.subtract( bioframe/ops.py:1310: in subtract complement( bioframe/ops.py:1603: in complement view_df = construction.make_viewframe( bioframe/core/construction.py:252: in make_viewframe if checks.is_viewframe( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ region_df = chrom start end name 0 chrX 0 9223372036854775807 chrX raise_errors = True, view_name_col = 'name', cols = ['chrom', 'start', 'end'] def is_viewframe(region_df, raise_errors=False, view_name_col="name", cols=None): """ Checks that `region_df` is a valid viewFrame. This includes: - it satisfies requirements for a bedframe, including columns for ('chrom', 'start', 'end') - it has an additional column, view_name_col, with default 'name' - it does not contain null values - entries in the view_name_col are unique. - intervals are non-overlapping Parameters ---------- region_df : pandas.DataFrame Dataframe of genomic intervals to be tested. raise_errors : bool If True, raises errors instead of returning a boolean False for invalid properties. Default False. view_name_col : str Specifies column name of the view regions. Default 'name'. cols : (str, str, str) or None The names of columns containing the chromosome, start and end of the genomic intervals, provided separately for each set. The default values are 'chrom', 'start', 'end'. Returns ------- is_viewframe:bool """ ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols if not _verify_columns( region_df, [ck1, sk1, ek1, view_name_col], return_as_bool=True ): if raise_errors: raise TypeError("Invalid view: invalid column names") return False if not is_bedframe(region_df, cols=cols): if raise_errors: raise ValueError("Invalid view: not a bedframe") return False if pd.isna(region_df).values.any(): if raise_errors: raise ValueError("Invalid view: cannot contain NAs") return False if len(set(region_df[view_name_col])) < len(region_df[view_name_col].values): if raise_errors: raise ValueError( "Invalid view: entries in region_df[view_name_col] must be unique" ) return False if is_overlapping(region_df, cols=cols): if raise_errors: > raise ValueError("Invalid view: entries must be non-overlapping") E ValueError: Invalid view: entries must be non-overlapping bioframe/core/checks.py:241: ValueError __________________________________ test_merge __________________________________ def test_merge(): df1 = pd.DataFrame( [ ["chr1", 1, 5], ["chr1", 3, 8], ["chr1", 8, 10], ["chr1", 12, 14], ], columns=["chrom", "start", "end"], ) # the last interval does not overlap the first three with default min_dist=0 assert (bioframe.merge(df1)["n_intervals"].values == np.array([3, 1])).all() # adjacent intervals are not clustered with min_dist=none assert ( bioframe.merge(df1, min_dist=None)["n_intervals"].values == np.array([2, 1, 1]) ).all() # all intervals part of one cluster assert ( bioframe.merge(df1, min_dist=2)["n_intervals"].values == np.array([4]) ).all() df1.iloc[0, 0] = "chrX" assert ( bioframe.merge(df1, min_dist=None)["n_intervals"].values == np.array([1, 1, 1, 1]) ).all() assert ( bioframe.merge(df1, min_dist=0)["n_intervals"].values == np.array([2, 1, 1]) ).all() # total number of intervals should equal length of original dataframe mock_df = mock_bioframe() assert np.sum(bioframe.merge(mock_df, min_dist=0)["n_intervals"].values) == len( mock_df ) # # test consistency with pyranges # pd.testing.assert_frame_equal( # pyranges_to_bioframe(bioframe_to_pyranges(df1).merge(count=True)), # bioframe.merge(df1), # check_dtype=False, # check_exact=False, # ) # test on=['chrom',...] argument df1 = pd.DataFrame( [ ["chr1", 3, 8, "+", "cat", 5.5], ["chr1", 3, 8, "-", "dog", 6.5], ["chr1", 6, 10, "-", "cat", 6.5], ["chrX", 6, 10, "-", "cat", 6.5], ], columns=["chrom", "start", "end", "strand", "animal", "location"], ) assert len(bioframe.merge(df1, on=None)) == 2 assert len(bioframe.merge(df1, on=["strand"])) == 3 assert len(bioframe.merge(df1, on=["strand", "location"])) == 3 assert len(bioframe.merge(df1, on=["strand", "location", "animal"])) == 4 d = """ chrom start end animal n_intervals 0 chr1 3 10 cat 2 1 chr1 3 8 dog 1 2 chrX 6 10 cat 1""" df = pd.read_csv(StringIO(d), sep=r"\s+") pd.testing.assert_frame_equal( df, bioframe.merge(df1, on=["animal"]), check_dtype=False, ) # merge with repeated indices df = pd.DataFrame( {"chrom": ["chr1", "chr2"], "start": [100, 400], "end": [110, 410]} ) df.index = [0, 0] > pd.testing.assert_frame_equal( df.reset_index(drop=True), bioframe.merge(df)[["chrom", "start", "end"]] ) E AssertionError: Attributes of DataFrame.iloc[:, 1] (column name="start") are different E E Attribute "dtype" are different E [left]: int64 E [right]: int32 tests/test_ops.py:677: AssertionError _______________________________ test_complement ________________________________ def test_complement(): ### complementing a df with no intervals in chrX by a view with chrX should return entire chrX region df1 = pd.DataFrame( [["chr1", 1, 5], ["chr1", 3, 8], ["chr1", 8, 10], ["chr1", 12, 14]], columns=["chrom", "start", "end"], ) df1_chromsizes = {"chr1": 100, "chrX": 100} df1_complement = pd.DataFrame( [ ["chr1", 0, 1, "chr1"], ["chr1", 10, 12, "chr1"], ["chr1", 14, 100, "chr1"], ["chrX", 0, 100, "chrX"], ], columns=["chrom", "start", "end", "view_region"], ) pd.testing.assert_frame_equal( bioframe.complement(df1, view_df=df1_chromsizes), df1_complement ) # non-default columns in view funky_view = make_viewframe(df1_chromsizes, cols=["chr", "start", "end"]) pd.testing.assert_frame_equal( bioframe.complement( df1, view_df=funky_view, cols_view=["chr", "start", "end"], ), df1_complement, ) ### test complement with two chromosomes ### df1.iloc[0, 0] = "chrX" df1_complement = pd.DataFrame( [ ["chr1", 0, 3, "chr1"], ["chr1", 10, 12, "chr1"], ["chr1", 14, 100, "chr1"], ["chrX", 0, 1, "chrX"], ["chrX", 5, 100, "chrX"], ], columns=["chrom", "start", "end", "view_region"], ) > pd.testing.assert_frame_equal( bioframe.complement(df1, view_df=df1_chromsizes), df1_complement ) E AssertionError: Attributes of DataFrame.iloc[:, 1] (column name="start") are different E E Attribute "dtype" are different E [left]: int32 E [right]: int64 tests/test_ops.py:748: AssertionError ________________________________ test_subtract _________________________________ def test_subtract(): ### no intervals should be left after self-subtraction df1 = pd.DataFrame( [["chrX", 3, 8], ["chr1", 4, 7], ["chrX", 1, 5]], columns=["chrom", "start", "end"], ) assert len(bioframe.subtract(df1, df1)) == 0 ### no intervals on chrX should remain after subtracting a longer interval ### interval on chr1 should be split. ### additional column should be propagated to children. df2 = pd.DataFrame( [ ["chrX", 0, 18], ["chr1", 5, 6], ], columns=["chrom", "start", "end"], ) df1["animal"] = "sea-creature" df_result = pd.DataFrame( [["chr1", 4, 5, "sea-creature"], ["chr1", 6, 7, "sea-creature"]], columns=["chrom", "start", "end", "animal"], ).astype({"start": pd.Int64Dtype(), "end": pd.Int64Dtype()}) > pd.testing.assert_frame_equal( df_result, bioframe.subtract(df1, df2) .sort_values(["chrom", "start", "end"]) .reset_index(drop=True), ) E AssertionError: DataFrame are different E E DataFrame shape mismatch E [left]: (2, 4) E [right]: (1, 4) tests/test_ops.py:1118: AssertionError =============================== warnings summary =============================== ../../../../../../../usr/lib/python3.11/site-packages/pkg_resources/__init__.py:121 /usr/lib/python3.11/site-packages/pkg_resources/__init__.py:121: DeprecationWarning: pkg_resources is deprecated as an API warnings.warn("pkg_resources is deprecated as an API", DeprecationWarning) ../../../../../../../usr/lib/python3.11/site-packages/pkg_resources/__init__.py:2870 /usr/lib/python3.11/site-packages/pkg_resources/__init__.py:2870: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) tests/test_io.py:23 /home/buildozer/aports/testing/py3-bioframe/src/bioframe-0.4.1/tests/test_io.py:23: DeprecationWarning: invalid escape sequence '\s' assert bioframe.read_table(StringIO(d), schema="bed3", sep="\s+").shape == (3, 3) tests/test_io.py:24 /home/buildozer/aports/testing/py3-bioframe/src/bioframe-0.4.1/tests/test_io.py:24: DeprecationWarning: invalid escape sequence '\s' assert bioframe.read_table(StringIO(d), schema="bed6", sep="\s+").shape == (3, 6) tests/test_io.py:25 /home/buildozer/aports/testing/py3-bioframe/src/bioframe-0.4.1/tests/test_io.py:25: DeprecationWarning: invalid escape sequence '\s' assert bioframe.read_table(StringIO(d), schema="bed12", sep="\s+").shape == (3, 12) tests/test_io.py:33 /home/buildozer/aports/testing/py3-bioframe/src/bioframe-0.4.1/tests/test_io.py:33: DeprecationWarning: invalid escape sequence '\s' StringIO(d), schema="bedpe", sep="\s+", schema_is_strict=True -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_extras.py::test_make_chromarms - ValueError: Invalid view: ... FAILED tests/test_ops.py::test_merge - AssertionError: Attributes of DataFram... FAILED tests/test_ops.py::test_complement - AssertionError: Attributes of Dat... FAILED tests/test_ops.py::test_subtract - AssertionError: DataFrame are diffe... ====== 4 failed, 43 passed, 2 skipped, 1 deselected, 6 warnings in 3.09s ======= >>> ERROR: py3-bioframe: check failed >>> py3-bioframe: Uninstalling dependencies... (1/91) Purging .makedepends-py3-bioframe (20230514.115826) (2/91) Purging py3-matplotlib-pyc (3.7.1-r0) (3/91) Purging py3-matplotlib (3.7.1-r0) (4/91) Purging py3-cairo-pyc (1.23.0-r4) (5/91) Purging py3-cairo (1.23.0-r4) (6/91) Purging py3-contourpy-pyc (1.0.7-r1) (7/91) Purging py3-contourpy (1.0.7-r1) (8/91) Purging py3-cycler-pyc (0.11.0-r2) (9/91) Purging py3-cycler (0.11.0-r2) (10/91) Purging py3-fonttools-pyc (4.39.4-r0) (11/91) Purging py3-fonttools (4.39.4-r0) (12/91) Purging py3-kiwisolver-pyc (1.4.4-r1) (13/91) Purging py3-kiwisolver (1.4.4-r1) (14/91) Purging py3-pillow-pyc (9.5.0-r1) (15/91) Purging py3-pillow (9.5.0-r1) (16/91) Purging python3-tkinter-pyc (3.11.3-r1) (17/91) Purging python3-tkinter (3.11.3-r1) (18/91) Purging py3-pandas-pyc (1.5.3-r1) (19/91) Purging py3-pandas (1.5.3-r1) (20/91) Purging py3-dateutil-pyc (2.8.2-r3) (21/91) Purging py3-dateutil (2.8.2-r3) (22/91) Purging py3-six-pyc (1.16.0-r6) (23/91) Purging py3-six (1.16.0-r6) (24/91) Purging py3-numpy-pyc (1.24.3-r0) (25/91) Purging py3-numpy (1.24.3-r0) (26/91) Purging openblas (0.3.23-r0) (27/91) Purging py3-tz-pyc (2023.3-r1) (28/91) Purging py3-tz (2023.3-r1) (29/91) Purging py3-yaml-pyc (6.0-r3) (30/91) Purging py3-yaml (6.0-r3) (31/91) Purging py3-requests-pyc (2.30.0-r0) (32/91) Purging py3-requests (2.30.0-r0) (33/91) Purging py3-certifi-pyc (2023.5.7-r0) (34/91) Purging py3-certifi (2023.5.7-r0) (35/91) Purging py3-charset-normalizer-pyc (3.1.0-r1) (36/91) Purging py3-charset-normalizer (3.1.0-r1) (37/91) Purging py3-idna-pyc (3.4-r4) (38/91) Purging py3-idna (3.4-r4) (39/91) Purging py3-urllib3-pyc (1.26.15-r2) (40/91) Purging py3-urllib3 (1.26.15-r2) (41/91) Purging py3-setuptools-pyc (67.7.2-r0) (42/91) Purging py3-setuptools (67.7.2-r0) (43/91) Purging py3-wheel-pyc (0.40.0-r1) (44/91) Purging py3-wheel (0.40.0-r1) (45/91) Purging py3-pytest-pyc (7.3.1-r1) (46/91) Purging py3-pytest (7.3.1-r1) (47/91) Purging py3-iniconfig-pyc (1.1.1-r6) (48/91) Purging py3-iniconfig (1.1.1-r6) (49/91) Purging py3-packaging-pyc (23.1-r1) (50/91) Purging py3-packaging (23.1-r1) (51/91) Purging py3-parsing-pyc (3.0.9-r2) (52/91) Purging py3-parsing (3.0.9-r2) (53/91) Purging py3-pluggy-pyc (1.0.0-r3) (54/91) Purging py3-pluggy (1.0.0-r3) (55/91) Purging py3-py-pyc (1.11.0-r2) (56/91) Purging py3-py (1.11.0-r2) (57/91) Purging cairo (1.17.8-r1) (58/91) Purging lcms2 (2.15-r3) (59/91) Purging libgfortran (12.2.1_git20220924-r10) (60/91) Purging libimagequant (4.2.0-r0) (61/91) Purging libxext (1.3.5-r2) (62/91) Purging openjpeg (2.5.0-r3) (63/91) Purging pixman (0.42.2-r1) (64/91) Purging python3-pyc (3.11.3-r11) (65/91) Purging python3-pycache-pyc0 (3.11.3-r11) (66/91) Purging pyc (0.1-r0) (67/91) Purging qhull (2020.2-r2) (68/91) Purging tiff (4.5.0-r6) (69/91) Purging tk (8.6.13-r1) (70/91) Purging yaml (0.2.5-r1) (71/91) Purging libxft (2.3.8-r1) (72/91) Purging fontconfig (2.14.2-r3) (73/91) Purging freetype (2.13.0-r5) (74/91) Purging python3 (3.11.3-r11) (75/91) Purging gdbm (1.23-r1) (76/91) Purging libxrender (0.9.11-r3) (77/91) Purging libx11 (1.8.4-r3) (78/91) Purging libxcb (1.15-r1) (79/91) Purging libxdmcp (1.1.4-r2) (80/91) Purging libbsd (0.11.7-r1) (81/91) Purging libjpeg-turbo (2.1.5.1-r2) (82/91) Purging libmd (1.0.4-r2) (83/91) Purging libpanelw (6.4_p20230506-r1) (84/91) Purging libpng (1.6.39-r3) (85/91) Purging libwebp (1.3.0-r1) (86/91) Purging libxau (1.0.11-r2) (87/91) Purging mpdecimal (2.5.1-r2) (88/91) Purging readline (8.2.1-r1) (89/91) Purging sqlite-libs (3.41.2-r2) (90/91) Purging tcl (8.6.13-r1) (91/91) Purging tzdata (2023c-r1) Executing busybox-1.36.0-r10.trigger OK: 916 MiB in 109 packages