Package Details: python-bs4 0.0.2-1

Git Clone URL: https://aur.archlinux.org/python-bs4.git (read-only, click to copy)
Package Base: python-bs4
Description: Beautiful Soup. bs4 name required by CrackMapExec trunk
Upstream URL: https://pypi.python.org/pypi/bs4/
Keywords: beautifulsoup kludge lib library python
Licenses: custom:unknown
Submitter: GI_Jack
Maintainer: GI_Jack
Last Packager: GI_Jack
Votes: 6
Popularity: 0.000081
First Submitted: 2020-06-27 18:42 (UTC)
Last Updated: 2024-03-26 00:35 (UTC)

Pinned Comments

GI_Jack commented on 2024-03-26 00:41 (UTC) (edited on 2024-03-26 00:43 (UTC) by GI_Jack)

ATTENTION: This isn't the "real" beautiful soup package.

It exists because one specific program, crackmapexec checks if the module "bs4" is installed, and will exit if it is not.

For most programs using beautiful soup, the package python-beautifulsoup4 should be used instead. This package is a weird workaround for a single program with a unique issue. If you find other programs that also have this issue, you are free to use this workaround. Otherwise it should be avoided.

Thank you @yochananmarqos

Latest Comments

GI_Jack commented on 2024-03-26 00:41 (UTC) (edited on 2024-03-26 00:43 (UTC) by GI_Jack)

ATTENTION: This isn't the "real" beautiful soup package.

It exists because one specific program, crackmapexec checks if the module "bs4" is installed, and will exit if it is not.

For most programs using beautiful soup, the package python-beautifulsoup4 should be used instead. This package is a weird workaround for a single program with a unique issue. If you find other programs that also have this issue, you are free to use this workaround. Otherwise it should be avoided.

Thank you @yochananmarqos

yochananmarqos commented on 2024-03-18 23:26 (UTC) (edited on 2024-03-18 23:29 (UTC) by yochananmarqos)

PSA for AUR package maintainers with packages depending on python-bs4: This is an empty package. Click the URL above for more info:

This is a dummy package designed to prevent namesquatting on PyPI. You should install beautifulsoup4 instead.

AUR packages supposedly depending on this need to depend on python-beautifulsoup4 instead which provides the bs4 Python module.

slococo commented on 2023-05-17 16:57 (UTC)

Hello, this package can't be built now with the recent changes:

==> Making package: python-bs4 0.0.1-3 (Wed May 17 16:45:47 2023)
==> Retrieving sources...
  -> Downloading bs4-0.0.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

100  1121  100  1121    0     0  15137      0 --:--:-- --:--:-- --:--:-- 15137
==> Validating source files with sha256sums...
    bs4-0.0.1.tar.gz ... Passed
==> Making package: python-bs4 0.0.1-3 (Wed May 17 16:45:48 2023)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found bs4-0.0.1.tar.gz
==> Validating source files with sha256sums...
    bs4-0.0.1.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting bs4-0.0.1.tar.gz with bsdtar
==> Sources are ready.
python-bs4-0.0.1-3: parsing pkg list...
==> Making package: python-bs4 0.0.1-3 (Wed May 17 16:45:49 2023)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
* Getting build dependencies for wheel...

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'setuptools'

ERROR Backend 'setuptools.build_meta:__legacy__' is not available.
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'python-bs4-0.0.1-3': 
error: packages failed to build: python-bs4-0.0.1-3

Thanks for mantaining.

dreieck commented on 2023-05-07 15:47 (UTC)

I think you should switch to using python -m build and python -m installer instead of invoking setup.py directly:

/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer, pypa/build or
        other standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!

e.g. (just the idea, not tested with your package):

[...]
makedepends=(
  'python-build'
  'python-installer'
  'python-wheel'
  'python-setuptools'
  [...]
)
[...]
build() {
  [...]
  python -m build --wheel --no-isolation
  # maybe build documentation, ...
  [...]
}

package() {
  [...]
  python -m installer --destdir="$pkgdir" --compile-bytecode=2 dist/*.whl
  [...]
  # Maybe install documentation, license, ...
  [...]
}

Regards!