A reliable, user-friendly Plain Text Accounting tool with command line, terminal and web interfaces.
Go to file
Simon Michael 1ef8f329c6 lib: simpler more robust version strings, with date/without patchlevel
We no longer rely on git tags and git describe output, since it's
hard to reliably select the correct tag eg for minor releases.
We might use them again in future for dev builds, but it requires
adding git describe --match support to githash. For now,

* Program name, OS and architecture are always shown.
* The package version is always shown.
* If there is git info at build time, the latest commit hash and commit date are shown.

Example outputs:
A homebrew binary, not built in git repo: hledger-ui 1.24, mac-aarch64
A CI release build, built in git repo:    hledger 1.24.1-g455b35293-20211210, mac-x86_64

API changes:

* new type synonyms ProgramName, PackageVersion, VersionString
* versionStringForProgname -> versionString with extra argument
* versionStringFor -> versionStringWith with extra argument
2021-12-10 12:42:40 -10:00
.github ci: more consistent workflow names 2021-12-10 10:40:40 -10:00
.sandstorm Add --capabilities-header to launcher.sh 2018-06-24 17:44:22 +02:00
bin bin: hledger-number tweak 2021-12-02 10:58:21 -10:00
checks update dev setup tests 2015-03-16 17:59:06 -07:00
doc ;doc: more LEDGER_FILE platform notes 2021-12-08 16:57:33 -10:00
docker package: added helper scripts in docker/ 2019-01-31 12:44:12 -08:00
docker-static-arm32v7 Static builds for Linux on x64 (amd64) and arm32v7 architectures (#1571) 2021-06-30 18:05:27 -10:00
examples ;examples: invoicing: new invoice script example 2021-12-04 10:41:41 -10:00
hledger lib: simpler more robust version strings, with date/without patchlevel 2021-12-10 12:42:40 -10:00
hledger-install ;install: 1.24 2021-12-01 21:42:47 -10:00
hledger-lib ;doc: changelogs: 1.24.1 2021-12-09 14:52:23 -10:00
hledger-ui lib: simpler more robust version strings, with date/without patchlevel 2021-12-10 12:42:40 -10:00
hledger-web lib: simpler more robust version strings, with date/without patchlevel 2021-12-10 12:42:40 -10:00
tools cln: hlint: Clean up some examples of using sortOn. 2021-08-27 06:13:56 -10:00
.ci ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
.ctags cli, lib: move functional tests into hledger/test/ 2020-11-16 08:47:41 -08:00
.dockerignore package: added Dockerfile 2019-01-29 16:14:03 -08:00
.editorconfig fix datepicker not closing, linting 2017-12-30 13:44:40 -05:00
.ghci tools: use pretty-simple for ghci output 2020-11-03 08:19:01 -10:00
.gitignore fix: extend application of commodity style to prices (except precision) and make --commodity-style a general flag 2021-09-20 08:55:55 -10:00
.hlint.yaml dev: hlint: Avoid use of reverse. 2021-08-27 06:13:56 -10:00
.mailmap doc: use consistent spelling of Mykola Orliuk 2017-03-27 05:47:15 -07:00
.version ;pkg: bump version to 1.24.99 2021-12-01 22:16:37 -10:00
ACHIEVEMENTS.md ;doc: ACHIEVEMENTS: format, update 2021-09-27 00:26:07 -10:00
azure-pipelines.yml ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
BACKLOG.org ;backlog: build-tools 2021-11-13 09:34:38 -10:00
bench-ledger.sh ;imp: perf: Ledger-friendly bench-ledger.sh, for comparative benchmarking 2021-11-20 22:05:19 -10:00
bench.sh ;tools: update instructions for installing quickbench 2021-06-15 15:19:38 -10:00
BENCHMARKS.md ;doc: add page TOCs to more dev docs 2021-09-27 01:56:13 -10:00
cabal.project ; cabal.project: Drop compatibility comment 2021-10-08 08:31:43 -10:00
CHANGELOGS.md ;doc: finalise changelogs 2021-12-01 18:23:16 -10:00
CHANGES.md ;doc: changelogs: 1.24.1 2021-12-09 14:52:23 -10:00
CODE.md ;doc: add page TOCs to more dev docs 2021-09-27 01:56:13 -10:00
COMMITS.md ;doc: move more content out of CONTRIBUTING 2021-09-27 01:24:59 -10:00
CONTRIBUTING.md ; Fix the link to the developer workdflows 2021-10-31 09:09:55 -10:00
CREDITS.md ;doc: CREDITS tweak 2021-09-21 17:33:14 -10:00
dev.hs collect some langage pragmas in dev.hs 2019-02-20 18:08:33 -08:00
dir ;dev: doc: update manuals 2021-07-12 18:50:06 -10:00
Dockerfile ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
DOCS.md ;doc: merge doc/README with dev docs 2021-09-27 02:20:44 -10:00
EXAMPLES.md ;doc: move more content out of CONTRIBUTING 2021-09-27 01:44:14 -10:00
FUNDING.md ;doc: add page TOCs to more dev docs 2021-09-27 01:56:13 -10:00
hie.yaml ;tools: silence hls errors for Shake.hs 2020-12-07 12:27:03 -08:00
ISSUES.md ;doc: move more content out of CONTRIBUTING 2021-09-27 01:24:59 -10:00
LICENSE add LICENSE 2008-10-01 07:52:07 +00:00
MAKE.md ;doc: move more content out of CONTRIBUTING 2021-09-27 01:44:14 -10:00
Makefile lib: simpler more robust version strings, with date/without patchlevel 2021-12-10 12:42:40 -10:00
Makefile.helpsys make: rename sub-makefiles; start moving site script to make/shake 2019-03-05 18:43:04 -08:00
PULLREQUESTS.md ;doc: add page TOCs to more dev docs 2021-09-27 01:56:13 -10:00
README.md ;doc: readme: drop badges header 2020-08-21 08:18:26 -07:00
RELEASING.md ;doc: update links 2021-12-08 09:54:25 -10:00
ROADMAP.org ;doc: orgfiles: disable smart dashes in another way 2021-09-27 12:15:09 -10:00
Shake.hs ;doc: orgfiles: disable smart dashes in another way 2021-09-27 12:15:09 -10:00
SHAKE.md ;doc: move more content out of CONTRIBUTING 2021-09-27 01:44:14 -10:00
stack8.6.yaml dev: Use realLength from doclayout instead of strWidth and textWidth. (#895) 2021-11-11 18:29:50 -10:00
stack8.8.yaml dev: Use realLength from doclayout instead of strWidth and textWidth. (#895) 2021-11-11 18:29:50 -10:00
stack8.10.yaml pkg: Bump stack lts and nightlies. 2021-11-11 18:29:50 -10:00
stack9.2.yaml pkg: progress towards supporting GHC 9.2 and newer libs (#1774) 2021-12-06 12:32:50 -10:00
stack.yaml pkg: bump to latest nightly snapshot to avoid buggy happy 1.21.0 2021-11-22 18:01:20 -10:00
TESTS.md ;doc: add page TOCs to more dev docs 2021-09-27 01:56:13 -10:00
VERSIONNUMBERS.md ;doc: move more content out of CONTRIBUTING 2021-09-27 01:44:14 -10:00
WORKFLOWS.md ;doc: update links 2021-12-08 09:54:25 -10:00

hledger project README

lightweight, portable, dependable accounting tools

hledger is a computer program for easily tracking money, time, or other commodities, on unix, mac and windows (and web-capable mobile devices, to some extent).

It is first a command-line tool, but there are also terminal and web interfaces, and a Haskell library for building your own programs and scripts (hledger is written in Haskell). hledger was inspired by and is largely compatible with Ledger. hledger is free software available under the GNU General Public License v3+.

hledger aims to help both computer experts and regular folks to gain clarity and control in their finances and time management, but currently it is a bit more suited to techies. I use it every day to:

  • track spending and income
  • see time reports by day/week/month/project
  • get accurate numbers for client billing and tax filing
  • track invoices

Though limited in features, hledger is lightweight, usable and reliable. For some, it is a simpler, less distracting, more future-proof alternative to Quicken or GnuCash.

For more, see the home page: https://hledger.org

Sponsorship

Your support, large or small, helps keep this project strong!
See also https://hledger.org#sponsorship.

Sponsor Simon (project leader): github liberapay paypal

Sponsor the hledger project as an organisation: OpenCollective

Sponsor the hledger project as an individual: OpenCollective

Bounties for specific tasks: all bounties bountysource bounties




license hledger CI on hackage github issues