A python script to pull the transactions of an Algorand wallet and put them into a CSV file.

Overview

AlgoCSV

A python script to pull the transactions of an Algorand wallet and put them into a CSV file.

Dependancies: Requests

Main features: Groups: Compress transaction groups down to 1 or 2 rows. Swap shows as 1 txn, not 4. Algofi txns show as 1, not 14-16 txns.

Tinyman: Algo network fees are part of the swap row. Swap Fees (0.3%) are calculated and shown as a separate row.

Algofi: Records Inner transactions. This will show amounts sent from Algofi to you as part of a borrow txn group for example.

Participation Rewards: Parsed out from the TXNs and shown as a separate row.

Limits and issues:

Some transactions are out of chronological order. This is related to parsing groups and single txns differently while accommodating a reward in the middle of the group. not sure how to fix it without breaking something else at the moment.

Commenting: code could be commented a LOT better. will work on it. just wanted to push a release for people to use/test. I know it's tax filing time in the U.S. so if it can help you, fantastic.

Platform, ID, GroupID columns need more consistency. This was a failure to plan before building on my behalf. Again, can be improved.

dApp Support: Currently supports Yieldly, Tinyman, Algofi. These are the dApps I have been using and able to test with. I haven't touched AlgoGems, AB2, NFT's, ASA Management, or Govenance so the code doesn't currently support these features. They may be added in the future (I'm signed up for G2, I may get into NFT trading at some point). There is some generic group handling that may catch this stuff but I'm just not sure.

I'm an amateur programmer using this as an exorcise in learning API get requests, so it's not pro-grade by any measure. Also, no tax jurisdiction has been considered. This is not a tax report or financial advice or anything else. This is just a tool that may help you with your record keeping. I make no guarantees. This is my first time using Github too.

Donations: ALGO - WLWWUUU2HNSYE7L5MY5CH5PMEU2IDC32UMREY363YMJU5JGILTW3WE3UFI

You might also like...
Creates folders into a directory to categorize files in that directory by file extensions and move all things from sub-directories to current directory.

Categorize and Uncategorize Your Folders Table of Content TL;DR just take me to how to install. What are Extension Categorizer and Folder Dumper Insta

File-manager - A basic file manager, written in Python

File Manager A basic file manager, written in Python. Installation Install Pytho

Python Fstab Generator is a small Python script to write and generate /etc/fstab files based on yaml file on Unix-like systems.

PyFstab Generator PyFstab Generator is a small Python script to write and generate /etc/fstab files based on yaml file on Unix-like systems. NOTE : Th

gitfs is a FUSE file system that fully integrates with git - Version controlled file system

gitfs is a FUSE file system that fully integrates with git. You can mount a remote repository's branch locally, and any subsequent changes made to the files will be automatically committed to the remote.

This is a file deletion program that asks you for an extension of a file (.mp3, .pdf, .docx, etc.) to delete all of the files in a dir that have that extension.
This is a file deletion program that asks you for an extension of a file (.mp3, .pdf, .docx, etc.) to delete all of the files in a dir that have that extension.

FileBulk This is a file deletion program that asks you for an extension of a file (.mp3, .pdf, .docx, etc.) to delete all of the files in a dir that h

Small-File-Explorer - I coded a small file explorer with several options
Small-File-Explorer - I coded a small file explorer with several options

Petit explorateur de fichier / Small file explorer Pour la première option (création de répertoire) / For the first option (creation of a directory) e

Pti-file-format - Reverse engineering the Polyend Tracker instrument file format

pti-file-format Reverse engineering the Polyend Tracker instrument file format.

PaddingZip - a tool that you can craft a zip file that contains the padding characters between the file content.
PaddingZip - a tool that you can craft a zip file that contains the padding characters between the file content.

PaddingZip - a tool that you can craft a zip file that contains the padding characters between the file content.

Extract longest transcript or longest CDS transcript from GTF annotation file or gencode transcripts fasta file.

Extract longest transcript or longest CDS transcript from GTF annotation file or gencode transcripts fasta file.

Comments
  • Error in reading ASAs

    Error in reading ASAs

    getting ASA ID: 163650 getting ASA ID: 300208676 getting ASA ID: 188080731

    KeyError Traceback (most recent call last) in () 303 else: 304 print('getting ASA ID: ', str(asaID)) --> 305 asaDB.update({asaID: getAsa(str(asaID))}) 306 307 #----------# Row Building

    in getAsa(asaID) 282 asaDetails = asaJSON['asset'] 283 asaParams = asaDetails['params'] --> 284 if asaParams['unit-name'] == 'TM1POOL': 285 asaPoolTick = asaParams['name'] 286 asaPoolTickCut = asaPoolTick.zfill(12)

    KeyError: 'unit-name'

    opened by Mariichen 1
  • Escrow functions

    Escrow functions

    general function to create rows to show funds moving in and out of escrow created. Will be needed for Staking/Deposits/Withdrawals into defi platforms and such

    AlgoDex: Make, Cancel, Take order types execute with generic escrow function AlgoDex: Order taken. Trade is escrow uses generic trade function, accurate escrow returns required dedicated functionality

    Error fix: Fixed and error were group processing wasn't triggered with last group.

    opened by HashingSlash 0
Owner
null
Two scripts help you to convert csv file to md file by template

Two scripts help you to convert csv file to md file by template. One help you generate multiple md files with different filenames from the first colume of csv file. Another can generate one md file with several blocks.

null 2 Oct 15, 2022
Automatically generates a TypeQL script for doing entity and relationship insertions from a .csv file, so you don't have to mess with writing TypeQL.

Automatically generates a TypeQL script for doing entity and relationship insertions from a .csv file, so you don't have to mess with writing TypeQL.

null 3 Feb 9, 2022
Search for files under the specified directory. Extract the file name and file path and import them as data.

Search for files under the specified directory. Extract the file name and file path and import them as data. Based on that, search for the file, select it and open it.

G-jon FujiYama 2 Jan 10, 2022
This simple python script pcopy reads a list of file names and copies them to a separate folder

pCopy This simple python script pcopy reads a list of file names and copies them to a separate folder. Pre-requisites Python 3 (ver. > 3.6) How to use

Madhuranga Rathnayake 0 Sep 3, 2021
Extract an archive file (zip file or tar file) stored on AWS S3

S3 Extract Extract an archive file (zip file or tar file) stored on AWS S3. Details Downloads archive from S3 into memory, then extract and re-upload

Evan 1 Dec 14, 2021
A python script to convert an ucompressed Gnucash XML file to a text file for Ledger and hledger.

README 1 gnucash2ledger gnucash2ledger is a Python script based on the Github Gist by nonducor (nonducor/gcash2ledger.py). This Python script will tak

Thomas Freeman 0 Jan 28, 2022
🧹 Create symlinks for .m2ts files and classify them into directories in yyyy-mm format.

?? Create symlinks for .m2ts files and classify them into directories in yyyy-mm format.

Nep 2 Feb 7, 2022
csv2ir is a script to convert ir .csv files to .ir files for the flipper.

csv2ir csv2ir is a script to convert ir .csv files to .ir files for the flipper. For a repo of .ir files, please see https://github.com/logickworkshop

Alex 38 Dec 31, 2022
Python package to read and display segregated file names present in a directory based on type of the file

tpyfilestructure Python package to read and display segregated file names present in a directory based on type of the file. Installation You can insta

Tharun Kumar T 2 Nov 28, 2021
Python function to stream unzip all the files in a ZIP archive: without loading the entire ZIP file or any of its files into memory at once

Python function to stream unzip all the files in a ZIP archive: without loading the entire ZIP file or any of its files into memory at once

Department for International Trade 206 Jan 2, 2023