android-notify 1.60.0__py3-none-any.whl → 1.60.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of android-notify might be problematic. Click here for more details.
- android_notify/config.py +1 -1
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/METADATA +4 -4
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/RECORD +375 -6
- venv/Lib/site-packages/_distutils_hack/__init__.py +239 -0
- venv/Lib/site-packages/_distutils_hack/override.py +1 -0
- venv/Lib/site-packages/pkg_resources/__init__.py +3713 -0
- venv/Lib/site-packages/pkg_resources/py.typed +0 -0
- venv/Lib/site-packages/pkg_resources/tests/__init__.py +0 -0
- venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +7 -0
- venv/Lib/site-packages/pkg_resources/tests/test_find_distributions.py +56 -0
- venv/Lib/site-packages/pkg_resources/tests/test_integration_zope_interface.py +54 -0
- venv/Lib/site-packages/pkg_resources/tests/test_markers.py +8 -0
- venv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +485 -0
- venv/Lib/site-packages/pkg_resources/tests/test_resources.py +869 -0
- venv/Lib/site-packages/pkg_resources/tests/test_working_set.py +505 -0
- venv/Lib/site-packages/setuptools/__init__.py +248 -0
- venv/Lib/site-packages/setuptools/_core_metadata.py +337 -0
- venv/Lib/site-packages/setuptools/_discovery.py +33 -0
- venv/Lib/site-packages/setuptools/_distutils/__init__.py +14 -0
- venv/Lib/site-packages/setuptools/_distutils/_log.py +3 -0
- venv/Lib/site-packages/setuptools/_distutils/_macos_compat.py +12 -0
- venv/Lib/site-packages/setuptools/_distutils/_modified.py +95 -0
- venv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +16 -0
- venv/Lib/site-packages/setuptools/_distutils/archive_util.py +294 -0
- venv/Lib/site-packages/setuptools/_distutils/ccompiler.py +26 -0
- venv/Lib/site-packages/setuptools/_distutils/cmd.py +554 -0
- venv/Lib/site-packages/setuptools/_distutils/command/__init__.py +23 -0
- venv/Lib/site-packages/setuptools/_distutils/command/_framework_compat.py +54 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist.py +167 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +141 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +598 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build.py +156 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +201 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +812 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_py.py +407 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +160 -0
- venv/Lib/site-packages/setuptools/_distutils/command/check.py +152 -0
- venv/Lib/site-packages/setuptools/_distutils/command/clean.py +77 -0
- venv/Lib/site-packages/setuptools/_distutils/command/config.py +358 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install.py +805 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_data.py +94 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py +91 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +46 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +238 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +62 -0
- venv/Lib/site-packages/setuptools/_distutils/command/sdist.py +521 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +18 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/py39.py +66 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1394 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_base.py +83 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py +76 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py +48 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py +136 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +413 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +422 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- venv/Lib/site-packages/setuptools/_distutils/core.py +289 -0
- venv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +31 -0
- venv/Lib/site-packages/setuptools/_distutils/debug.py +5 -0
- venv/Lib/site-packages/setuptools/_distutils/dep_util.py +14 -0
- venv/Lib/site-packages/setuptools/_distutils/dir_util.py +244 -0
- venv/Lib/site-packages/setuptools/_distutils/dist.py +1386 -0
- venv/Lib/site-packages/setuptools/_distutils/errors.py +108 -0
- venv/Lib/site-packages/setuptools/_distutils/extension.py +258 -0
- venv/Lib/site-packages/setuptools/_distutils/fancy_getopt.py +471 -0
- venv/Lib/site-packages/setuptools/_distutils/file_util.py +236 -0
- venv/Lib/site-packages/setuptools/_distutils/filelist.py +431 -0
- venv/Lib/site-packages/setuptools/_distutils/log.py +56 -0
- venv/Lib/site-packages/setuptools/_distutils/spawn.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/sysconfig.py +598 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/__init__.py +42 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/compat/py39.py +40 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/support.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +353 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist.py +47 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist_dumb.py +78 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist_rpm.py +127 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build.py +49 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_clib.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +628 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_py.py +196 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_scripts.py +96 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_check.py +194 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_clean.py +45 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_cmd.py +107 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_config_cmd.py +87 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_core.py +130 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +139 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +552 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +117 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_file_util.py +95 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_filelist.py +336 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install.py +245 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +74 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_headers.py +33 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_lib.py +110 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_scripts.py +52 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_log.py +12 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_modified.py +126 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +470 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +141 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +319 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_text_file.py +127 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_util.py +243 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_version.py +80 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_versionpredicate.py +0 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/unix_compat.py +17 -0
- venv/Lib/site-packages/setuptools/_distutils/text_file.py +286 -0
- venv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +9 -0
- venv/Lib/site-packages/setuptools/_distutils/util.py +518 -0
- venv/Lib/site-packages/setuptools/_distutils/version.py +348 -0
- venv/Lib/site-packages/setuptools/_distutils/versionpredicate.py +175 -0
- venv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +3 -0
- venv/Lib/site-packages/setuptools/_entry_points.py +94 -0
- venv/Lib/site-packages/setuptools/_imp.py +87 -0
- venv/Lib/site-packages/setuptools/_importlib.py +9 -0
- venv/Lib/site-packages/setuptools/_itertools.py +23 -0
- venv/Lib/site-packages/setuptools/_normalization.py +177 -0
- venv/Lib/site-packages/setuptools/_path.py +93 -0
- venv/Lib/site-packages/setuptools/_reqs.py +42 -0
- venv/Lib/site-packages/setuptools/_scripts.py +361 -0
- venv/Lib/site-packages/setuptools/_shutil.py +59 -0
- venv/Lib/site-packages/setuptools/_static.py +188 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/__init__.py +27 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autoasync.py +142 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autocommand.py +70 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/automain.py +59 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autoparse.py +333 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/errors.py +23 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/__init__.py +1 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +2937 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +5 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +24 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +1083 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +83 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +30 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +57 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +104 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +73 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +67 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_text.py +99 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +22 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +36 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +21 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/__init__.py +3986 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/compat/py38.py +7 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/collections/__init__.py +1091 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/context.py +361 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +633 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/__init__.py +624 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/layouts.py +25 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +33 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +21 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.py +4806 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py +1046 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +15 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +110 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +263 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_musllinux.py +85 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_parser.py +354 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +61 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_tokenizer.py +194 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +331 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +863 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +91 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +1020 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +617 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +163 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/version.py +582 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/__init__.py +627 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/__main__.py +55 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/android.py +249 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/api.py +292 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/macos.py +130 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/unix.py +275 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/version.py +16 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/windows.py +272 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/__init__.py +11 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_parser.py +691 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_re.py +107 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_types.py +10 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/__init__.py +48 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_checkers.py +993 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_config.py +108 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_decorators.py +235 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_exceptions.py +42 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_functions.py +308 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_importhook.py +213 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_memo.py +48 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +127 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_suppression.py +86 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_transformer.py +1229 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +55 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_utils.py +173 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/typing_extensions.py +3641 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +3 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/__main__.py +23 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +26 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +26 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +155 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +332 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/pack.py +85 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/tags.py +139 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/unpack.py +30 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +482 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +183 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/util.py +17 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +108 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +260 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +83 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +356 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +61 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +192 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +253 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +90 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +1011 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +571 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +172 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +561 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +227 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/__init__.py +501 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/compat/py310.py +11 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/glob.py +106 -0
- venv/Lib/site-packages/setuptools/archive_util.py +219 -0
- venv/Lib/site-packages/setuptools/build_meta.py +548 -0
- venv/Lib/site-packages/setuptools/command/__init__.py +21 -0
- venv/Lib/site-packages/setuptools/command/_requirestxt.py +131 -0
- venv/Lib/site-packages/setuptools/command/alias.py +77 -0
- venv/Lib/site-packages/setuptools/command/bdist_egg.py +477 -0
- venv/Lib/site-packages/setuptools/command/bdist_rpm.py +42 -0
- venv/Lib/site-packages/setuptools/command/bdist_wheel.py +604 -0
- venv/Lib/site-packages/setuptools/command/build.py +135 -0
- venv/Lib/site-packages/setuptools/command/build_clib.py +103 -0
- venv/Lib/site-packages/setuptools/command/build_ext.py +470 -0
- venv/Lib/site-packages/setuptools/command/build_py.py +400 -0
- venv/Lib/site-packages/setuptools/command/develop.py +55 -0
- venv/Lib/site-packages/setuptools/command/dist_info.py +103 -0
- venv/Lib/site-packages/setuptools/command/easy_install.py +30 -0
- venv/Lib/site-packages/setuptools/command/editable_wheel.py +908 -0
- venv/Lib/site-packages/setuptools/command/egg_info.py +718 -0
- venv/Lib/site-packages/setuptools/command/install.py +131 -0
- venv/Lib/site-packages/setuptools/command/install_egg_info.py +58 -0
- venv/Lib/site-packages/setuptools/command/install_lib.py +137 -0
- venv/Lib/site-packages/setuptools/command/install_scripts.py +67 -0
- venv/Lib/site-packages/setuptools/command/rotate.py +65 -0
- venv/Lib/site-packages/setuptools/command/saveopts.py +21 -0
- venv/Lib/site-packages/setuptools/command/sdist.py +217 -0
- venv/Lib/site-packages/setuptools/command/setopt.py +141 -0
- venv/Lib/site-packages/setuptools/command/test.py +45 -0
- venv/Lib/site-packages/setuptools/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/compat/py310.py +20 -0
- venv/Lib/site-packages/setuptools/compat/py311.py +27 -0
- venv/Lib/site-packages/setuptools/compat/py312.py +13 -0
- venv/Lib/site-packages/setuptools/compat/py39.py +9 -0
- venv/Lib/site-packages/setuptools/config/__init__.py +43 -0
- venv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +526 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/__init__.py +34 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +336 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +82 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +51 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +1412 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +402 -0
- venv/Lib/site-packages/setuptools/config/expand.py +452 -0
- venv/Lib/site-packages/setuptools/config/pyprojecttoml.py +468 -0
- venv/Lib/site-packages/setuptools/config/setupcfg.py +780 -0
- venv/Lib/site-packages/setuptools/depends.py +185 -0
- venv/Lib/site-packages/setuptools/discovery.py +614 -0
- venv/Lib/site-packages/setuptools/dist.py +1119 -0
- venv/Lib/site-packages/setuptools/errors.py +67 -0
- venv/Lib/site-packages/setuptools/extension.py +177 -0
- venv/Lib/site-packages/setuptools/glob.py +185 -0
- venv/Lib/site-packages/setuptools/installer.py +155 -0
- venv/Lib/site-packages/setuptools/launch.py +36 -0
- venv/Lib/site-packages/setuptools/logging.py +40 -0
- venv/Lib/site-packages/setuptools/modified.py +18 -0
- venv/Lib/site-packages/setuptools/monkey.py +126 -0
- venv/Lib/site-packages/setuptools/msvc.py +1536 -0
- venv/Lib/site-packages/setuptools/namespaces.py +106 -0
- venv/Lib/site-packages/setuptools/tests/__init__.py +13 -0
- venv/Lib/site-packages/setuptools/tests/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/compat/py39.py +3 -0
- venv/Lib/site-packages/setuptools/tests/config/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +59 -0
- venv/Lib/site-packages/setuptools/tests/config/downloads/preload.py +18 -0
- venv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +772 -0
- venv/Lib/site-packages/setuptools/tests/config/test_expand.py +247 -0
- venv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +396 -0
- venv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +109 -0
- venv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +980 -0
- venv/Lib/site-packages/setuptools/tests/contexts.py +131 -0
- venv/Lib/site-packages/setuptools/tests/environment.py +95 -0
- venv/Lib/site-packages/setuptools/tests/fixtures.py +392 -0
- venv/Lib/site-packages/setuptools/tests/integration/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/integration/helpers.py +77 -0
- venv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
- venv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +223 -0
- venv/Lib/site-packages/setuptools/tests/mod_with_constant.py +1 -0
- venv/Lib/site-packages/setuptools/tests/namespaces.py +90 -0
- venv/Lib/site-packages/setuptools/tests/script-with-bom.py +1 -0
- venv/Lib/site-packages/setuptools/tests/test_archive_util.py +36 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_deprecations.py +28 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +73 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +708 -0
- venv/Lib/site-packages/setuptools/tests/test_build.py +33 -0
- venv/Lib/site-packages/setuptools/tests/test_build_clib.py +84 -0
- venv/Lib/site-packages/setuptools/tests/test_build_ext.py +293 -0
- venv/Lib/site-packages/setuptools/tests/test_build_meta.py +959 -0
- venv/Lib/site-packages/setuptools/tests/test_build_py.py +480 -0
- venv/Lib/site-packages/setuptools/tests/test_config_discovery.py +647 -0
- venv/Lib/site-packages/setuptools/tests/test_core_metadata.py +622 -0
- venv/Lib/site-packages/setuptools/tests/test_depends.py +15 -0
- venv/Lib/site-packages/setuptools/tests/test_develop.py +112 -0
- venv/Lib/site-packages/setuptools/tests/test_dist.py +278 -0
- venv/Lib/site-packages/setuptools/tests/test_dist_info.py +147 -0
- venv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +198 -0
- venv/Lib/site-packages/setuptools/tests/test_editable_install.py +1263 -0
- venv/Lib/site-packages/setuptools/tests/test_egg_info.py +1306 -0
- venv/Lib/site-packages/setuptools/tests/test_extern.py +15 -0
- venv/Lib/site-packages/setuptools/tests/test_find_packages.py +218 -0
- venv/Lib/site-packages/setuptools/tests/test_find_py_modules.py +73 -0
- venv/Lib/site-packages/setuptools/tests/test_glob.py +45 -0
- venv/Lib/site-packages/setuptools/tests/test_install_scripts.py +89 -0
- venv/Lib/site-packages/setuptools/tests/test_logging.py +76 -0
- venv/Lib/site-packages/setuptools/tests/test_manifest.py +622 -0
- venv/Lib/site-packages/setuptools/tests/test_namespaces.py +138 -0
- venv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
- venv/Lib/site-packages/setuptools/tests/test_sdist.py +984 -0
- venv/Lib/site-packages/setuptools/tests/test_setopt.py +40 -0
- venv/Lib/site-packages/setuptools/tests/test_setuptools.py +290 -0
- venv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- venv/Lib/site-packages/setuptools/tests/test_unicode_utils.py +10 -0
- venv/Lib/site-packages/setuptools/tests/test_virtualenv.py +113 -0
- venv/Lib/site-packages/setuptools/tests/test_warnings.py +106 -0
- venv/Lib/site-packages/setuptools/tests/test_wheel.py +690 -0
- venv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +258 -0
- venv/Lib/site-packages/setuptools/tests/text.py +4 -0
- venv/Lib/site-packages/setuptools/tests/textwrap.py +6 -0
- venv/Lib/site-packages/setuptools/unicode_utils.py +102 -0
- venv/Lib/site-packages/setuptools/version.py +6 -0
- venv/Lib/site-packages/setuptools/warnings.py +110 -0
- venv/Lib/site-packages/setuptools/wheel.py +261 -0
- venv/Lib/site-packages/setuptools/windows_support.py +30 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/WHEEL +0 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/entry_points.txt +0 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"""Timestamp comparison of files and groups of files."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import functools
|
|
6
|
+
import os.path
|
|
7
|
+
from collections.abc import Callable, Iterable
|
|
8
|
+
from typing import Literal, TypeVar
|
|
9
|
+
|
|
10
|
+
from jaraco.functools import splat
|
|
11
|
+
|
|
12
|
+
from .compat.py39 import zip_strict
|
|
13
|
+
from .errors import DistutilsFileError
|
|
14
|
+
|
|
15
|
+
_SourcesT = TypeVar(
|
|
16
|
+
"_SourcesT", bound="str | bytes | os.PathLike[str] | os.PathLike[bytes]"
|
|
17
|
+
)
|
|
18
|
+
_TargetsT = TypeVar(
|
|
19
|
+
"_TargetsT", bound="str | bytes | os.PathLike[str] | os.PathLike[bytes]"
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def _newer(source, target):
|
|
24
|
+
return not os.path.exists(target) or (
|
|
25
|
+
os.path.getmtime(source) > os.path.getmtime(target)
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def newer(
|
|
30
|
+
source: str | bytes | os.PathLike[str] | os.PathLike[bytes],
|
|
31
|
+
target: str | bytes | os.PathLike[str] | os.PathLike[bytes],
|
|
32
|
+
) -> bool:
|
|
33
|
+
"""
|
|
34
|
+
Is source modified more recently than target.
|
|
35
|
+
|
|
36
|
+
Returns True if 'source' is modified more recently than
|
|
37
|
+
'target' or if 'target' does not exist.
|
|
38
|
+
|
|
39
|
+
Raises DistutilsFileError if 'source' does not exist.
|
|
40
|
+
"""
|
|
41
|
+
if not os.path.exists(source):
|
|
42
|
+
raise DistutilsFileError(f"file {os.path.abspath(source)!r} does not exist")
|
|
43
|
+
|
|
44
|
+
return _newer(source, target)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def newer_pairwise(
|
|
48
|
+
sources: Iterable[_SourcesT],
|
|
49
|
+
targets: Iterable[_TargetsT],
|
|
50
|
+
newer: Callable[[_SourcesT, _TargetsT], bool] = newer,
|
|
51
|
+
) -> tuple[list[_SourcesT], list[_TargetsT]]:
|
|
52
|
+
"""
|
|
53
|
+
Filter filenames where sources are newer than targets.
|
|
54
|
+
|
|
55
|
+
Walk two filename iterables in parallel, testing if each source is newer
|
|
56
|
+
than its corresponding target. Returns a pair of lists (sources,
|
|
57
|
+
targets) where source is newer than target, according to the semantics
|
|
58
|
+
of 'newer()'.
|
|
59
|
+
"""
|
|
60
|
+
newer_pairs = filter(splat(newer), zip_strict(sources, targets))
|
|
61
|
+
return tuple(map(list, zip(*newer_pairs))) or ([], [])
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def newer_group(
|
|
65
|
+
sources: Iterable[str | bytes | os.PathLike[str] | os.PathLike[bytes]],
|
|
66
|
+
target: str | bytes | os.PathLike[str] | os.PathLike[bytes],
|
|
67
|
+
missing: Literal["error", "ignore", "newer"] = "error",
|
|
68
|
+
) -> bool:
|
|
69
|
+
"""
|
|
70
|
+
Is target out-of-date with respect to any file in sources.
|
|
71
|
+
|
|
72
|
+
Return True if 'target' is out-of-date with respect to any file
|
|
73
|
+
listed in 'sources'. In other words, if 'target' exists and is newer
|
|
74
|
+
than every file in 'sources', return False; otherwise return True.
|
|
75
|
+
``missing`` controls how to handle a missing source file:
|
|
76
|
+
|
|
77
|
+
- error (default): allow the ``stat()`` call to fail.
|
|
78
|
+
- ignore: silently disregard any missing source files.
|
|
79
|
+
- newer: treat missing source files as "target out of date". This
|
|
80
|
+
mode is handy in "dry-run" mode: it will pretend to carry out
|
|
81
|
+
commands that wouldn't work because inputs are missing, but
|
|
82
|
+
that doesn't matter because dry-run won't run the commands.
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
def missing_as_newer(source):
|
|
86
|
+
return missing == 'newer' and not os.path.exists(source)
|
|
87
|
+
|
|
88
|
+
ignored = os.path.exists if missing == 'ignore' else None
|
|
89
|
+
return not os.path.exists(target) or any(
|
|
90
|
+
missing_as_newer(source) or _newer(source, target)
|
|
91
|
+
for source in filter(ignored, sources)
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
newer_pairwise_group = functools.partial(newer_pairwise, newer=newer_group)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from .compilers.C import msvc
|
|
4
|
+
|
|
5
|
+
__all__ = ["MSVCCompiler"]
|
|
6
|
+
|
|
7
|
+
MSVCCompiler = msvc.Compiler
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def __getattr__(name):
|
|
11
|
+
if name == '_get_vc_env':
|
|
12
|
+
warnings.warn(
|
|
13
|
+
"_get_vc_env is private; find an alternative (pypa/distutils#340)"
|
|
14
|
+
)
|
|
15
|
+
return msvc._get_vc_env
|
|
16
|
+
raise AttributeError(name)
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"""distutils.archive_util
|
|
2
|
+
|
|
3
|
+
Utility functions for creating archive files (tarballs, zip files,
|
|
4
|
+
that sort of thing)."""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
import os
|
|
9
|
+
from typing import Literal, overload
|
|
10
|
+
|
|
11
|
+
try:
|
|
12
|
+
import zipfile
|
|
13
|
+
except ImportError:
|
|
14
|
+
zipfile = None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
from ._log import log
|
|
18
|
+
from .dir_util import mkpath
|
|
19
|
+
from .errors import DistutilsExecError
|
|
20
|
+
from .spawn import spawn
|
|
21
|
+
|
|
22
|
+
try:
|
|
23
|
+
from pwd import getpwnam
|
|
24
|
+
except ImportError:
|
|
25
|
+
getpwnam = None
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
from grp import getgrnam
|
|
29
|
+
except ImportError:
|
|
30
|
+
getgrnam = None
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _get_gid(name):
|
|
34
|
+
"""Returns a gid, given a group name."""
|
|
35
|
+
if getgrnam is None or name is None:
|
|
36
|
+
return None
|
|
37
|
+
try:
|
|
38
|
+
result = getgrnam(name)
|
|
39
|
+
except KeyError:
|
|
40
|
+
result = None
|
|
41
|
+
if result is not None:
|
|
42
|
+
return result[2]
|
|
43
|
+
return None
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _get_uid(name):
|
|
47
|
+
"""Returns an uid, given a user name."""
|
|
48
|
+
if getpwnam is None or name is None:
|
|
49
|
+
return None
|
|
50
|
+
try:
|
|
51
|
+
result = getpwnam(name)
|
|
52
|
+
except KeyError:
|
|
53
|
+
result = None
|
|
54
|
+
if result is not None:
|
|
55
|
+
return result[2]
|
|
56
|
+
return None
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def make_tarball(
|
|
60
|
+
base_name: str,
|
|
61
|
+
base_dir: str | os.PathLike[str],
|
|
62
|
+
compress: Literal["gzip", "bzip2", "xz"] | None = "gzip",
|
|
63
|
+
verbose: bool = False,
|
|
64
|
+
dry_run: bool = False,
|
|
65
|
+
owner: str | None = None,
|
|
66
|
+
group: str | None = None,
|
|
67
|
+
) -> str:
|
|
68
|
+
"""Create a (possibly compressed) tar file from all the files under
|
|
69
|
+
'base_dir'.
|
|
70
|
+
|
|
71
|
+
'compress' must be "gzip" (the default), "bzip2", "xz", or None.
|
|
72
|
+
|
|
73
|
+
'owner' and 'group' can be used to define an owner and a group for the
|
|
74
|
+
archive that is being built. If not provided, the current owner and group
|
|
75
|
+
will be used.
|
|
76
|
+
|
|
77
|
+
The output tar file will be named 'base_dir' + ".tar", possibly plus
|
|
78
|
+
the appropriate compression extension (".gz", ".bz2", ".xz" or ".Z").
|
|
79
|
+
|
|
80
|
+
Returns the output filename.
|
|
81
|
+
"""
|
|
82
|
+
tar_compression = {
|
|
83
|
+
'gzip': 'gz',
|
|
84
|
+
'bzip2': 'bz2',
|
|
85
|
+
'xz': 'xz',
|
|
86
|
+
None: '',
|
|
87
|
+
}
|
|
88
|
+
compress_ext = {'gzip': '.gz', 'bzip2': '.bz2', 'xz': '.xz'}
|
|
89
|
+
|
|
90
|
+
# flags for compression program, each element of list will be an argument
|
|
91
|
+
if compress is not None and compress not in compress_ext.keys():
|
|
92
|
+
raise ValueError(
|
|
93
|
+
"bad value for 'compress': must be None, 'gzip', 'bzip2', 'xz'"
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
archive_name = base_name + '.tar'
|
|
97
|
+
archive_name += compress_ext.get(compress, '')
|
|
98
|
+
|
|
99
|
+
mkpath(os.path.dirname(archive_name), dry_run=dry_run)
|
|
100
|
+
|
|
101
|
+
# creating the tarball
|
|
102
|
+
import tarfile # late import so Python build itself doesn't break
|
|
103
|
+
|
|
104
|
+
log.info('Creating tar archive')
|
|
105
|
+
|
|
106
|
+
uid = _get_uid(owner)
|
|
107
|
+
gid = _get_gid(group)
|
|
108
|
+
|
|
109
|
+
def _set_uid_gid(tarinfo):
|
|
110
|
+
if gid is not None:
|
|
111
|
+
tarinfo.gid = gid
|
|
112
|
+
tarinfo.gname = group
|
|
113
|
+
if uid is not None:
|
|
114
|
+
tarinfo.uid = uid
|
|
115
|
+
tarinfo.uname = owner
|
|
116
|
+
return tarinfo
|
|
117
|
+
|
|
118
|
+
if not dry_run:
|
|
119
|
+
tar = tarfile.open(archive_name, f'w|{tar_compression[compress]}')
|
|
120
|
+
try:
|
|
121
|
+
tar.add(base_dir, filter=_set_uid_gid)
|
|
122
|
+
finally:
|
|
123
|
+
tar.close()
|
|
124
|
+
|
|
125
|
+
return archive_name
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def make_zipfile( # noqa: C901
|
|
129
|
+
base_name: str,
|
|
130
|
+
base_dir: str | os.PathLike[str],
|
|
131
|
+
verbose: bool = False,
|
|
132
|
+
dry_run: bool = False,
|
|
133
|
+
) -> str:
|
|
134
|
+
"""Create a zip file from all the files under 'base_dir'.
|
|
135
|
+
|
|
136
|
+
The output zip file will be named 'base_name' + ".zip". Uses either the
|
|
137
|
+
"zipfile" Python module (if available) or the InfoZIP "zip" utility
|
|
138
|
+
(if installed and found on the default search path). If neither tool is
|
|
139
|
+
available, raises DistutilsExecError. Returns the name of the output zip
|
|
140
|
+
file.
|
|
141
|
+
"""
|
|
142
|
+
zip_filename = base_name + ".zip"
|
|
143
|
+
mkpath(os.path.dirname(zip_filename), dry_run=dry_run)
|
|
144
|
+
|
|
145
|
+
# If zipfile module is not available, try spawning an external
|
|
146
|
+
# 'zip' command.
|
|
147
|
+
if zipfile is None:
|
|
148
|
+
if verbose:
|
|
149
|
+
zipoptions = "-r"
|
|
150
|
+
else:
|
|
151
|
+
zipoptions = "-rq"
|
|
152
|
+
|
|
153
|
+
try:
|
|
154
|
+
spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run)
|
|
155
|
+
except DistutilsExecError:
|
|
156
|
+
# XXX really should distinguish between "couldn't find
|
|
157
|
+
# external 'zip' command" and "zip failed".
|
|
158
|
+
raise DistutilsExecError(
|
|
159
|
+
f"unable to create zip file '{zip_filename}': "
|
|
160
|
+
"could neither import the 'zipfile' module nor "
|
|
161
|
+
"find a standalone zip utility"
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
else:
|
|
165
|
+
log.info("creating '%s' and adding '%s' to it", zip_filename, base_dir)
|
|
166
|
+
|
|
167
|
+
if not dry_run:
|
|
168
|
+
try:
|
|
169
|
+
zip = zipfile.ZipFile(
|
|
170
|
+
zip_filename, "w", compression=zipfile.ZIP_DEFLATED
|
|
171
|
+
)
|
|
172
|
+
except RuntimeError:
|
|
173
|
+
zip = zipfile.ZipFile(zip_filename, "w", compression=zipfile.ZIP_STORED)
|
|
174
|
+
|
|
175
|
+
with zip:
|
|
176
|
+
if base_dir != os.curdir:
|
|
177
|
+
path = os.path.normpath(os.path.join(base_dir, ''))
|
|
178
|
+
zip.write(path, path)
|
|
179
|
+
log.info("adding '%s'", path)
|
|
180
|
+
for dirpath, dirnames, filenames in os.walk(base_dir):
|
|
181
|
+
for name in dirnames:
|
|
182
|
+
path = os.path.normpath(os.path.join(dirpath, name, ''))
|
|
183
|
+
zip.write(path, path)
|
|
184
|
+
log.info("adding '%s'", path)
|
|
185
|
+
for name in filenames:
|
|
186
|
+
path = os.path.normpath(os.path.join(dirpath, name))
|
|
187
|
+
if os.path.isfile(path):
|
|
188
|
+
zip.write(path, path)
|
|
189
|
+
log.info("adding '%s'", path)
|
|
190
|
+
|
|
191
|
+
return zip_filename
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
ARCHIVE_FORMATS = {
|
|
195
|
+
'gztar': (make_tarball, [('compress', 'gzip')], "gzip'ed tar-file"),
|
|
196
|
+
'bztar': (make_tarball, [('compress', 'bzip2')], "bzip2'ed tar-file"),
|
|
197
|
+
'xztar': (make_tarball, [('compress', 'xz')], "xz'ed tar-file"),
|
|
198
|
+
'ztar': (make_tarball, [('compress', 'compress')], "compressed tar file"),
|
|
199
|
+
'tar': (make_tarball, [('compress', None)], "uncompressed tar file"),
|
|
200
|
+
'zip': (make_zipfile, [], "ZIP file"),
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def check_archive_formats(formats):
|
|
205
|
+
"""Returns the first format from the 'format' list that is unknown.
|
|
206
|
+
|
|
207
|
+
If all formats are known, returns None
|
|
208
|
+
"""
|
|
209
|
+
for format in formats:
|
|
210
|
+
if format not in ARCHIVE_FORMATS:
|
|
211
|
+
return format
|
|
212
|
+
return None
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
@overload
|
|
216
|
+
def make_archive(
|
|
217
|
+
base_name: str,
|
|
218
|
+
format: str,
|
|
219
|
+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes] | None = None,
|
|
220
|
+
base_dir: str | None = None,
|
|
221
|
+
verbose: bool = False,
|
|
222
|
+
dry_run: bool = False,
|
|
223
|
+
owner: str | None = None,
|
|
224
|
+
group: str | None = None,
|
|
225
|
+
) -> str: ...
|
|
226
|
+
@overload
|
|
227
|
+
def make_archive(
|
|
228
|
+
base_name: str | os.PathLike[str],
|
|
229
|
+
format: str,
|
|
230
|
+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes],
|
|
231
|
+
base_dir: str | None = None,
|
|
232
|
+
verbose: bool = False,
|
|
233
|
+
dry_run: bool = False,
|
|
234
|
+
owner: str | None = None,
|
|
235
|
+
group: str | None = None,
|
|
236
|
+
) -> str: ...
|
|
237
|
+
def make_archive(
|
|
238
|
+
base_name: str | os.PathLike[str],
|
|
239
|
+
format: str,
|
|
240
|
+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes] | None = None,
|
|
241
|
+
base_dir: str | None = None,
|
|
242
|
+
verbose: bool = False,
|
|
243
|
+
dry_run: bool = False,
|
|
244
|
+
owner: str | None = None,
|
|
245
|
+
group: str | None = None,
|
|
246
|
+
) -> str:
|
|
247
|
+
"""Create an archive file (eg. zip or tar).
|
|
248
|
+
|
|
249
|
+
'base_name' is the name of the file to create, minus any format-specific
|
|
250
|
+
extension; 'format' is the archive format: one of "zip", "tar", "gztar",
|
|
251
|
+
"bztar", "xztar", or "ztar".
|
|
252
|
+
|
|
253
|
+
'root_dir' is a directory that will be the root directory of the
|
|
254
|
+
archive; ie. we typically chdir into 'root_dir' before creating the
|
|
255
|
+
archive. 'base_dir' is the directory where we start archiving from;
|
|
256
|
+
ie. 'base_dir' will be the common prefix of all files and
|
|
257
|
+
directories in the archive. 'root_dir' and 'base_dir' both default
|
|
258
|
+
to the current directory. Returns the name of the archive file.
|
|
259
|
+
|
|
260
|
+
'owner' and 'group' are used when creating a tar archive. By default,
|
|
261
|
+
uses the current owner and group.
|
|
262
|
+
"""
|
|
263
|
+
save_cwd = os.getcwd()
|
|
264
|
+
if root_dir is not None:
|
|
265
|
+
log.debug("changing into '%s'", root_dir)
|
|
266
|
+
base_name = os.path.abspath(base_name)
|
|
267
|
+
if not dry_run:
|
|
268
|
+
os.chdir(root_dir)
|
|
269
|
+
|
|
270
|
+
if base_dir is None:
|
|
271
|
+
base_dir = os.curdir
|
|
272
|
+
|
|
273
|
+
kwargs = {'dry_run': dry_run}
|
|
274
|
+
|
|
275
|
+
try:
|
|
276
|
+
format_info = ARCHIVE_FORMATS[format]
|
|
277
|
+
except KeyError:
|
|
278
|
+
raise ValueError(f"unknown archive format '{format}'")
|
|
279
|
+
|
|
280
|
+
func = format_info[0]
|
|
281
|
+
kwargs.update(format_info[1])
|
|
282
|
+
|
|
283
|
+
if format != 'zip':
|
|
284
|
+
kwargs['owner'] = owner
|
|
285
|
+
kwargs['group'] = group
|
|
286
|
+
|
|
287
|
+
try:
|
|
288
|
+
filename = func(base_name, base_dir, **kwargs)
|
|
289
|
+
finally:
|
|
290
|
+
if root_dir is not None:
|
|
291
|
+
log.debug("changing back to '%s'", save_cwd)
|
|
292
|
+
os.chdir(save_cwd)
|
|
293
|
+
|
|
294
|
+
return filename
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from .compat.numpy import ( # noqa: F401
|
|
2
|
+
_default_compilers,
|
|
3
|
+
compiler_class,
|
|
4
|
+
)
|
|
5
|
+
from .compilers.C import base
|
|
6
|
+
from .compilers.C.base import (
|
|
7
|
+
gen_lib_options,
|
|
8
|
+
gen_preprocess_options,
|
|
9
|
+
get_default_compiler,
|
|
10
|
+
new_compiler,
|
|
11
|
+
show_compilers,
|
|
12
|
+
)
|
|
13
|
+
from .compilers.C.errors import CompileError, LinkError
|
|
14
|
+
|
|
15
|
+
__all__ = [
|
|
16
|
+
'CompileError',
|
|
17
|
+
'LinkError',
|
|
18
|
+
'gen_lib_options',
|
|
19
|
+
'gen_preprocess_options',
|
|
20
|
+
'get_default_compiler',
|
|
21
|
+
'new_compiler',
|
|
22
|
+
'show_compilers',
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
CCompiler = base.Compiler
|