Package1.52.4Finance
hledger-lib
A library providing the core functionality of hledger
- Version1.52.4
- CategoryFinance
- LicenceGPL-3.0-or-later
- AuthorSimon Michael <simon@joyful.com>
- MaintainerSimon Michael <simon@joyful.com>
- Homepagehledger.org
- Pinned byhackage hledger-lib 1.52.4
- Sourcehackage.haskell.org/package/hledger-lib-1.52.4
Modules
65 modules- Hledger1This is the root of the hledger-lib package and the Hledger.* module hierarchy.
- Hledger.Data88The Hledger.Data library allows parsing and querying of C++ ledger-style
- Hledger.Data.Account27An Account has a name, a list of subaccounts, an optional parent
- Hledger.Data.AccountName48AccountNames are strings like assets:cash:petty, with multiple
- Hledger.Data.Amount115A simple Amount is some quantity of money, shares, or anything else.
- Hledger.Data.BalanceData3A 'BalanceData is a data type tracking a number of postings, exclusive, and inclusive balance
- Hledger.Data.Balancing9Functions for ensuring transactions and journals are balanced.
- Hledger.Data.Currency3Currency names, symbols and codes.
- Hledger.Data.Dates61Date parsing and utilities for hledger. For date and time values, we use the standard Day and UTCTime types. A SmartDate is a date which …
- Hledger.Data.DayPartition14A partition of time into contiguous spans, for defining reporting periods.
- Hledger.Data.Errors7Helpers for making error messages.
- Hledger.Data.Journal90A Journal is a set of transactions, plus optional related data. This is
- Hledger.Data.JournalChecks8Various additional validation checks that can be performed on a Journal.
- Hledger.Data.JournalChecks.Ordereddates1
- Hledger.Data.JournalChecks.Uniqueleafnames1
- Hledger.Data.Json3
- Hledger.Data.Ledger11A Ledger is derived from a Journal by applying a filter specification
- Hledger.Data.Period23Manipulate the time periods typically used for reports with Period,
- Hledger.Data.PeriodData9Data values for zero or more report periods, and for the pre-report period.
- Hledger.Data.PeriodicTransaction2A PeriodicTransaction is a rule describing recurring transactions.
- Hledger.Data.Posting59A Posting represents a change (by some MixedAmount) of the balance in
- Hledger.Data.RawOptions22hledger's cmdargs modes parse command-line arguments to an
- Hledger.Data.StringFormat7Parse format strings provided by --format, with awareness of
- Hledger.Data.Timeclock3A TimeclockEntry is a clock-in, clock-out, or other directive in a timeclock
- Hledger.Data.Transaction38A Transaction represents a movement of some commodity(ies) between two
- Hledger.Data.TransactionModifier1A TransactionModifier is a rule that modifies certain Transactions,
- Hledger.Data.Types85Most data types are defined here to avoid import cycles.
- Hledger.Data.Valuation14Convert amounts to some related value in various ways. This involves
- Hledger.Query55A general query system for matching things (accounts, postings,
- Hledger.Read32This is the entry point to hledger's reading system, which can read
- Hledger.Read.Common73File reading/parsing utilities used by multiple readers, and a good
- Hledger.Read.CsvReader2A reader for CSV (character-separated) data.
- Hledger.Read.InputOptions4Various options to use when reading journal files.
- Hledger.Read.JournalReader22A reader for hledger's journal file format
- Hledger.Read.RulesReader9A reader for a CSV rules file.
- Hledger.Read.TimeclockReader2A reader for the timeclock file format. What exactly is this format ? It was introduced in timeclock.el (http://www.emacswiki.org/emacs/T…
- Hledger.Read.TimedotReader2A reader for the "timedot" file format.
- Hledger.Reports1Generate several common kinds of report from a journal, as "*Report" -
- Hledger.Reports.AccountTransactionsReport13An account-centric transactions report.
- Hledger.Reports.BalanceReport5Balance report, used by the balance command.
- Hledger.Reports.BudgetReport8
- Hledger.Reports.EntriesReport4Journal entries report, used by the print command.
- Hledger.Reports.MultiBalanceReport12Multi-column balance reports, used by the balance command.
- Hledger.Reports.PostingsReport7Postings report, used by the register command.
- Hledger.Reports.ReportOptions50Options common to most hledger reports.
- Hledger.Reports.ReportTypes20New common report types, used by the BudgetReport for now, perhaps all reports later.
- Hledger.Utils42Utilities used throughout hledger, or needed low in the module hierarchy.
- Hledger.Utils.Debug67Here are debug tracing/logging helpers built on Debug.Trace, extracted from the hledger project.
- Hledger.Utils.IO75General and hledger-specific input/output-related helpers for
- Hledger.Utils.Parse51
- Hledger.Utils.Regex14Easy regular expression helpers, currently based on regex-tdfa. These should: be cross-platform, not requiring C libraries support unico…
- Hledger.Utils.String27String formatting helpers, starting to get a bit out of control.
- Hledger.Utils.Test44
- Hledger.Utils.Text24Text formatting helpers, ported from String as needed.
- Hledger.Write.Beancount6Helpers for beancount output.
- Hledger.Write.Csv6CSV utilities.
- Hledger.Write.Html7HTML writing helpers.
- Hledger.Write.Html.Attribute16Helpers and CSS styles for HTML output.
- Hledger.Write.Html.Blaze3HTML writing helpers using blaze-html.
- Hledger.Write.Html.HtmlCommon2Common definitions used by both Html.Blaze and Html.Lucid.
- Hledger.Write.Html.Lucid5HTML writing helpers using lucid.
- Hledger.Write.Ods1Export table data as OpenDocument Spreadsheet
- Hledger.Write.Spreadsheet24Rich data type to describe data in a table.
- Text.Tabular.AsciiWide36Text.Tabular.AsciiArt from tabular-0.2.2.7, modified to treat
- Text.WideString4Calculate the width of String and Text, being aware of wide characters.
Description
This library contains hledger's core functionality. It is used by most hledger* packages so that they support the same command line options, file formats, reports, etc.
hledger is a robust, cross-platform set of tools for tracking money, time, or any other commodity, using double-entry accounting and a simple, editable file format, with command-line, terminal and web interfaces. It is a Haskell rewrite of Ledger, and one of the leading implementations of Plain Text Accounting.
See also:
https://hledger.org - hledger's home page https://hledger.org/dev.html - starting point for hledger's developer docs https://hackage.haskell.org/package/hledger-lib/docs/Hledger.html - starting point for hledger's haddock docs
Depends on
48 packages- Decimal-0.5.2in this set
- Glob-0.10.2in this set
- aeson-2.2.5.1in this set
- aeson-pretty-0.8.11in this set
- ansi-terminal-1.1.5in this set
- array-0.5.8.0with GHC
- base-4.23.0.0with GHC
- blaze-html-0.9.2.0in this set
- blaze-markup-0.8.3.0in this set
- bytestring-0.12.2.0with GHC
- call-stack-0.4.0in this set
- cassava-0.5.4.1in this set
- cassava-megaparsec-2.1.1in this set
- cmdargs-0.10.22in this set
- colour-2.3.7in this set
- containers-0.8with GHC
- data-default-0.8.0.2in this set
- deepseq-1.5.2.0with GHC
- directory-1.3.11.0with GHC
- doclayout-0.6in this set
- encoding-0.10.3in this set
- extra-1.8.1in this set
- file-embed-0.0.16.0in this set
- filepath-1.5.5.0with GHC
- hashtables-1.4.2in this set
- lucid-2.11.20260427in this set
- megaparsec-9.5.0in this set
- microlens-0.5.0.0in this set
- microlens-th-0.4.3.18in this set
- mtl-2.3.2with GHC
- parser-combinators-1.3.1in this set
- pretty-simple-4.1.4.0in this set
- process-1.6.30.0with GHC
- regex-tdfa-1.3.2.6in this set
- safe-0.3.21in this set
- tabular-0.2.2.8in this set
- tasty-1.5.4in this set
- tasty-hunit-0.10.2in this set
- template-haskell-2.25.0.0with GHC
- terminal-size-0.3.4in this set
- text-2.1.4with GHC
- these-1.2.1in this set
- time-1.16.0.1with GHC
- timeit-2.0in this set
- transformers-0.6.3.0with GHC
- uglymemo-0.1.0.1in this set
- unordered-containers-0.2.21in this set
- utf8-string-1.0.2in this set