hledger/hledger-lib/hledger-lib.cabal
Simon Michael 029b59093b feat: csv: rules files can be read directly; data file can be specified
CSV rules files can now be read directly, eg you have the option of
writing `hledger -f foo.csv.rules CMD`. By default this will read data
from foo.csv in the same directory.  But you can also specify a
different data file with a new `source FILE` rule. This has some
convenience features:

- If the data file does not exist, it is treated as empty, not an
  error.

- If FILE is a relative path, it is relative to the rules file's
  directory. If it is just a file name with no path, it is relative
  to ~/Downloads/.

- If FILE is a glob pattern, the most recently modified matched file
  is used.

This helps remove some of the busywork of managing CSV downloads.
Most of your financial institutions's default CSV filenames are
different and can be recognised by a glob pattern.  So you can put a
rule like `source Checking1*.csv` in foo-checking.csv.rules,
periodically download CSV from Foo's website accepting your browser's
defaults, and then run `hledger import checking.csv.rules` to import
any new transactions. The next time, if you have done no cleanup, your
browser will probably save it as something like Checking1-2.csv, and
hledger will still see that because of the * wild card. You can choose
whether to delete CSVs after import, or keep them for a while as
temporary backups, or archive them somewhere.
2023-05-19 09:09:21 -10:00

273 lines
7.0 KiB
Plaintext

cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.35.1.
--
-- see: https://github.com/sol/hpack
name: hledger-lib
version: 1.29.99
synopsis: A reusable library providing the core functionality of hledger
description: A reusable library containing hledger's core functionality.
This is used by most hledger* packages so that they support the same
common file formats, command line options, 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. Read more at:
<https://hledger.org>
category: Finance
stability: stable
homepage: http://hledger.org
bug-reports: http://bugs.hledger.org
author: Simon Michael <simon@joyful.com>
maintainer: Simon Michael <simon@joyful.com>
license: GPL-3
license-file: LICENSE
build-type: Simple
tested-with:
GHC==8.10.7, GHC==9.0.2, GHC==9.2.7, GHC==9.4.4
extra-source-files:
CHANGES.md
README.md
test/unittest.hs
test/doctests.hs
source-repository head
type: git
location: https://github.com/simonmichael/hledger
library
exposed-modules:
Hledger
Hledger.Data
Hledger.Data.Account
Hledger.Data.AccountName
Hledger.Data.Amount
Hledger.Data.Balancing
Hledger.Data.Dates
Hledger.Data.Errors
Hledger.Data.Journal
Hledger.Data.JournalChecks
Hledger.Data.JournalChecks.Ordereddates
Hledger.Data.JournalChecks.Uniqueleafnames
Hledger.Data.Json
Hledger.Data.Ledger
Hledger.Data.Period
Hledger.Data.PeriodicTransaction
Hledger.Data.StringFormat
Hledger.Data.Posting
Hledger.Data.RawOptions
Hledger.Data.Timeclock
Hledger.Data.Transaction
Hledger.Data.TransactionModifier
Hledger.Data.Types
Hledger.Data.Valuation
Hledger.Query
Hledger.Read
Hledger.Read.Common
Hledger.Read.CsvReader
Hledger.Read.CsvUtils
Hledger.Read.InputOptions
Hledger.Read.JournalReader
Hledger.Read.RulesReader
Hledger.Read.TimedotReader
Hledger.Read.TimeclockReader
Hledger.Reports
Hledger.Reports.ReportOptions
Hledger.Reports.ReportTypes
Hledger.Reports.AccountTransactionsReport
Hledger.Reports.BalanceReport
Hledger.Reports.BudgetReport
Hledger.Reports.EntriesReport
Hledger.Reports.MultiBalanceReport
Hledger.Reports.PostingsReport
Hledger.Utils
Hledger.Utils.Debug
Hledger.Utils.IO
Hledger.Utils.Parse
Hledger.Utils.Regex
Hledger.Utils.String
Hledger.Utils.Test
Hledger.Utils.Text
Text.Tabular.AsciiWide
other-modules:
Text.Megaparsec.Custom
Text.WideString
Paths_hledger_lib
hs-source-dirs:
./
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
build-depends:
Decimal >=0.5.1
, Glob >=0.9
, aeson >=1
, aeson-pretty
, ansi-terminal >=0.9
, array
, base >=4.14 && <4.19
, base-compat
, blaze-markup >=0.5.1
, bytestring
, call-stack
, cassava
, cassava-megaparsec
, cmdargs >=0.10
, colour >=2.3.6
, containers >=0.5.9
, data-default >=0.5
, deepseq
, directory
, doclayout >=0.3 && <0.5
, extra >=1.6.3
, file-embed >=0.0.10
, filepath
, hashtables >=1.2.3.1
, megaparsec >=7.0.0 && <9.4
, microlens >=0.4
, microlens-th >=0.4
, mtl >=2.2.1
, parser-combinators >=0.4.0
, pretty-simple >4 && <5
, regex-tdfa
, safe >=0.3.19
, tabular >=0.2
, tasty >=1.2.3
, tasty-hunit >=0.10.0.2
, template-haskell
, terminal-size >=0.3.3
, text >=1.2
, text-ansi >=0.2.1
, time >=1.5
, timeit
, transformers >=0.2
, uglymemo
, unordered-containers >=0.2
, utf8-string >=0.3.5
default-language: Haskell2010
if (!(os(windows)))
build-depends:
pager >=0.1.1.0
test-suite doctest
type: exitcode-stdio-1.0
main-is: doctests.hs
hs-source-dirs:
./
test
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
build-depends:
Decimal >=0.5.1
, Glob >=0.7
, aeson >=1
, aeson-pretty
, ansi-terminal >=0.9
, array
, base >=4.14 && <4.19
, base-compat
, blaze-markup >=0.5.1
, bytestring
, call-stack
, cassava
, cassava-megaparsec
, cmdargs >=0.10
, colour >=2.3.6
, containers >=0.5.9
, data-default >=0.5
, deepseq
, directory
, doclayout >=0.3 && <0.5
, doctest >=0.18.1
, extra >=1.6.3
, file-embed >=0.0.10
, filepath
, hashtables >=1.2.3.1
, megaparsec >=7.0.0 && <9.4
, microlens >=0.4
, microlens-th >=0.4
, mtl >=2.2.1
, parser-combinators >=0.4.0
, pretty-simple >4 && <5
, regex-tdfa
, safe >=0.3.19
, tabular >=0.2
, tasty >=1.2.3
, tasty-hunit >=0.10.0.2
, template-haskell
, terminal-size >=0.3.3
, text >=1.2
, text-ansi >=0.2.1
, time >=1.5
, timeit
, transformers >=0.2
, uglymemo
, unordered-containers >=0.2
, utf8-string >=0.3.5
default-language: Haskell2010
if (!(os(windows)))
build-depends:
pager >=0.1.1.0
if impl(ghc >= 9.0) && impl(ghc < 9.2)
buildable: False
test-suite unittest
type: exitcode-stdio-1.0
main-is: unittest.hs
hs-source-dirs:
./
test
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
build-depends:
Decimal >=0.5.1
, Glob >=0.9
, aeson >=1
, aeson-pretty
, ansi-terminal >=0.9
, array
, base >=4.14 && <4.19
, base-compat
, blaze-markup >=0.5.1
, bytestring
, call-stack
, cassava
, cassava-megaparsec
, cmdargs >=0.10
, colour >=2.3.6
, containers >=0.5.9
, data-default >=0.5
, deepseq
, directory
, doclayout >=0.3 && <0.5
, extra >=1.6.3
, file-embed >=0.0.10
, filepath
, hashtables >=1.2.3.1
, hledger-lib
, megaparsec >=7.0.0 && <9.4
, microlens >=0.4
, microlens-th >=0.4
, mtl >=2.2.1
, parser-combinators >=0.4.0
, pretty-simple >4 && <5
, regex-tdfa
, safe >=0.3.19
, tabular >=0.2
, tasty >=1.2.3
, tasty-hunit >=0.10.0.2
, template-haskell
, terminal-size >=0.3.3
, text >=1.2
, text-ansi >=0.2.1
, time >=1.5
, timeit
, transformers >=0.2
, uglymemo
, unordered-containers >=0.2
, utf8-string >=0.3.5
buildable: True
default-language: Haskell2010
if (!(os(windows)))
build-depends:
pager >=0.1.1.0