taxformatter
Official Python SDK for the TaxFormatter API — parse crypto exchange CSVs and bank statement PDFs programmatically.
Install
pip install taxformatter
Quick Start
from taxformatter import TaxFormatter
tf = TaxFormatter("tf_live_xxx")
# Parse a file by path
result = tf.parse("./coinbase_2025.csv")
# Parse bytes with options
result = tf.parse(raw_bytes, filename="coinbase.csv", output_format="turbotax")
# List supported sources
sources = tf.list_sources()
# Check usage
usage = tf.get_usage()
Configuration
tf = TaxFormatter(
"tf_live_xxx",
base_url="https://api.taxformatter.com", # default
timeout=30, # seconds, default
max_retries=3, # auto-retry on 429, default
)
Error Handling
from taxformatter import TaxFormatter, AuthenticationError, RateLimitError, ParseError
try:
result = tf.parse("./file.csv")
except AuthenticationError:
# 401 — invalid or missing API key
pass
except RateLimitError as e:
# 429 — rate limited (auto-retried 3 times before raising)
print(e.retry_after)
except ParseError as e:
# 422 — file could not be parsed
print(e.suggestion)
API
tf.parse(input, filename=None, output_format=None, exchange=None, bank=None)
Parse a crypto CSV or bank statement PDF.
- input: File path (
str/Path) orbytes - filename: Required when passing bytes
- output_format:
"koinly","turbotax","coinledger", or"zenledger" - exchange: Force exchange detection (e.g.,
"coinbase") - bank: Force bank detection (e.g.,
"chase")
tf.list_sources()
List all supported crypto exchanges and banks.
tf.get_usage()
Get current month's API usage.
tf.health()
Check API health status.
License
MIT
Metadata
Release files for taxformatter 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| taxformatter-1.0.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| taxformatter-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / taxformatter-1.0.0.tar.gz
| Download URL | taxformatter-1.0.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
780ee6bdc2bbbc3eae76e2beab56ad9392efd986d7730f4686609b6f24cca48e
|
|
BLAKE2b-256 checksum How to use checksums |
c1d0b06d96667421406131e54e1b44098810ebc83ff38c51108d9b4793767616
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / taxformatter-1.0.0-py3-none-any.whl
| Download URL | taxformatter-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a4585048d3f7c766625ae77d2021cf106cf36223c3c438fbda2cf1510210576
|
|
BLAKE2b-256 checksum How to use checksums |
3e20f74f9a831176a16528269fcd5a481cd7428401b105fea2e61b2b0c29baac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log