Skip to main content

Experimental data loader and input generator for RP2 (https://pypi.org/project/rp2/), the privacy-focused, free, open-source US cryptocurrency tax calculator.

Project description

DaLI for RP2 v0.3.6

Static Analysis / Main Branch Documentation Check / Main Branch Unix Unit Tests / Main Branch Windows Unit Tests / Main Branch CodeQL/Main Branch

Table of Contents

Introduction

DaLI (Data Loader Interface) is an experimental data loader and input generator for RP2, the privacy-focused, free, open-source US cryptocurrency tax calculator.

It performs the following operations:

  • it reads in crypto transaction information from multiples sources: CSV files and/or REST-based services;
  • it analyzes, processes and merges this data;
  • it uses it the processed data to generate an ODS input file for RP2 and its respective JSON configuration file;

DaLI has a programmable plugin architecture for data loaders (both CSV and REST-based): help us make DaLI a robust open-source, community-driven crypto data loader by contributing plugins for exchanges and wallets!

Read instructions on how to run DaLI.

IMPORTANT DISCLAIMER:

  • DaLI offers no guarantee of correctness (read the license): always verify results with the help of a tax professional.

License

DaLI is released under the terms of Apache License Version 2.0. For more information see LICENSE or http://www.apache.org/licenses/LICENSE-2.0.

Download

The latest version of DaLI can be downloaded at: https://pypi.org/project/dali-rp2/

Installation

DaLI has been tested on Ubuntu Linux, macOS and Windows 10 but it should work on all systems that have Python version 3.7.0 or greater.

Installation on Ubuntu Linux

Open a terminal window and enter the following commands:

sudo apt-get update
sudo apt-get install python3 python3-pip

Then install DaLI:

pip install dali-rp2

Installation on macOS

First make sure Homebrew is installed, then open a terminal window and enter the following commands:

brew update
brew install python3

Then install DaLI:

pip install dali-rp2

Installation on Windows 10

First make sure Python 3.7 or greater is installed (in the Python installer window be sure to click on "Add Python to PATH"), then open a PowerShell window and enter the following:

pip install dali-rp2

Installation on Other Unix-like Systems

  • install python 3.7 or greater
  • install pip3
  • pip install dali-rp2

Running

DaLI reads in a user-prepared configuration file in INI format, which is used to initialize data loaders (plugins) and configure DaLI's behavior. The format of the configuration file is described in detail in the configuration file documentation.

An example of a configuration file can be found in test_config.ini

After reading the configuration file, DaLI reads crypto data from native sources and generates a RP2 input ODS file and RP2 configuration file in the output directory or where specified with the -o CLI option.

To try DaLI with the example configuration, download:

Let's call <download_directory> the location of the downloaded files and copy all CSV files into it. Open a terminal window (or PowerShell if on Windows) and enter the following commands:

Create an input directory in the <download_directory>:

cd <download_directory>
mkdir input
mv *.csv input

To generate output for the example files::

cd <download_directory>
dali -s -o output -p test_ test_config.ini

The -s option enables reading spot price information from Yahoo Finance, when it's not available in the CSV or REST service.

The ODS output file is generated in the output directory (or wherever specified with the -o option).

To print command usage information for the dali command:

dali --help

To compute taxes with RP2 using the generated input files:

cd <download_directory>
rp2_us -m fifo -o output/ -p rp2_ output/test_crypto_data.config output/test_crypto_data.ods
rp2_us -m lifo -o output/ -p rp2_ output/test_crypto_data.config output/test_crypto_data.ods

Configuration File

Read the configuration file documentation.

Reporting Bugs

Read the Contributing document.

Contributing

Read the Contributing document.

Developer Documentation

Read the developer documentation.

Frequently Asked Questions

Read the user FAQ list and the developer FAQ list.

Change Log

Read the Change Log document.

RP2 Change Log

v0.3.6

  • template.ods was missing from the final package. Fixed in setup.cfg
  • various fixes to documentation

v0.3.4

  • First version tracked in change log and uploaded to Github

Project details


Download files

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

Source Distribution

dali-rp2-0.3.6.tar.gz (65.3 kB view details)

Uploaded Source

Built Distribution

dali_rp2-0.3.6-py3-none-any.whl (64.5 kB view details)

Uploaded Python 3

File details

Details for the file dali-rp2-0.3.6.tar.gz.

File metadata

  • Download URL: dali-rp2-0.3.6.tar.gz
  • Upload date:
  • Size: 65.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for dali-rp2-0.3.6.tar.gz
Algorithm Hash digest
SHA256 a20bb6218c7e66f76bf34dce5490ebce0b8aead99a6cd53fcbf3729f293a5f44
MD5 dd87aecd24532726fe07648e78b36282
BLAKE2b-256 c7e003dbce7d2577f03ec231878a55b8a04d365c7abc4cd8eb4f4a0b1fa1661c

See more details on using hashes here.

File details

Details for the file dali_rp2-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: dali_rp2-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 64.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for dali_rp2-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ccf914db81178d5f68494711be17a65723d4d48c16ee210b37118f263ed7a257
MD5 242bb7b40de159bbd9c56d39eb92f9f1
BLAKE2b-256 c38aeb6ee6b318da5fa059ec0af462d0ff2c5f708955997d97508bf1e0cc1036

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page