DeltaCode is a simple command line utility that leverages the power of scancode-toolkit to determine file-level differences between two codebases.
During a typical software release cycle, development teams and software compliance experts want insight into how a codebase has changed during each release iteration. Specifically, these users need a utility that can point out places in a codebase where material license and other provenance changes have occurred. This is where DeltaCode comes in.
DeltaCode provides an accurate means of comparing two ScanCode result files, and returning any possible changes that have occurred between the two given scanned codebases. DeltaCode currently has the ability to detect file size and license changes, as well as means to detect when files have been moved to new locations.
We are continuously working on new features, such as detecting copyright changes and detecting package version changes.
We run tests on each commit on multiple CIs to ensure a good platform compatibility with multiple versions of Windows, Linux and macOS.
Azure | RTD Build |
---|---|
The DeltaCode documentation is hosted at deltacode.readthedocs.io.
Before installing DeltaCode make sure that you have installed the prerequisites properly. This means installing Python 3.8 for x86/64 architectures. We support Python 3.8, 3.9 and 3.10.
See prerequisites for detailed information on the support platforms and Python versions.
There are a few common ways to install DeltaCode.
- Development installation from source code using a git clone
- Development installation as a library with "pip install deltacode"
- Run in a Docker container with a git clone and "docker run"
Run this command to display the command help:
deltacode --help
Run a sample delta:
deltacode -n samples/samples.json -o samples/samples.json
Run a simple delta saved to the output.json file:
deltacode -n samples/samples.json -o samples/samples.json -j output.json
Then open output.json to view the delta results.
To get DeltaCode results for your codebase, install scancode-toolkit and generate a scan for each of the codebases you wish to 'Delta'
If you have a problem, a suggestion or found a bug, please enter a ticket at: https://github.com/aboutcode-org/deltacode/issues
For discussions and chats, we have:
- an official Gitter channel for web-based chats. Gitter is also accessible via an IRC bridge. There are other AboutCode project-specific channels available there too.
- an official #aboutcode IRC channel on liberachat (server web.libera.chat). This channel receives build and commit notifications and can be noisy. You can use your favorite IRC client or use the web chat.
- https://github.com/aboutcode-org/deltacode/releases
- https://github.com/aboutcode-org/deltacode.git
- https://pypi.org/project/deltacode/
- Apache-2.0 with an acknowledgement required to accompany the delta output.
See the NOTICE file and the .ABOUT files that document the origin and license of the third-party code used in DeltaCode for more details.