Having trouble reading this email? View it in your browser.
New This Week

Tracking Personal Finances Using Python »

Build your personalized multi banking application powered entirely by Python. The Python ecosystem contains an excellent package called Beancount that provides data structures and command line utilities for working with money. Use Beancount and its tools to maintain double-entry accounting records of all your financial transactions in a plain-text file. The final result will be a Git repository on your computer where you can view and edit everything related to your money.

Recently Released:


Best Sellers:

Make sure you haven't missed anything!

  1. Programming Clojure, Third Edition
  2. Clojure Applied
  3. Getting Clojure
  4. Agile Web Development with Rails 7
  5. Mockito Made Clear

See all best sellers...

Tracking Personal Finances Using Python
June 07, 2022

Tracking Personal Finances Using Python

Beancount is an excellent piece of software that provides a command line implementation of the double-entry accounting system. At its core, it gives you data structures for working with money, a language specification for defining financial transactions in a plain-text format, and CLI scripts that tie everything together.

A Beancount-driven workflow involves maintaining a ledger of all your financial transactions in a plain-text file and using CLI/GUi tools to interact with this ledger, analyze your past financial behavior, show your spending patterns, and much more. This book walks the reader through building such a workflow from scratch.

We start with introducing the reader to plain-text accounting and double-entry bookkeeping. In the next chapter, we talk about Beancount, the different tools that it provides its users, and what a Beancount-driven workflow looks like. Next, we help the reader build such a workflow for themselves. Using a lot of sample code, we help the reader set up a "finances" git repository on their disk and write code to convert transactions from their bank(s) into the Beancount file format. This chapter is quite heavy on code, which is why we follow up with writing tests for this code using pytest. The final chapter describes the CLI and GUI tools that the Beancount ecosystem gives the reader. All these tools help the reader generate various reports for their financial life, both on the console (using CLI tools) and in a graphical format (using a web application).

Now available from pragprog.com/titles.

This work was written and produced entirely by the author. We are proud to be distributing it.

Do More with What You Know

From paperbacks and ebooks to online courses and beyond, if you want to create technical content, we may be your perfect partner.

Leverage our 20+ years of experience, our global distribution network, our massive fan base, our relationships with industry leaders, our editorial, production, and marketing prowess, and even our reputation for excellence. Sure, you could go it alone, but with some of the highest royalties in all of traditional publishing and your own personal team, why would you bother?

Shoot us an email at proposals@pragprog.com or visit pragprog.com/publish-with-us for more details today.

Let's publish something together!

Upcoming Author Appearances

  • 2022-06-14 Johanna Rothman, Lead an Innovative Organization: Manage for Change
  • 2022-06-29 Miki Tebeka, PyCon Israel
  • 2022-06-30 Johanna Rothman, Modern Agile Management: Continuous Innovation & Value Delivery
  • 2022-07-19 George Dinwiddie, Agile 2022, Nashville TN
  • Be the First

    Sign up for this newsletter at https://pragprog.com/newsletter/ and be the first to hear about our newest content, best promotions, and upcoming events.

    Want even more? Follow @pragprog on Twitter and The Pragmatic Programmers on LinkedIn for commentary, news, job openings, and even puzzles.

    And while you're here, remember to look up Andy Hunt @PragmaticAndy and Dave Thomas @pragdave, too.

    Thanks for your continued support,

    By Professional Developers, for Professional Developers

    Sent by the Pragmatic Programmers, LLC. • 9650 Strickland Rd Ste 103-255• Raleigh NC 27615