Is v2 > v3 still?

977 views
Skip to first unread message

Eric Altendorf

unread,
Jul 14, 2023, 7:42:40 PM7/14/23
to Beancount
I'd like to get started with Beancount, and it wasn't clear to me if the docs have been updated recently.  Is v3 still considered unstable, and it's best to use v2?

thanks,
eric

Martin Blais

unread,
Jul 14, 2023, 7:45:21 PM7/14/23
to Beancount
v3 > v2
No less stable; less overall code, many parts moved to subprojects that have been more actively developed. Some c++ bit present but not used in the main loop.
Use v3.

(Apologies for the little warning in every invocation.)

--
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 on the web visit https://groups.google.com/d/msgid/beancount/1f684516-bd76-4ff5-adcb-b2b15b28b6a6n%40googlegroups.com.

Eric Altendorf

unread,
Jul 14, 2023, 11:06:22 PM7/14/23
to bean...@googlegroups.com
On Fri, Jul 14, 2023 at 4:45 PM Martin Blais <bl...@furius.ca> wrote:
v3 > v2
No less stable; less overall code, many parts moved to subprojects that have been more actively developed. Some c++ bit present but not used in the main loop.
Use v3.

Cool.  FWIW, https://beancount.github.io/ still says v3 "is unstable and you want to use version 2 below".  And https://beancount.github.io/docs/installing_beancount.html says it is instructions for installing v2.

Also I tried following the "Installing for Development" instructions there, running git clone, then `sudo python3 setup.py develop` and `python3 setup.py build_ext -i` and this produced a broken install.

Backing out of that and just running `apt install beancount` worked fine though :-D



(Apologies for the little warning in every invocation.)

On Sat, Jul 15, 2023, 07:42 Eric Altendorf <erical...@gmail.com> wrote:
I'd like to get started with Beancount, and it wasn't clear to me if the docs have been updated recently.  Is v3 still considered unstable, and it's best to use v2?

thanks,
eric

--
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 on the web visit https://groups.google.com/d/msgid/beancount/1f684516-bd76-4ff5-adcb-b2b15b28b6a6n%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Beancount" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beancount/LVBQ4cD0PYc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhOasM-ix1nUcL5LwykQpmQefjrtD9RNRVy53K_VPthCrQ%40mail.gmail.com.

Martin Blais

unread,
Jul 14, 2023, 11:35:14 PM7/14/23
to Beancount


On Sat, Jul 15, 2023, 11:06 Eric Altendorf <erical...@gmail.com> wrote:
On Fri, Jul 14, 2023 at 4:45 PM Martin Blais <bl...@furius.ca> wrote:
v3 > v2
No less stable; less overall code, many parts moved to subprojects that have been more actively developed. Some c++ bit present but not used in the main loop.
Use v3.

Cool.  FWIW, https://beancount.github.io/ still says v3 "is unstable and you want to use version 2 below". 

All types of users, this is largely for non technical users. It's stable enough for you. I try not to commit build breaking changes (lots of tests). 


And https://beancount.github.io/docs/installing_beancount.html says it is instructions for installing v2.

Also I tried following the "Installing for Development" instructions there, running git clone, then `sudo python3 setup.py develop` and `python3 setup.py build_ext -i` and this produced a broken install.

This is for development, in just modify your PYTHONPATH to include the repo. See beancount/etc/env


Backing out of that and just running `apt install beancount` worked fine though :-D



(Apologies for the little warning in every invocation.)

On Sat, Jul 15, 2023, 07:42 Eric Altendorf <erical...@gmail.com> wrote:
I'd like to get started with Beancount, and it wasn't clear to me if the docs have been updated recently.  Is v3 still considered unstable, and it's best to use v2?

thanks,
eric

--
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 on the web visit https://groups.google.com/d/msgid/beancount/1f684516-bd76-4ff5-adcb-b2b15b28b6a6n%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Beancount" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beancount/LVBQ4cD0PYc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhOasM-ix1nUcL5LwykQpmQefjrtD9RNRVy53K_VPthCrQ%40mail.gmail.com.

--
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.

Eric Altendorf

unread,
Jul 16, 2023, 1:19:58 PM7/16/23
to bean...@googlegroups.com
On Fri, Jul 14, 2023 at 8:35 PM Martin Blais <bl...@furius.ca> wrote:


On Sat, Jul 15, 2023, 11:06 Eric Altendorf <erical...@gmail.com> wrote:
On Fri, Jul 14, 2023 at 4:45 PM Martin Blais <bl...@furius.ca> wrote:
v3 > v2
No less stable; less overall code, many parts moved to subprojects that have been more actively developed. Some c++ bit present but not used in the main loop.
Use v3.

Cool.  FWIW, https://beancount.github.io/ still says v3 "is unstable and you want to use version 2 below". 

All types of users, this is largely for non technical users. It's stable enough for you. I try not to commit build breaking changes (lots of tests). 

OK.  Looks like `apt install` just gives me v2, so I removed that and I'm back to installing from source.  I'd like to install for dev, in case I want to experiment with writing my own booking algorithm.
 


And https://beancount.github.io/docs/installing_beancount.html says it is instructions for installing v2.

Also I tried following the "Installing for Development" instructions there, running git clone, then `sudo python3 setup.py develop` and `python3 setup.py build_ext -i` and this produced a broken install.

This is for development, in just modify your PYTHONPATH to include the repo. See beancount/etc/env

Sorry, I think I'm missing something more basic; things were very broken just following the instructions.  I do notice there is a Makefile in the directory, is running `make` supposed to be part of the install-from-source or install-for-dev process?

The instructions just say to run setup.py but that doesn't seem to do much.

I'm also not sure if I'm even following the right instructions since, as I mentioned, the document itself says it's for installing v2, and the link to instructions for installing v3 is broken (links to https://beancount.github.io/docs/installing_beancount_v3.md )
 


Backing out of that and just running `apt install beancount` worked fine though :-D



(Apologies for the little warning in every invocation.)

On Sat, Jul 15, 2023, 07:42 Eric Altendorf <erical...@gmail.com> wrote:
I'd like to get started with Beancount, and it wasn't clear to me if the docs have been updated recently.  Is v3 still considered unstable, and it's best to use v2?

thanks,
eric

--
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 on the web visit https://groups.google.com/d/msgid/beancount/1f684516-bd76-4ff5-adcb-b2b15b28b6a6n%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Beancount" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beancount/LVBQ4cD0PYc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhOasM-ix1nUcL5LwykQpmQefjrtD9RNRVy53K_VPthCrQ%40mail.gmail.com.

--
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 on the web visit https://groups.google.com/d/msgid/beancount/CAFXPr0vzhgK2oJihR8eZLfwboFpaQWvm8wR%3Dj0sBUd3TMmOkzQ%40mail.gmail.com.

--
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.

Eric Altendorf

unread,
Jul 16, 2023, 2:37:51 PM7/16/23
to bean...@googlegroups.com
Aha, looks like this is the page:

I'll work from that.  Just sharing the FYI that some of the install instructions / links seem to be misleading.

Martin Blais

unread,
Jul 16, 2023, 5:27:52 PM7/16/23
to Beancount
Precisely reliable and reproducible packaging and instructions that work for everyone all the time are impossible tasks in my experience and I tried for 25 years and eventually gave up. Too many environments, to many different users and setups. I keep it simple for dev which I think is the key, best is to use it like that to get the freshest. Other people do packaging. Packages will inevitably be slightly older. Here's the gist:

- "make build" will compile a .so in place (in the tree where you can import it). Needs a C compiler with Python dev headers and library, bison and flex.
- set your PYTHONPATH to be able to import directly from the tree.

Hope this helps,





Eric Altendorf

unread,
Jul 16, 2023, 6:00:54 PM7/16/23
to bean...@googlegroups.com
On Sun, Jul 16, 2023 at 2:27 PM Martin Blais <bl...@furius.ca> wrote:
Precisely reliable and reproducible packaging and instructions that work for everyone all the time are impossible tasks in my experience and I tried for 25 years and eventually gave up. Too many environments, to many different users and setups. I keep it simple for dev which I think is the key, best is to use it like that to get the freshest. Other people do packaging. Packages will inevitably be slightly older. Here's the gist:

Sure.  I don't think I'm complaining about the install not working in weird corner cases or anything like that.  Mostly remarking that the documentation is incorrect/broken/misleading in case you want to fix it for the next person who comes along.

- "make build" will compile a .so in place (in the tree where you can import it). Needs a C compiler with Python dev headers and library, bison and flex.

The v3 install instructions that I found said to use Bazel, not make.  Is Bazel just wrapping make here?  Is there some reason to use make directly?
 
- set your PYTHONPATH to be able to import directly from the tree.

I'll do this with a venv to manage and isolate the dependencies and path management (which, FYI, if you wanted a hermetic and 100% reproducible build setup, would probably be the way to go, although I'm hardly an expert on that, and the last thing I want to do is debate your package's build setup :).

Hope this helps,

Thanks! :)

eric
 

Martin Blais

unread,
Jul 16, 2023, 8:10:53 PM7/16/23
to Beancount


On Mon, Jul 17, 2023, 06:00 Eric Altendorf <erical...@gmail.com> wrote:
On Sun, Jul 16, 2023 at 2:27 PM Martin Blais <bl...@furius.ca> wrote:
Precisely reliable and reproducible packaging and instructions that work for everyone all the time are impossible tasks in my experience and I tried for 25 years and eventually gave up. Too many environments, to many different users and setups. I keep it simple for dev which I think is the key, best is to use it like that to get the freshest. Other people do packaging. Packages will inevitably be slightly older. Here's the gist:

Sure.  I don't think I'm complaining about the install not working in weird corner cases or anything like that.  Mostly remarking that the documentation is incorrect/broken/misleading in case you want to fix it for the next person who comes along.

- "make build" will compile a .so in place (in the tree where you can import it). Needs a C compiler with Python dev headers and library, bison and flex.

The v3 install instructions that I found said to use Bazel, not make.  Is Bazel just wrapping make here?  Is there some reason to use make directly?

Ignore bazel, this is work in progress you don't need. V3 works fine with the Python/c parser. There will also be a warning when you run about missing that library, ignore that too.


 
- set your PYTHONPATH to be able to import directly from the tree.

I'll do this with a venv to manage and isolate the dependencies and path management (which, FYI, if you wanted a hermetic and 100% reproducible build setup, would probably be the way to go, although I'm hardly an expert on that, and the last thing I want to do is debate your package's build setup :).

Knock yourself out, 
pip install . into your venv should work.

Eric Altendorf

unread,
Jul 16, 2023, 10:26:46 PM7/16/23
to bean...@googlegroups.com
Thanks.

make & pip install worked fine.  can run bean-check.  Still doesn't seem to be building some of the tools, e.g., `bean-web` is still missing:

beancount$ ls bin
bean-check  bean-doctor  bean-example  bean-format  BUILD  treeify

do i still need to do something with setup.py like in v2?


Eric Altendorf

unread,
Jul 16, 2023, 10:31:33 PM7/16/23
to bean...@googlegroups.com
Oh, grepping around in the source reveals a note about Fava replacing bean-web?  (bean-web is still what the docs discuss)

Sorry -- you've written such extensive and well-written documentation I've been taking it as truth :)

Martin Blais

unread,
Jul 17, 2023, 1:07:17 AM7/17/23
to Beancount
bean-query, bean-price have  been moved to their own projects in v3.
See other repos in the same org.

Bean-web has been deleted; use Fava instead.

Eric Altendorf

unread,
Jul 17, 2023, 12:53:21 PM7/17/23
to bean...@googlegroups.com

Daniele Nicolodi

unread,
Jul 18, 2023, 1:39:26 PM7/18/23
to bean...@googlegroups.com
On 17/07/23 04:26, Eric Altendorf wrote:
> Thanks.
>
> make & pip install worked fine.

If you install with "pip install" there is no need to run make.

Cheers,
Dan

Eric Altendorf

unread,
Jul 19, 2023, 10:58:51 AM7/19/23
to bean...@googlegroups.com
On Sun, Jul 16, 2023 at 10:07 PM Martin Blais <bl...@furius.ca> wrote:
bean-query, bean-price have  been moved to their own projects in v3.
See other repos in the same org.

Bean-web has been deleted; use Fava instead.

Noob question; how do you run Fava with Beancount v3?

I noticed when I pip install Fava it downgrades me to Beancount v2.

Cloning latest github repos for beancount, beangulp, and fava, and letting pip think about all its dependencies at once suggests Fava is v2-only?

python3 -m pip install -r beancount/requirements/dev.txt -e beancount/ -e beangulp/ -e fava/
...
ERROR: Cannot install beancount 3.0.0.dev0 (from /home/eric/crypto-taxes/beancount), beangulp==0.1.dev0 and fava==1.25 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested beancount 3.0.0.dev0 (from /home/eric/crypto-taxes/beancount)
    beangulp 0.1.dev0 depends on beancount>=2.3.5
    fava 1.25 depends on beancount<3 and >=2.3.5

Daniele Nicolodi

unread,
Jul 19, 2023, 2:32:12 PM7/19/23
to bean...@googlegroups.com
On 19/07/23 16:58, Eric Altendorf wrote:
> On Sun, Jul 16, 2023 at 10:07 PM Martin Blais <bl...@furius.ca
> <mailto:bl...@furius.ca>> wrote:
>
> bean-query, bean-price have  been moved to their own projects in v3.
> See other repos in the same org.
>
> Bean-web has been deleted; use Fava instead.
>
>
> Noob question; how do you run Fava with Beancount v3?

From the output of "pip install" below, it seems that the Fava
developers don't want you to run Fava with Beancount 3.0. I don't know
why this is the case, but the short answer is: you don't.

Cheers,
Dan

Eric Altendorf

unread,
Jul 19, 2023, 4:03:25 PM7/19/23
to bean...@googlegroups.com
Indeed, that's what the Fava config says, but since Martin had said
"Bean-web has been deleted [in v3]; use Fava instead"
I inferred that perhaps some people are indeed using Fava with
v3, so it seemed reasonable to ask how. :)

In a related vein, are there other reporting tools I can use with v3
to generate even non-interactive reports?

 

Cheers,
Dan


--
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.

Andrew Ng

unread,
Jul 19, 2023, 5:00:16 PM7/19/23
to Beancount
On this note, is there any support at all yet for v3 on Windows? Another new user here and I don't have a Linux install handy. No problem if not, just wondering.

Daniele Nicolodi

unread,
Jul 19, 2023, 5:04:08 PM7/19/23
to bean...@googlegroups.com
On 19/07/23 19:56, Andrew Ng wrote:
> On this note, is there any support at all yet for v3 on Windows?

What do you mean? Beancount v3 works just fine on Windows. Just there
aren't any Python wheels released for it. You need a C compiler to
compile the Python extensions modules.

Cheers,
Dan

Andrew Ng

unread,
Jul 19, 2023, 6:56:38 PM7/19/23
to Beancount
I guess I'm just a bit lost then. Not a programmer, despite the name, ironically.

I was able to compile v2 successfully, but am having trouble understanding the install instructions for v3.

> pip install –requirement requirements/dev.txt doesn't work, presumably because I'm missing pytype & pylint and need to compile those with a C compiler? And once I compile those, do I just use pip and it should compile smoothly? Or is using Bazel required? What am I missing here, because I think it might be a lot...

Thanks,
Andrew 

Eric Altendorf

unread,
Jul 19, 2023, 10:48:01 PM7/19/23
to bean...@googlegroups.com
On Wed, Jul 19, 2023 at 15:56 Andrew Ng <andrew...@gmail.com> wrote:
I guess I'm just a bit lost then. Not a programmer, despite the name, ironically.

I was able to compile v2 successfully, but am having trouble understanding the install instructions for v3.

> pip install –requirement requirements/dev.txt doesn't work, presumably because I'm missing pytype & pylint and need to compile those with a C compiler? And once I compile those, do I just use pip and it should compile smoothly? Or is using Bazel required? What am I missing here, because I think it might be a lot...

the installation instructions are a bit confused and misleading with some out-of-date v2 instructions and some incomplete and out-of-date v3 instructions (as came up earlier in the thread).

On linux, roughly:
1) git clone the repos you want (beancount, beangulp, ...)
2) create a virtual environment to have an isolated and disposable beancount install/config
3) in the venv, `python3 -m pip install -r beancount/requirements/dev.txt -e beancount/ -e beangulp/`

Possibly you may need to run `make` in the beancount/ dir; I'm not sure.  Martin said you don't need Bazel, at least on linux.  On windows I'm not sure because I have no idea how C++ build tools work on windows.

Plan on running (2) and (3) again in the future if you ever need to install other python modules; pip gets easily confused and can work your install packages into a wonky state that is difficult to back out of, easier to just wipe and reinstall everything with one run of pip with all packages at once.  (For example, if later you try to install Fava, pip will helpfully silently install beancount v2 in an attempt to meet the Fava compatibility requirements, and you'll end up with a random mix of v3 and v2, mostly v2.  You only get a compatibility error if you try to install beancount v3 and fava in the same pip invocation.)

OTOH I'm not sure if v3 offers major user-facing upgrades at this point.  v3 sounds like it's mostly about internal reworking.  Unless there's a specific capability v3 offers you, or you want to contribute to code development, I think v2 might be fine.  Just don't try to follow the instructions for installing the "dev" version of v2, it describes how to build v2 but since the repo head is now v3 your git clone will get v3 code (at least I think that's what happened to me on my first attempt at installing).

HTH, in another life I'm messing with PyTorch and LLMs and there I'm in a hellscape of pip-installed packages, conda-installed packages, and apt-installed Cuda libraries, it's total chaos.  Apt is OK, but Python package management is ... unpleasant.

eric



Thanks,
Andrew 
On Wednesday, July 19, 2023 at 2:04:08 PM UTC-7 dan...@grinta.net wrote:
On 19/07/23 19:56, Andrew Ng wrote:
> On this note, is there any support at all yet for v3 on Windows?

What do you mean? Beancount v3 works just fine on Windows. Just there
aren't any Python wheels released for it. You need a C compiler to
compile the Python extensions modules.

Cheers,
Dan

--
You received this message because you are subscribed to a topic in the Google Groups "Beancount" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beancount/LVBQ4cD0PYc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/5e3adf29-c99f-40d4-98ed-65c735f29190n%40googlegroups.com.

Daniele Nicolodi

unread,
Jul 20, 2023, 2:55:05 AM7/20/23
to bean...@googlegroups.com
On 20/07/23 00:56, Andrew Ng wrote:
> I guess I'm just a bit lost then. Not a programmer, despite the name,
> ironically.
>
> I was able to compile v2 successfully, but am having trouble
> understanding the install instructions for v3.

Unless you want to develop beancount itself, or you want to hack on the
C++ rewrote, installing beancount does not require anything special or
different from installing any other development python package:

pip install 'beancount @ git+https://github.com/beancount/beancount.git'

or even simpler:

pip install git+https://github.com/beancount/beancount.git

This is very standard, therefore I never felt the need to spell the
instructions out. However, I've repeated the information many times on
the mailing list.

>> pip install –requirement requirements/dev.txt  doesn't work, presumably
> because I'm missing pytype & pylint and need
> to compile those with a C compiler?

These are only tools used for development, you don't need them. However,
if the content of requirements/dev.txt is not installed when you run
that command, you must have some other problem with your Python instance.

> And once I compile those, do I just
> use pip and it should compile smoothly? Or is using Bazel required? What
> am I missing here, because I think it might be a lot...

Bazel is not required for installing the Python package.

Cheers,
Dan

Daniele Nicolodi

unread,
Jul 20, 2023, 3:11:56 AM7/20/23
to bean...@googlegroups.com
On 20/07/23 04:47, Eric Altendorf wrote:
> the installation instructions are a bit confused and misleading with
> some out-of-date v2 instructions and some incomplete and out-of-date v3
> instructions (as came up earlier in the thread).

The instructions to install the latest development version of beancount
do not exist, because they are the same as for any other Python package
that does not have wheels released on PyPI, and they are very easy:

pip install git+https://github.com/beancount/beancount.git

Replace "beancount.git" with "beangulp.git" or "beanquery.git" for
getting the other components you may need.

Because beancount v3 is still in development, I assumed that all
interested in installing it would have a minimal knowledge of Python
package development, and if they do, that is the first command they
would try to install the package. As nothing special is required, I felt
that no special instruction are needed.

> On linux, roughly:
> 1) git clone the repos you want (beancount, beangulp, ...)
> 2) create a virtual environment to have an isolated and disposable
> beancount install/config
> 3) in the venv, `python3 -m pip install -r
> beancount/requirements/dev.txt -e beancount/ -e beangulp/`

This gives you editable installs of the packages. While it should not
have any downsides (other than you need to keep the source trees around,
or things will stop working) I would not recommend it for users that
don't want to work on the code of these packages.

> Possibly you may need to run `make` in the beancount/ dir; I'm not
> sure.

You don't need to run make.

> Martin said you don't need Bazel, at least on linux.  On windows
> I'm not sure because I have no idea how C++ build tools work on windows.

There are no C++ components used yet. Bazel is used only to build the
experimental components in C++, but these are not used anywere yet.

> Plan on running (2) and (3) again in the future if you ever need to
> install other python modules; pip gets easily confused and can work your
> install packages into a wonky state that is difficult to back out of,
> easier to just wipe and reinstall everything with one run of pip with
> all packages at once.  (For example, if later you try to install Fava,
> pip will helpfully silently install beancount v2 in an attempt to meet
> the Fava compatibility requirements, and you'll end up with a random mix
> of v3 and v2, mostly v2.  You only get a compatibility error if you try
> to install beancount v3 and fava in the same pip invocation.)
>
> OTOH I'm not sure if v3 offers major user-facing upgrades at this
> point.  v3 sounds like it's mostly about internal reworking.

In v3 some components (beancount.query, beancount.ingest, bean-price)
have been moved out of the core application into their own projects
(beanquery, beangulp, beanprice). The first two have seen major updates
compared to the version contained in beancount v2. However, you can use
these also with beancount v2.

> Unless
> there's a specific capability v3 offers you, or you want to contribute
> to code development, I think v2 might be fine.  Just don't try to follow
> the instructions for installing the "dev" version of v2, it describes
> how to build v2 but since the repo head is now v3 your git clone will
> get v3 code (at least I think that's what happened to me on my first
> attempt at installing).

If you want the source code for beancount v2 just checkout the v2
branch. However, the development instructions for v2 and v3 should be
identical (despite they deviate from what are modern python packaging
practices and follow Martin's workflow), so I'm surprised you ran into
issues.

> HTH, in another life I'm messing with PyTorch and LLMs and there I'm in
> a hellscape of pip-installed packages, conda-installed packages, and
> apt-installed Cuda libraries, it's total chaos.  Apt is OK, but Python
> package management is ... unpleasant.

Don't try to mix conda-installed and pip-installed packages. It works in
simple cases but it is likely to cause issue. I mean, it is written
clearly in the conda documentation that you should not do it...

Cheers,
Dan

Daniele Nicolodi

unread,
Jul 22, 2023, 6:41:50 AM7/22/23
to bean...@googlegroups.com
On 19/07/23 22:03, Eric Altendorf wrote:
> In a related vein, are there other reporting tools I can use with v3
> to generate even non-interactive reports?

It really depends on what you intend for reporting tools. I use
beanquery for extracting data from my ledgers, but it is not exactly
what most people would call a reporting tool.

Cheers,
Dan

Eric Altendorf

unread,
Jul 24, 2023, 12:47:17 PM7/24/23
to bean...@googlegroups.com
[changing subject line]

Thanks, I have played around a bit more with bean-doctor and also seen in the documentation what look like a lot of capabilities for reporting.

What I would like is a human readable and auditable report of asset transactions, with booking decisions, that justify profit/loss and capital gains numbers.  I'm not an accountant so I don't really know if there's a typical format for that type of report.  My guess is that a report which shows transactions and how sales are booked against the inventory, with a snapshot of the inventory interleaved every n lines, might be roughly what I want.

Any recommendations on what a CPA might want to look at to audit, or which Beancount tools I should investigate to build such a report, would be most appreciated!

Thanks,
eric
 

Martin Blais

unread,
Sep 3, 2023, 9:58:04 AM9/3/23
to bean...@googlegroups.com
I think a Form 8949 equivalent is what they'd be looking for (a spreadsheet).
You'd have to build it yourself (I did something like that in Johnny.)

 

Thanks,
eric
 

--
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.

Eric Altendorf

unread,
Sep 3, 2023, 11:07:29 AM9/3/23
to bean...@googlegroups.com
On Sun, Sep 3, 2023 at 09:58 Martin Blais <bl...@furius.ca> wrote:
On Mon, Jul 24, 2023 at 12:47 PM Eric Altendorf <erical...@gmail.com> wrote:
[changing subject line]

On Sat, Jul 22, 2023 at 3:41 AM Daniele Nicolodi <dan...@grinta.net> wrote:
On 19/07/23 22:03, Eric Altendorf wrote:
> In a related vein, are there other reporting tools I can use with v3
> to generate even non-interactive reports?

It really depends on what you intend for reporting tools. I use
beanquery for extracting data from my ledgers, but it is not exactly
what most people would call a reporting tool.

Thanks, I have played around a bit more with bean-doctor and also seen in the documentation what look like a lot of capabilities for reporting.

What I would like is a human readable and auditable report of asset transactions, with booking decisions, that justify profit/loss and capital gains numbers.  I'm not an accountant so I don't really know if there's a typical format for that type of report.  My guess is that a report which shows transactions and how sales are booked against the inventory, with a snapshot of the inventory interleaved every n lines, might be roughly what I want.

Any recommendations on what a CPA might want to look at to audit, or which Beancount tools I should investigate to build such a report, would be most appreciated!

I think a Form 8949 equivalent is what they'd be looking for (a spreadsheet).
You'd have to build it yourself (I did something like that in Johnny.)

Fwiw, I talked to my tax preparer about this, and for his purposes all he needs are the final numbers, like an 8949.  My issue with the 8949 is it doesn’t seem really auditable — if you do the sales as “various” lots then you can’t verify the gains, and if you split out every single lot the report becomes a hundred pages and you can’t holistically verify it’s correctness.  I at least want to be able to review and spot check correctness myself :)

He said if I took it to an accounting firm to audit, they’d probably want the underlying trade data to do their own analysis.  And he said if the irs audits, it’s unpredictable, likely they wouldn’t be sophisticated enough to process raw trade data so it sounded like grokkable reports could be helpful there.


 

Thanks,
eric
 

--
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 on the web visit https://groups.google.com/d/msgid/beancount/CAFXPr0ud5YP-xCqc9jSX%3Dn2X%2Bx9Xjn5g9VKoEpXsU%3Do%2BM38%2BWQ%40mail.gmail.com.

--
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.

Martin Blais

unread,
Sep 3, 2023, 1:55:43 PM9/3/23
to bean...@googlegroups.com
On Sun, Sep 3, 2023 at 11:07 AM Eric Altendorf <erical...@gmail.com> wrote:


On Sun, Sep 3, 2023 at 09:58 Martin Blais <bl...@furius.ca> wrote:
On Mon, Jul 24, 2023 at 12:47 PM Eric Altendorf <erical...@gmail.com> wrote:
[changing subject line]

On Sat, Jul 22, 2023 at 3:41 AM Daniele Nicolodi <dan...@grinta.net> wrote:
On 19/07/23 22:03, Eric Altendorf wrote:
> In a related vein, are there other reporting tools I can use with v3
> to generate even non-interactive reports?

It really depends on what you intend for reporting tools. I use
beanquery for extracting data from my ledgers, but it is not exactly
what most people would call a reporting tool.

Thanks, I have played around a bit more with bean-doctor and also seen in the documentation what look like a lot of capabilities for reporting.

What I would like is a human readable and auditable report of asset transactions, with booking decisions, that justify profit/loss and capital gains numbers.  I'm not an accountant so I don't really know if there's a typical format for that type of report.  My guess is that a report which shows transactions and how sales are booked against the inventory, with a snapshot of the inventory interleaved every n lines, might be roughly what I want.

Any recommendations on what a CPA might want to look at to audit, or which Beancount tools I should investigate to build such a report, would be most appreciated!

I think a Form 8949 equivalent is what they'd be looking for (a spreadsheet).
You'd have to build it yourself (I did something like that in Johnny.)

Fwiw, I talked to my tax preparer about this, and for his purposes all he needs are the final numbers, like an 8949.  My issue with the 8949 is it doesn’t seem really auditable — if you do the sales as “various” lots then you can’t verify the gains, and if you split out every single lot the report becomes a hundred pages and you can’t holistically verify it’s correctness.  I at least want to be able to review and spot check correctness myself :)

He said if I took it to an accounting firm to audit, they’d probably want the underlying trade data to do their own analysis.  And he said if the irs audits, it’s unpredictable, likely they wouldn’t be sophisticated enough to process raw trade data so it sounded like grokkable reports could be helpful there.

I think I've mentioned this in person but it's worth adding a link to future readers of this thread finding themselves here:
"TradeLog" is likely the most sophisticated tool for doing something like this for retail traders in general:
I don't know how well it supports crypto but it has some pages here:

These accountants recommend using it for their clients:




Thanks,
eric
 

--
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 on the web visit https://groups.google.com/d/msgid/beancount/CAFXPr0ud5YP-xCqc9jSX%3Dn2X%2Bx9Xjn5g9VKoEpXsU%3Do%2BM38%2BWQ%40mail.gmail.com.

--
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 on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhPoebYAuM7L-rzXy9vNpHt3%2BCrHrD4Afk4QujGJc2726g%40mail.gmail.com.

--
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.
Reply all
Reply to author
Forward
0 new messages