Package Details: python-pytooling 8.2.0-1

Git Clone URL: https://aur.archlinux.org/python-pytooling.git (read-only, click to copy)
Package Base: python-pytooling
Description: A powerful collection of arbitrary useful classes, decorators, meta-classes and exceptions
Upstream URL: https://github.com/pyTooling/pyTooling
Licenses: Apache-2.0
Replaces: python-pyexceptions, python-pymetaclasses, python-pytooling-packaging, python-pytooling-terminalui
Submitter: xiretza
Maintainer: xiretza
Last Packager: xiretza
Votes: 0
Popularity: 0.000000
First Submitted: 2021-12-03 14:42 (UTC)
Last Updated: 2025-03-02 21:51 (UTC)

Latest Comments

gtsiam commented on 2025-03-10 07:13 (UTC)

Not quite. If you read a few more pages of the manual, you'll see that LC_ALL=C is special in that it overrides everything else (including LANGUAGE). The manual also explicitly calls out that LC_ALL is intended for scripts.

Sven commented on 2025-03-08 14:21 (UTC) (edited on 2025-03-08 14:44 (UTC) by Sven)

LC_ALL is just the second highest priority. Setting LANGUAGE=C seems to be the appropriate measure to run the tests, as it overrides all others: LANG, LC_*, LC_ALL.

https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html

Paebbels commented on 2025-03-05 21:23 (UTC)

The dependencies to python-colorama, python-ruama-yaml, setuptools are optional. See https://github.com/pyTooling/pyTooling/blob/main/setup.py#L56

Paebbels commented on 2025-03-05 21:07 (UTC) (edited on 2025-03-05 21:08 (UTC) by Paebbels)

Some hints for pyTooling:

  • python-pyattributes is obsolete and can be listed as "replaces".

Any suggestions to improve the unit tests with respect to the usage of git as a commonly available complex binary for testing command line options? (pyTooling.CLIAbstraction is tested by executing Git)

gtsiam commented on 2025-03-04 17:31 (UTC)

One of the tests parses git command output which changes depending on the locale. I run into this when updating the ghdl package. Set LC_ALL to any non-english locale and you'll get the error. Arguably this is upstream's responsibility, but I'll leave that decision to you.

That said, I'm not a big fan of it either, but it's currently fairly standard practice to build aur packages on user systems without any containerization. As such, I would like your package (and by extension mine) to actually build properly.

xiretza commented on 2025-03-04 16:44 (UTC)

Not generally a fan of working around unclean build environments, what's the issue that this fixes?

gtsiam commented on 2025-03-04 06:40 (UTC)

Might I recommend applying this patch:

From 1b88f7f8abdf63e721e79619316a12c4124ca0d7 Mon Sep 17 00:00:00 2001
From: George Tsiamasiotis <gtsiam@windowslive.com>
Date: Tue, 4 Mar 2025 08:38:39 +0200
Subject: [PATCH] Fix test suite on non-english systems

---
 PKGBUILD | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/PKGBUILD b/PKGBUILD
index 0910fa4..88cccd1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -31,7 +31,7 @@ build() {

 check(){
   cd "$_pkgname-$pkgver"
-  pytest --ignore tests/performance --ignore tests/benchmark tests/
+  LC_ALL=C pytest --ignore tests/performance --ignore tests/benchmark tests/
 }

 package() {
--
2.48.1

raldone01 commented on 2023-05-05 05:44 (UTC) (edited on 2023-05-05 05:45 (UTC) by raldone01)

I can't install this package. I also think it might be provided by python-pytooling already as there were conflicting files for terminalui. It fails with the following error:

AUR Explicit (1): python-pytooling-terminalui-1.5.9-1
:: PKGBUILD up to date, skipping download: python-pytooling-terminalui
  1 python-pytooling-terminalui      (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
  1 python-pytooling-terminalui      (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
==> Making package: python-pytooling-terminalui 1.5.9-1 (Fri May  5 07:41:59 2023)
==> Retrieving sources...
  -> Found python-pytooling-terminalui-1.5.9.tar.gz
==> Validating source files with sha256sums...
    python-pytooling-terminalui-1.5.9.tar.gz ... Passed
:: (1/1) Parsing SRCINFO: python-pytooling-terminalui
==> Making package: python-pytooling-terminalui 1.5.9-1 (Fri May  5 07:42:00 2023)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found python-pytooling-terminalui-1.5.9.tar.gz
==> Validating source files with sha256sums...
    python-pytooling-terminalui-1.5.9.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting python-pytooling-terminalui-1.5.9.tar.gz with bsdtar
==> Sources are ready.
==> Making package: python-pytooling-terminalui 1.5.9-1 (Fri May  5 07:42:02 2023)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
* Getting build dependencies for wheel...
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
    main()
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
    return hook(config_settings)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=['wheel'])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
    self.run_setup()
  File "/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
    exec(code, locals())
  File "<string>", line 33, in <module>
ModuleNotFoundError: No module named 'pyTooling'

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: python-pytooling-terminalui-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
python-pytooling-terminalui - exit status 4

Sven commented on 2023-05-03 23:21 (UTC)

As far as I understand, pytooling now includes terminalui. When trying to install both (for ghdl), then there's a file collision.

Also, pytooling 3.x is incompatible with 2.x, yet both cannot be installed at the same time. ghdl might break, depending on the version.