Skip to main content

ASDA tools

Simple Python3 parser for .par files produced by ASDASoft by Delta Electronics. Main purpose of this tool is to help with comparing servo driver configuration backups using 'normal' tools such as vimdiff.

It can also be used as an diff-tool for git, so you will get human-readable git diffs while commiting raw binary .par files to your repository.

Warning

This was tested only on a few files produced by ASDASoft version 5.4.1.0 with ASDA-A2 servo driver. Implementation may be incomplete for other series.

On the other hand, this script tries to work on the safe side - if it produces json output without giving any error, then you can be sure, that it can completely recreate original .par file from this json.

This script was created by examination of few .par files. The script is most probably not complete. If you find that it fails on any .par file produced by ASDASoft, feel free to create new issue and please include that .par file. (You will probably need to zip it before Github will accept it.)

Using as git diff-tool

All the parsing is located in a single script asda_tools/asdapar2json.py and it has no special dependency. So you can copy it to your repository. (Let's assume, it will be in the same place as in this repository, inside asda_tools directory.)

Then you need to asociate .par files with new difftool by creating a .gitattributes with content:

*.par diff=asdapar2json

And lastly, you need to enable this script in every clone of your repository.

That is security measure -- script will be run automatically by git in the background. It might be better idea to have script somewhere outside of the repository and update it manually. Otherwise mallicious version can be run by git when you switch to branch from untrusted source!

But it should be safe in case of your private repository.

In that case, just add:

[diff "asdapar2json"]
	textconv = `git rev-parse --show-toplevel`/asda_tools/asdapar2json.py

to the file .git/config.

If you are brave enough to run my version, you can test it on this repository :)

Just clone it, edit the .git/config and run:

git log -p test/test_files/test_01_pr.par

Metadata

Release files for asda-tools 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asda-tools 0.0.2
File Size Uploaded Provenance
asda_tools-0.0.2.tar.gz 45.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for asda-tools 0.0.2
File Interpreter ABI Platform
asda_tools-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.8 kB

Release files / asda_tools-0.0.2.tar.gz

Download URL asda_tools-0.0.2.tar.gz
Size 45.9 kB
Tags Source
SHA-256 checksum
How to use checksums
38f4ff3d49c86a9558e12a40ea0ef36f4a389c7a07e2640a22c1847affdd753a
BLAKE2b-256 checksum
How to use checksums
bd161cf88df0ffb027bf0c7f5bde1b5341f092976adc0e1e94865f684ffb3fdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

Release files / asda_tools-0.0.2-py3-none-any.whl

Download URL asda_tools-0.0.2-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3537c8374e5959f89f329a1b23b0692d94d22d18ea402e7d8157b18012479841
BLAKE2b-256 checksum
How to use checksums
ddaac9676c989cf56eece6677a795c8a986c6d94909c0b191d3fda89552af9d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

Security for asda-tools 0.0.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page