[bug#78313,electronics-team,v2] gnu: Add python-pydigitalwavetools.

Message ID 4197e42a7d4b050eec4b2615afe66174697e3693.1746696396.git.csantosb@inventati.org
State New
Headers
Series [bug#78313,electronics-team,v2] gnu: Add python-pydigitalwavetools. |

Commit Message

Cayetano Santos May 8, 2025, 9:26 a.m. UTC
  From: Cayetano Santos via Guix-patches via <guix-patches@gnu.org>

* gnu/packages/electronics.scm (python-pydigitalwavetools): New variable.

Change-Id: Iff4d12231b366cff20b386fb1d1ae121ef50e51e

---
 gnu/packages/electronics.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)


base-commit: 01ca654387c64265b310f2887d884cd7ec7c4f0a
--
2.49.0
  

Comments

Maxim Cournoyer May 12, 2025, 12:34 p.m. UTC | #1
Hi Cayetano,

Cayetano Santos <csantosb@inventati.org> writes:

> From: Cayetano Santos via Guix-patches via <guix-patches@gnu.org>
>
> * gnu/packages/electronics.scm (python-pydigitalwavetools): New variable.

[...]

> +    (home-page "https://github.com/Nic30/pyDigitalWaveTools/")
> +    (synopsis "Library to manipulate digital wave files.")
> +    (description
> +     "Pydigitalwavetools is a Python library to parse, write and format
> +@acronym{VCD, Value Champ Dump} and other digital wave files.")
> +    (license license:expat)))

Are you sure about VCD being 'Value Champ Dump' and not Video CD as I
thought?  The later seemed more sensical to me, this being about some
digital audio files :-).

You missed my earlier suggestion to turn 'wave' or 'wav' into WAV'.

The synopsis should not end with a '.'; please run './pre-inst-env guix
lint python-pydigitalwavetools' to catch these things.

Could you send a v3?
  
Cayetano Santos May 12, 2025, 12:54 p.m. UTC | #2
>lun. 12 mai 2025 at 21:34, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

> Hi Cayetano,
>
> Cayetano Santos <csantosb@inventati.org> writes:
>
>> From: Cayetano Santos via Guix-patches via <guix-patches@gnu.org>
>>
>> * gnu/packages/electronics.scm (python-pydigitalwavetools): New variable.
>
> [...]
>
>> +    (home-page "https://github.com/Nic30/pyDigitalWaveTools/")
>> +    (synopsis "Library to manipulate digital wave files.")
>> +    (description
>> +     "Pydigitalwavetools is a Python library to parse, write and format
>> +@acronym{VCD, Value Champ Dump} and other digital wave files.")
>> +    (license license:expat)))
>
> Are you sure about VCD being 'Value Champ Dump' and not Video CD as I
> thought?  The later seemed more sensical to me, this being about some
> digital audio files :-).

Yes. Where exactly do you see any reference to audio in here ?

See, for example

    https://github.com/Nic30/pyDigitalWaveTools/?tab=readme-ov-file#related-open-source

This is what VCD is all about:

    https://pyvcd.readthedocs.io/en/latest/vcd.gtkw.html

> You missed my earlier suggestion to turn 'wave' or 'wav' into WAV'.

Yes, just because this has nothing to do with WAV audio format. Is this
comment still relevant for v3 ?

> The synopsis should not end with a '.'; please run './pre-inst-env guix
> lint python-pydigitalwavetools' to catch these things.

You’re right, my bad !

C.
  
Maxim Cournoyer May 13, 2025, 12:05 a.m. UTC | #3
Hi Cayetano,

Cayetano Santos <csantosb@inventati.org> writes:

>>lun. 12 mai 2025 at 21:34, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>> Hi Cayetano,
>>
>> Cayetano Santos <csantosb@inventati.org> writes:
>>
>>> From: Cayetano Santos via Guix-patches via <guix-patches@gnu.org>
>>>
>>> * gnu/packages/electronics.scm (python-pydigitalwavetools): New variable.
>>
>> [...]
>>
>>> +    (home-page "https://github.com/Nic30/pyDigitalWaveTools/")
>>> +    (synopsis "Library to manipulate digital wave files.")
>>> +    (description
>>> +     "Pydigitalwavetools is a Python library to parse, write and format
>>> +@acronym{VCD, Value Champ Dump} and other digital wave files.")
>>> +    (license license:expat)))
>>
>> Are you sure about VCD being 'Value Champ Dump' and not Video CD as I
>> thought?  The later seemed more sensical to me, this being about some
>> digital audio files :-).
>
> Yes. Where exactly do you see any reference to audio in here ?

I simply assumed it was, with all the Wave references in the tool name
and description (I assumed it had to do with the WAV audio format).

> See, for example
>
>     https://github.com/Nic30/pyDigitalWaveTools/?tab=readme-ov-file#related-open-source

Thanks.  I see they define VCD as 'Value Change Dump' though, not 'Value
Champ Dump'.  After reading [0], I now understand that VCDs are "a
standardized ASCII format used to store simulation data from Verilog and
other hardware description languages".  Perhaps that could be added to
the description; as it was useful to provide proper context to me.  We
should assume people reading these package descriptions know nothing
about the local domain jargon.

[0]  https://www.chipverify.com/verilog/verilog-vcd

> This is what VCD is all about:
>
>     https://pyvcd.readthedocs.io/en/latest/vcd.gtkw.html
>
>> You missed my earlier suggestion to turn 'wave' or 'wav' into WAV'.
>
> Yes, just because this has nothing to do with WAV audio format. Is this
> comment still relevant for v3 ?

I see.  Not relevant then.
  

Patch

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index da37a9fb33..0cff76786b 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -610,6 +610,31 @@  (define-public python-edalize
 some tool-specific options are set.")
     (license license:bsd-2)))
 
+(define-public python-pydigitalwavetools
+  (package
+    (name "python-pydigitalwavetools")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Nic30/pyDigitalWaveTools/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1zbk4ndpwm4h8vdv9f567bpsizpy6q4jf0xmma77h0gsnnaqkwis"))))
+    (build-system pyproject-build-system)
+    (native-inputs
+     (list python-pytest
+           python-setuptools
+           python-wheel))
+    (home-page "https://github.com/Nic30/pyDigitalWaveTools/")
+    (synopsis "Library to manipulate digital wave files.")
+    (description
+     "Pydigitalwavetools is a Python library to parse, write and format
+@acronym{VCD, Value Champ Dump} and other digital wave files.")
+    (license license:expat)))
+
 (define-public python-surf
   (package
     (name "python-surf")