The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

About the Web Assembly Interface

Shane Orr

usincometaxes uses a JavaScript / WebAssembly version of TAXSIM 35 to calculate taxes. The JavaScript / WebAssembly files are part of the package. Therefore, you can calculate taxes without sending data to the TAXSIM server. The output should be the same as the output from the TAXSIM 35 server. But, keep reading for why this might not always be the case.

The JavaScript / WebAssembly tooling comes from Aman Gupta Karmani’s great work that you can find in this GitHub repo: https://github.com/tmm1/taxsim.js. And while you’re checking out his work, don’t overlook his tax calculator web app at taxsim.app.

The JavaScript / WebAssembly files are updated soon after the NBER updates the Fortran code that runs TAXSIM 35. We will then incorporate these updated JavaScript / WebAssembly files into a new version of usincometaxes. A benefit of this approach is that a given version of usincometaxes will always produce the same results when using ‘wasm’. This holds because a given version of usincometaxes will always use the exact same JavaScript / WebAssembly files to calculate taxes. You could see a slight discrepancy between usincometaxes and TAXSIM 35 if there is a lag from when TAXSIM 35 is updated to when the JavaScript / WebAssembly files are updated.

usincometaxes’s changelog will note when a version changes due to an update to the JavaScript / WebAssembly files. That way, you can check if you are using the version of usincometaxes with the most recent JavaScript / WebAssembly files and reinstall usincometaxes if this is not the case. As a reminder, the following code lets you check package versions: packageVersion("usincometaxes").

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.