importer failing with beancount v 3.1.0

206 views
Skip to first unread message

kprab...@gmail.com

unread,
Jan 20, 2025, 12:16:04 AM1/20/25
to Beancount
Hi Martin,

my importer is failing with beancount v 3.1.0 with the below error:
File "/data/docs/prabu/beancount/beancount/prabu/importers/sbi/sbi.py", line 14, in <module> from beangulp.importers.csvbase import Importer, Date, Amount, Column File "/data/docs/prabu/bean_venv/lib/python3.12/site-packages/beangulp/__init__.py", line 21, in <module> from beangulp import cache # noqa: F401 ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/docs/prabu/bean_venv/lib/python3.12/site-packages/beangulp/cache.py", line 158, in <module> _CACHE = defdict.DefaultDictWithKey(_FileMemo) ^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'beancount.utils.defdict' has no attribute 'DefaultDictWithKey'
It is working perfectly in another venv with v 3.0.0..

Has there been any change that warrants something with importer..

Regards,
Prabu


Daniele Nicolodi

unread,
Jan 20, 2025, 2:59:59 AM1/20/25
to bean...@googlegroups.com
On 20/01/25 06:16, kprab...@gmail.com wrote:
> Hi Martin,
>
> my importer is failing with beancount v 3.1.0 with the below error:

Beancount release 3.1.0 contains backward incompatible changes that need
to be addressed in projects that depend on Beancount. The required
changes have been implemented in beangulp, but a release has not be cut
yet. I'll do that ASAP.

I'm not happy with the recent changes in the development practices in
Beancount. The diminished care for backward compatibility changes has
been justified by the desire of making it easier for new contributors to
work on Beancount. However, so far, this approach did not result in any
contributed bugfix or feature, therefore I remain skeptical that giving
up the codebase stability is really helping anything.

Cheers,
Dan

Martin Blais

unread,
Jan 20, 2025, 8:27:40 AM1/20/25
to bean...@googlegroups.com
Wait, can't you just pin beangulp to 3.0.x using a lockfile?
If we switch to versions (vs. always-at-head development), I believe you have to do that.

Stability is a relative concept; I don't think I've ever stated a specific version-related stability guarantee.
(You're assuming minor version stable on the API front.)



--
You received this message because you are subscribed to the Google Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beancount+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/beancount/cbe1b5c4-777f-4fb3-a586-3f2265568b6a%40grinta.net.

Stefano Zacchiroli

unread,
Jan 20, 2025, 8:36:08 AM1/20/25
to bean...@googlegroups.com
Can you two be more specific about the API breakages?

I've quickly looked at `git log --oneline 3.0.0..3.1.0` and couldn't to
figure out based on that what you are talking about. And the CHANGES
stops at 3.0.0.

FWIW: agreed that stability is a relative concept. What would be useful,
though, is clarifying publicly in the doc whether Beancount adheres to
something like Semantic Versioning or not. (Yes, semver is not a panacea
either, but it's becoming a common reference for developer expectations
on this kind of stuff.)

Cheers

On Mon, Jan 20, 2025 at 08:27:24AM -0500, Martin Blais wrote:
> Wait, can't you just pin beangulp to 3.0.x using a lockfile?
> If we switch to versions (vs. always-at-head development), I believe you
> have to do that.
>
> Stability is a relative concept; I don't think I've ever stated a specific
> version-related stability guarantee.
> (You're assuming minor version stable on the API front.)

--
Stefano Zacchiroli . za...@upsilon.cc . https://upsilon.cc/zack _. ^ ._
Full professor of Computer Science o o o \/|V|\/
Télécom Paris, Polytechnic Institute of Paris o o o </> <\>
Co-founder & CSO Software Heritage o o o o /\|^|/\
Mastodon: https://mastodon.xyz/@zacchiro '" V "'

Martin Blais

unread,
Jan 20, 2025, 9:32:56 AM1/20/25
to bean...@googlegroups.com
On Mon, Jan 20, 2025 at 8:36 AM Stefano Zacchiroli <za...@upsilon.cc> wrote:
Can you two be more specific about the API breakages?

I've quickly looked at `git log --oneline 3.0.0..3.1.0` and couldn't to
figure out based on that what you are talking about. And the CHANGES
stops at 3.0.0.

Use diff. I stopped maintaining the CHANGES file.
Some code that was only used in dependent projects was removed.

 
FWIW: agreed that stability is a relative concept. What would be useful,
though, is clarifying publicly in the doc whether Beancount adheres to
something like Semantic Versioning or not. (Yes, semver is not a panacea
either, but it's becoming a common reference for developer expectations
on this kind of stuff.)

Pin your versions using lockfiles; occasionally things are going to break when you move versions.



Cheers

On Mon, Jan 20, 2025 at 08:27:24AM -0500, Martin Blais wrote:
> Wait, can't you just pin beangulp to 3.0.x using a lockfile?
> If we switch to versions (vs. always-at-head development), I believe you
> have to do that.
>
> Stability is a relative concept; I don't think I've ever stated a specific
> version-related stability guarantee.
> (You're assuming minor version stable on the API front.)

--
Stefano Zacchiroli . za...@upsilon.cc . https://upsilon.cc/zack  _. ^ ._
Full professor of Computer Science              o     o   o     \/|V|\/
Télécom Paris, Polytechnic Institute of Paris     o     o o    </>   <\>
Co-founder & CSO Software Heritage            o o o     o       /\|^|/\
Mastodon: https://mastodon.xyz/@zacchiro                        '" V "'

--
You received this message because you are subscribed to the Google Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beancount+...@googlegroups.com.

fin

unread,
Jan 20, 2025, 2:37:12 PM1/20/25
to bean...@googlegroups.com
Martin Blais wrote:
> --000000000000909574062c242205
> Content-Type: text/plain; charset="UTF-8"
> Content-Transfer-Encoding: quoted-printable
>
> On Mon, Jan 20, 2025 at 8:36=E2=80=AFAM Stefano Zacchiroli <za...@upsilon.cc=
>> wrote:

Martin, if you have tagged any version using git and then released that version then anyone else can use that specific version as needed by checking out that tag. That is how I've been able to go back and use any version 2 code (making sure to regenerate any needed dependencies in the virtual environment that i've set up).

fin


>> Can you two be more specific about the API breakages?
>>
>> I've quickly looked at `git log --oneline 3.0.0..3.1.0` and couldn't to
>> figure out based on that what you are talking about. And the CHANGES
>> stops at 3.0.0.
>>
>
> Use diff. I stopped maintaining the CHANGES file.
> Some code that was only used in dependent projects was removed.
>
>
>
>> FWIW: agreed that stability is a relative concept. What would be useful,
>> though, is clarifying publicly in the doc whether Beancount adheres to
>> something like Semantic Versioning or not. (Yes, semver is not a panacea
>> either, but it's becoming a common reference for developer expectations
>> on this kind of stuff.)
>>
>
> Pin your versions using lockfiles; occasionally things are going to break
> when you move versions.
>
>
>
> Cheers
>>
>> On Mon, Jan 20, 2025 at 08:27:24AM -0500, Martin Blais wrote:
>> > Wait, can't you just pin beangulp to 3.0.x using a lockfile?
>> > If we switch to versions (vs. always-at-head development), I believe yo=
> u
>> > have to do that.
>> >
>> > Stability is a relative concept; I don't think I've ever stated a
>> specific
>> > version-related stability guarantee.
>> > (You're assuming minor version stable on the API front.)
>>
>> --
>> Stefano Zacchiroli . za...@upsilon.cc . https://upsilon.cc/zack _. ^ ._
>> Full professor of Computer Science o o o \/|V|\/
>> T=C3=A9l=C3=A9com Paris, Polytechnic Institute of Paris o o o =
></> <\>
>> Co-founder & CSO Software Heritage o o o o /\|^|/\
>> Mastodon: https://mastodon.xyz/@zacchiro '" V "'
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Beancount" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to beancount+...@googlegroups.com.
>> To view this discussion visit
>> https://groups.google.com/d/msgid/beancount/20250120133604.emnk652rwxucoo=
> l6%40upsilon.cc
>> .
>>
>
> --=20
> You received this message because you are subscribed to the Google Groups "=
> Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to beancount+...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/beancount/C=
> AK21%2BhPE8%2BCjR%2B_F_upxAkjuuksfprZawuP8TZfVed67Gc%2BDVg%40mail.gmail.com=
> .
>
> --000000000000909574062c242205
> Content-Type: text/html; charset="UTF-8"
> Content-Transfer-Encoding: quoted-printable
>
><div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
> t-family:arial,sans-serif;font-size:small"><span style=3D"font-family:Arial=
> ,Helvetica,sans-serif">On Mon, Jan 20, 2025 at 8:36=E2=80=AFAM Stefano Zacc=
> hiroli &lt;<a href=3D"mailto:za...@upsilon.cc">za...@upsilon.cc</a>&gt; wrote=
>:</span></div></div><div class=3D"gmail_quote gmail_quote_container"><block=
> quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1=
> px solid rgb(204,204,204);padding-left:1ex">Can you two be more specific ab=
> out the API breakages?<br>
><br>
> I&#39;ve quickly looked at `git log --oneline 3.0.0..3.1.0` and couldn&#39;=
> t to<br>
> figure out based on that what you are talking about. And the CHANGES<br>
> stops at 3.0.0.<br></blockquote><div><br></div><div class=3D"gmail_default"=
> style=3D"font-family:arial,sans-serif;font-size:small">Use diff. I stopped=
> maintaining the CHANGES file.</div><div class=3D"gmail_default" style=3D"f=
> ont-family:arial,sans-serif;font-size:small">Some code that was only used i=
> n dependent projects was removed.</div><div class=3D"gmail_default" style=
>=3D"font-family:arial,sans-serif;font-size:small"><br></div><div class=3D"g=
> mail_default" style=3D"font-family:arial,sans-serif;font-size:small"><span =
> style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0</span></div><blockq=
> uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
> x solid rgb(204,204,204);padding-left:1ex">
> FWIW: agreed that stability is a relative concept. What would be useful,<br=
>>
> though, is clarifying publicly in the doc whether Beancount adheres to<br>
> something like Semantic Versioning or not. (Yes, semver is not a panacea<br=
>>
> either, but it&#39;s becoming a common reference for developer expectations=
><br>
> on this kind of stuff.)<br></blockquote><div><br></div><div><div class=3D"g=
> mail_default" style=3D"font-family:arial,sans-serif;font-size:small">Pin yo=
> ur versions using lockfiles; occasionally things are going to break when yo=
> u move versions.</div></div><div class=3D"gmail_default" style=3D"font-fami=
> ly:arial,sans-serif;font-size:small"><br></div><div class=3D"gmail_default"=
> style=3D"font-family:arial,sans-serif;font-size:small"><br></div><div clas=
> s=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:small">=
><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
> ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Cheers<br>
><br>
> On Mon, Jan 20, 2025 at 08:27:24AM -0500, Martin Blais wrote:<br>
> &gt; Wait, can&#39;t you just pin beangulp to 3.0.x using a lockfile?<br>
> &gt; If we switch to versions (vs. always-at-head development), I believe y=
> ou<br>
> &gt; have to do that.<br>
> &gt; <br>
> &gt; Stability is a relative concept; I don&#39;t think I&#39;ve ever state=
> d a specific<br>
> &gt; version-related stability guarantee.<br>
> &gt; (You&#39;re assuming minor version stable on the API front.)<br>
><br>
> -- <br>
> Stefano Zacchiroli . <a href=3D"mailto:za...@upsilon.cc" target=3D"_blank">z=
> a...@upsilon.cc</a> . <a href=3D"https://upsilon.cc/zack" rel=3D"noreferrer"=
> target=3D"_blank">https://upsilon.cc/zack</a>=C2=A0 _. ^ ._<br>
> Full professor of Computer Science=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
> =C2=A0 o=C2=A0 =C2=A0 =C2=A0o=C2=A0 =C2=A0o=C2=A0 =C2=A0 =C2=A0\/|V|\/<br>
> T=C3=A9l=C3=A9com Paris, Polytechnic Institute of Paris=C2=A0 =C2=A0 =C2=A0=
> o=C2=A0 =C2=A0 =C2=A0o o=C2=A0 =C2=A0 &lt;/&gt;=C2=A0 =C2=A0&lt;\&gt;<br>
> Co-founder &amp; CSO Software Heritage=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
>=C2=A0 o o o=C2=A0 =C2=A0 =C2=A0o=C2=A0 =C2=A0 =C2=A0 =C2=A0/\|^|/\<br>
> Mastodon: <a href=3D"https://mastodon.xyz/@zacchiro" rel=3D"noreferrer" tar=
> get=3D"_blank">https://mastodon.xyz/@zacchiro</a>=C2=A0 =C2=A0 =C2=A0 =C2=
>=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &#39;&quot; V &=
> quot;&#39;<br>
><br>
> -- <br>
> You received this message because you are subscribed to the Google Groups &=
> quot;Beancount&quot; group.<br>
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to <a href=3D"mailto:beancount%2Bunsu...@googlegroups.com" target=
>=3D"_blank">beancount+...@googlegroups.com</a>.<br>
> To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
> beancount/20250120133604.emnk652rwxucool6%40upsilon.cc" rel=3D"noreferrer" =
> target=3D"_blank">https://groups.google.com/d/msgid/beancount/2025012013360=
> 4.emnk652rwxucool6%40upsilon.cc</a>.<br>
></blockquote></div></div>
>
><p></p>
>
> -- <br />
> You received this message because you are subscribed to the Google Groups &=
> quot;Beancount&quot; group.<br />
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to <a href=3D"mailto:beancount+...@googlegroups.com">beancount=
> +unsub...@googlegroups.com</a>.<br />
> To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
> beancount/CAK21%2BhPE8%2BCjR%2B_F_upxAkjuuksfprZawuP8TZfVed67Gc%2BDVg%40mai=
> l.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.c=
> om/d/msgid/beancount/CAK21%2BhPE8%2BCjR%2B_F_upxAkjuuksfprZawuP8TZfVed67Gc%=
> 2BDVg%40mail.gmail.com</a>.<br />
>
> --000000000000909574062c242205--
>

Reply all
Reply to author
Forward
0 new messages