Skip to main content

Plugin for Beancount to write oneliner transaction entries.

Project description

PyPI - Version PyPI - Downloads PyPI - Wheel PyPI - License

How to use

Two leg simple amount transactions are supported, because they are the bulk of entries. Support for price and cost may come, feel free to contribute.

1999-12-31 note Assets:Cash "Income:Test -16.18 EUR ! Description goes here #myTag *"

will be translated into

1999-12-31 ! "Description goes here" #myTag
	Income:Test		-16.18 EUR
	Assets:Cash

Install

pip3 install beancount_oneliner --user

Or copy to path used for python. For example, $HOME/.local/lib/python3.4/site-packages/beancount_oneliner/oneliner.py would do on Debian. If in doubt, look where beancount folder is and copy next to it.

Syntax highlight

Sublime

YAML-tmLanguage entry of beancount syntax definition for Sublime Text

- comment: note oneliner directive
  name: meta.directive.notetotext.beancount
  begin: ([0-9]{4})([\-|/])([0-9]{2})([\-|/])([0-9]{2})\s+(note)(?=(.*\*\"\s))
  beginCaptures:
    '1': {name: constant.numeric.date.year.beancount}
    '2': {name: punctuation.separator.beancount}
    '3': {name: constant.numeric.date.month.beancount}
    '4': {name: punctuation.separator.beancount}
    '5': {name: constant.numeric.date.day.beancount}
    '6': {name: support.function.directive.beancount}
  end: (?=(^\s*$|^\S))
  patterns:
  - include: '#meta'
  - include: '#account'
  - name: punctuation.separator.beancount
    match: (?<=\s)\"
  - include: '#cost'
  - include: '#amount'
  - begin: (\*|\!)
    beginCaptures:
      '0': {name: support.function.directive.beancount}
    end: (\*\")
    endCaptures:
      '0': {name: punctuation.separator.beancount}
    patterns:
    - name: constant.character.escape.beancount
      match: \\.
    - include: '#tag'
    - name: string.quoted.double.beancount
      match: ([^\"])
  - include: '#illegal'

YAML-tmLanguage entry for VSCode Beancount Extension

    -
        name: meta.directive.notetotext.beancount
        comment: 'Note as Oneliner Transaction directive'
        begin: '([0-9]{4})([\-|/])([0-9]{2})([\-|/])([0-9]{2})\s+(note)(?=(.*\*\"\s))'
        beginCaptures:
            '1':
                name: constant.numeric.date.year.beancount
            '2':
                name: punctuation.separator.beancount
            '3':
                name: constant.numeric.date.month.beancount
            '4':
                name: punctuation.separator.beancount
            '5':
                name: constant.numeric.date.day.beancount
            '6':
                name: support.function.directive.beancount
        end: '(?=(^\s*$|^\S))'
        patterns:
            -
                include: '#meta'
            -
                include: '#account'
            -
                name: punctuation.separator.beancount
                match: '(?<=\s)\"'
            -
                include: '#cost'
            -
                include: '#amount'
            -
                begin: '(\*|\!)'
                beginCaptures:
                    '0': {name: support.function.directive.beancount}
                end: '(\*\")'
                endCaptures:
                    '0': {name: punctuation.separator.beancount}
                patterns:
                    - {name: constant.character.escape.beancount, match: \\.}
                    - {include: '#tag'}
                    - {name: string.quoted.double.beancount, match: '([^\"])'}
            -
                include: '#illegal'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for beancount-oneliner, version 1.0.6
Filename, size File type Python version Upload date Hashes
Filename, size beancount_oneliner-1.0.6-py3-none-any.whl (17.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size beancount_oneliner-1.0.6.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page