AboutCode Toolkit

Introduction

The AboutCode Toolkit and ABOUT files provide a simple way to document the origin, license, usage and other important or interesting information about third-party software components that you use in your project.

You start by storing ABOUT files (a small YAML formatted text file with field/value pairs) side-by-side with each of the third-party software components you use. Each ABOUT file documents origin and license for one software. There are many examples of ABOUT files (valid or invalid) in the testdata/ directory of the whole repository.

The current version of the AboutCode Toolkit can read these ABOUT files so that you can collect and validate the inventory of third-party components that you use.

In addition, this tool is able to generate attribution notices and identify redistributable source code used in your project to help you comply with open source licenses conditions.

This version of the AboutCode Toolkit follows the ABOUT specification version 3.3.2 at: https://aboutcode-toolkit.readthedocs.io/en/latest/specification.html

Build and tests status

Branch

Linux/macOS

Windows

Master

Linux Master branch tests status

Windows Master branch tests status

Develop

Linux Develop branch tests status

Windows Develop branch tests status

REQUIREMENTS

The AboutCode Toolkit is tested with Python 3.7 or above only on Linux, Mac and Windows. You will need to install a Python interpreter if you do not have one already installed.

On Linux and Mac, Python is typically pre-installed. To verify which version may be pre-installed, open a terminal and type:

python –version

Note

Debian has decided that distutils is not a core python package, so it is not included in the last versions of debian and debian-based OSes.

A solution is to run: sudo apt install python3-distutils

On Windows or Mac, you can download the latest Python here:

https://www.python.org/downloads/

Download the .msi installer for Windows or the .dmg archive for Mac. Open and run the installer using all the default options.

INSTALLATION

Checkout or download and extract the AboutCode Toolkit from:

https://github.com/nexB/aboutcode-toolkit/

To install all the needed dependencies in a virtualenv, run (on posix):

./configure

or on windows:

configure

ACTIVATE the VIRTUALENV

To activate the virtualenv, run (on posix):

source venv/bin/activate

or on windows:

venv\bin\activate

DEACTIVATE the VIRTUALENV

To deactivate the virtualenv, run (on both posix and windows):

deactivate

VERSIONING SCHEMA

Starting at AboutCode version 4.0.0, the AboutCode Toolkit will follow SemVer for the versioning schema.

i.e. MAJOR.MINOR.PATCH format
  1. MAJOR version when making incompatible API changes,

  2. MINOR version when making functionality in a backwards compatible manner, and

  3. PATCH version when making backwards compatible bug fixes.

REFERENCE

See https://aboutcode-toolkit.readthedocs.io/en/latest/ for documentation.

See https://aboutcode-toolkit.readthedocs.io/en/latest/reference.html for reference.

TESTS and DEVELOPMENT

To install all the needed development dependencies, run (on posix):

./configure –dev

or on windows:

configure –dev

To verify that everything works fine you can run the test suite with:

pytest

CLEAN BUILD AND INSTALLED FILES

To clean the built and installed files, run (on posix):

./configure –clean

or on windows:

configure –clean

HELP and SUPPORT

If you have a question or find a bug, enter a ticket at:

For issues, you can use:

SOURCE CODE

The AboutCode Toolkit is available through GitHub. For the latest version visit:

https://github.com/nexB/aboutcode-toolkit

HACKING

We accept pull requests provided under the same license as this tool. You agree to the http://developercertificate.org/

LICENSE

The AboutCode Toolkit is released under the Apache 2.0 license. See (of course) the about.ABOUT file for details.