2017-04-10 20:36:47 -04:00
|
|
|
# OFXGo
|
|
|
|
|
2017-04-08 11:30:55 -04:00
|
|
|
[![Go Report Card](https://goreportcard.com/badge/github.com/aclindsa/ofxgo)](https://goreportcard.com/report/github.com/aclindsa/ofxgo)
|
2017-04-08 11:14:25 -04:00
|
|
|
[![Build Status](https://travis-ci.org/aclindsa/ofxgo.svg?branch=master)](https://travis-ci.org/aclindsa/ofxgo)
|
2017-04-10 08:17:34 -04:00
|
|
|
[![Coverage Status](https://coveralls.io/repos/github/aclindsa/ofxgo/badge.svg?branch=master)](https://coveralls.io/github/aclindsa/ofxgo?branch=master)
|
2017-04-08 11:30:55 -04:00
|
|
|
[![GoDoc](https://godoc.org/github.com/aclindsa/ofxgo?status.svg)](https://godoc.org/github.com/aclindsa/ofxgo)
|
2017-04-08 11:14:25 -04:00
|
|
|
|
2017-04-10 20:36:47 -04:00
|
|
|
**OFXGo** is a library for querying OFX servers and/or parsing the responses. It
|
|
|
|
also provides an example command-line client to demonstrate the use of the
|
|
|
|
library.
|
2017-03-23 05:48:01 -04:00
|
|
|
|
|
|
|
## Goals
|
|
|
|
|
2017-03-26 20:44:55 -04:00
|
|
|
The main purpose of this project is to provide a library to make it easier to
|
|
|
|
query financial information with OFX from the comfort of Golang, without having
|
|
|
|
to marshal/unmarshal to SGML or XML. The library does *not* intend to abstract
|
2017-04-10 20:36:47 -04:00
|
|
|
away all of the details of the OFX specification, which would be difficult to do
|
|
|
|
well. Instead, it exposes the OFX SGML/XML hierarchy as structs which mostly
|
|
|
|
resemble it.
|
2017-03-26 20:44:55 -04:00
|
|
|
|
|
|
|
Because the OFX specification is rather... 'comprehensive,' it can be difficult
|
|
|
|
for those unfamiliar with it to figure out where to start. To that end, I have
|
|
|
|
created a sample command-line client which uses the library to do simple tasks
|
|
|
|
(currently it does little more than list accounts and query for balances and
|
|
|
|
transactions). My hope is that by studying its code, new users will be able to
|
|
|
|
figure out how to use the library much faster than staring at the OFX
|
|
|
|
specification (or this library's API documentation). The command-line client
|
|
|
|
also serves as an easy way for me to test/debug the library with actual
|
|
|
|
financial institutions, which frequently have 'quirks' in their implementations.
|
|
|
|
The command-line client can be found in the [cmd/ofx
|
|
|
|
directory](https://github.com/aclindsa/ofxgo/tree/master/cmd/ofx) of this
|
|
|
|
repository.
|
|
|
|
|
|
|
|
## Library documentation
|
2017-03-23 05:48:01 -04:00
|
|
|
|
2017-03-26 20:44:55 -04:00
|
|
|
Documentation can be found with the `go doc` tool, or at
|
|
|
|
https://godoc.org/github.com/aclindsa/ofxgo
|
|
|
|
|
|
|
|
## Using the command-line client
|
2017-03-23 05:48:01 -04:00
|
|
|
|
|
|
|
To install the command-line client and test it out, you may do the following:
|
|
|
|
|
|
|
|
$ go get -v github.com/aclindsa/ofxgo/cmd/ofx && go install -v github.com/aclindsa/ofxgo/cmd/ofx
|
2017-03-26 20:44:55 -04:00
|
|
|
|
|
|
|
Once installed (at ~/go/bin/ofx by default, if you haven't set $GOPATH), the
|
|
|
|
command's usage should help you to use it (`./ofx --help` for a listing of the
|
|
|
|
available subcommands and their purposes, `./ofx subcommand --help` for
|
|
|
|
individual subcommand usage).
|