1- ABOUT tool
2- ==========
1+ AboutCode tool
2+ ==============
33
44.. image :: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=develop
55 :target: https://travis-ci.org/dejacode/about-code-tool
@@ -8,7 +8,7 @@ ABOUT tool
88 :target: https://coveralls.io/r/dejacode/about-code-tool?branch=develop
99
1010
11- The ABOUT tool and ABOUT files provide a simple way to document the
11+ The AboutCode tool and ABOUT files provide a simple way to document the
1212(origin and license) and other important or interesting information about
1313third-party software components that you use in your project.
1414
@@ -19,66 +19,108 @@ For more information on the ABOUT file format, visit http://www.dejacode.org
1919There are many examples of ABOUT files (valid or invalid) in the testdata/
2020directory of the whole repository.
2121
22- The current version of the ABOUT tool can read these ABOUT files so that you
22+ The current version of AboutCode can read these ABOUT files so that you
2323can collect and validate the inventory of third-party components that you use.
2424
25- In future versions, this tool will be able to generate attribution notices and
26- collect redistributable source code used in your project to help you comply
27- with open source licenses requirements.
25+ This version of AboutCode follows the ABOUT specification version 1.0.0 at:
26+ https://github.com/dejacode/about-code-tool/blob/master/SPEC
2827
29- This version of the ABOUT tool follows the ABOUT specification version 0.8.1 at:
30- http://www.dejacode.org/about_spec_v0.8.1.html
3128
29+ License
30+ -------
31+ AboutCode is released under the Apache 2.0 license.
32+ See (of course) the about.ABOUT file for details.
3233
33- REQUIREMENTS
34+
35+ Requirements
3436------------
35- The ABOUT tool is tested with Python 2.6 or 2.7 on Linux, Mac and Windows.
36- You will need to install a Python interpreter if you do not have one already
37- installed.
37+ The AboutCode tool requires an installation Python 2.7 on Linux, Mac and Windows.
38+ You need to install Python if you do not have one already installed.
3839
3940On Linux and Mac, Python is typically pre-installed. To verify which
4041version may be pre-installed, open a terminal and type::
4142
4243 python --version
43- python2.6 --version
4444 python2.7 --version
4545
46- On Windows or Mac, you can download the latest Python 2.7.x here:
47- https://www.python.org/downloads/
46+ On Linux, Python2.7 may be available from your distro package manager.
47+
48+ On Windows and Mac if version 2.7 is not installed, you can download the latest
49+ Python 2.7.x here https://www.python.org/downloads/ :
4850
49- Download the .msi installer for Windows or the .dmg archive for Mac.
50- Open and run the installer using all the default options.
51+ * Download the .msi installer for Windows or the .dmg archive for Mac.
52+ * Open and run the installer using all the default options.
53+ * On Windows, make sure you install Python in the default c:\P ython27 and not
54+ on another drive.
5155
5256
53- INSTALLATION
57+ Installation
5458------------
55- Checkout or download and extract the AboutCode tool from:
56- https://github.com/dejacode/about-code-tool/
59+ Download the AboutCode tool from a released version at:
60+ https://github.com/dejacode/about-code-tool/releases
61+
62+ Extract the archive to a directory and open a command prompt or shell in this
63+ directory. Then on Linux or Mac run::
64+
65+ source configure
66+
67+ And on Windows::
5768
58- To install all the needed dependencies in a virtualenv, run (on posix)::
59- source configure
60- or on windows::
6169 configure
6270
6371
64- TESTS
65- -----
66- To verify that everything works fine you can run the test suite with::
67- python setup.py test
72+ For instance on Linux the whole installation would be like this::
73+
74+ $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip
75+ $ unzip v2.0.0.zip
76+ $ cd about-code-tool-2.0.0/
77+ $ source configure
78+
79+ On Windows, the whole installation would be like this:
6880
81+ * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip
82+ * open a command prompt and cd to the directory where the zip extraction directory
83+ * run configure
6984
70- USAGE
85+
86+
87+ Later on, if opening a new shell or command prompt on an already installed
88+ AboutCode you need to **activate ** this installation.
89+
90+ On Linux or Mac, run this::
91+ source bin/activate
92+
93+ On Windows, run this::
94+ bin\activate
95+
96+
97+
98+ Usage
7199-----
72- The ABOUT tool command syntax is:
100+ Once installed, the AboutCode tool is used from the command line.
101+ There are three scripts: about.py, genabout.py and genattrib.py.
102+ Once you have installed or activated AboutCode, the scripts are invoked from a
103+ shell or command prompt in this way::
104+
105+ $ python about_code_tool/about.py <options ....>
106+
107+
108+ See docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf for a detailed
109+ documentation and tutorial or read on the quick instructions below.
110+
73111
74- **about.py **
112+ **Using the about.py script **
113+
114+ The about.py script is used to collect existing ABOUT files, validate that
115+ they are correct and collect inventories of the documented components in a CSV
116+ file.
75117
76118::
77119
78120 Usage: about.py [options] input_path output_path
79121
80- Input can be a file or directory.
81- Output must be a file with a .csv extension.
122+ input_path can be a file or directory containing .ABOUT files .
123+ output_path is a file with a .csv extension.
82124
83125 Options:
84126 -h, --help Display help
@@ -92,20 +134,26 @@ The ABOUT tool command syntax is:
92134
93135Example::
94136
95- $ python about.py ./thirdparty_code/ thirdparty_about.csv
137+ $ python about_code_tool/about.py ./thirdparty/ thirdparty_about.csv
138+
96139
97- In this example, the .ABOUT files in the directory /thirdparty_code / will
140+ In this example, the .ABOUT files in the directory thirdparty / will
98141be parsed and validated to collect the data they contain. The collected
99142information will be saved to the CSV file named "thirdparty_about.csv".
100143
101- **genabout.py **
144+
145+
146+ **Using the genabout.py script **
147+
148+ The genabout.py script is used to generate new ABOUT files by using a CSV file
149+ as an input.
102150
103151::
104152
105153 Usage: genabout.py [options] input_path output_path
106154
107- Input must be a CSV file
108- Output must be a directory location where the ABOUT files should be generated
155+ input_path is a CSV file using the same format as the CSV created with about.py
156+ output_path is a directory where the new . ABOUT files are generated
109157
110158
111159 Options:
@@ -131,39 +179,47 @@ information will be saved to the CSV file named "thirdparty_about.csv".
131179 Copy the 'license_text_file' from the directory to the generated location
132180 License path - License text files path
133181
134- --mapping Configure the mapping key from the MAPPING.CONFIG
182+ --mapping Use the mapping between columns names in your CSV and the ABOUT field
183+ names as defined in the MAPPING.CONFIG mapping configuration file.
135184
136- --extract_license=EXTRACT_LICENSE
185+ --extract_license
137186 Extract License text and create <license_key>.LICENSE side-by-side
138- with the .ABOUT from DJE License Library.
139- api_url - URL to the DJE License Library
140- api_username - The regular DJE username
141- api_key - Hash attached to your username which is used to authenticate
142- yourself in the API. Contact us to get the hash key.
187+ with the generated .ABOUT file using data fetched from a DejaCode License Library.
188+ The following additional options are required:
189+ --api_url - URL to the DejaCode License Library API endpoint
190+ --api_username - DejaCode username
191+ --api_key - DejaCode API key for this username
143192
144193 Example syntax:
145- genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key'
194+ python about_code_tool/ genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key'
146195
147196
148197Example::
149198
150- $ python genabout.py thirdparty_code.csv /tmp/thirdparty_about/
199+ $ mkdir tmp
200+ $ python about_code_tool/genabout.py thirdparty_code.csv tmp/thirdparty_about
151201
152- In this example, the tool will look at the "thirdparty_code.csv" and generate
153- the .ABOUT files in the directory / tmp/thirdparty_about/.
202+ In this example, the tool will use the list in the "thirdparty_code.csv" file
203+ and generate .ABOUT files in a directory tmp/thirdparty_about/
154204
155205
156- **genattrib.py **
206+
207+
208+ **Using the genattrib.py script **
209+
210+ The genattrib.py script is used to generate a credit and license attribution
211+ documentation in HTML from a directory containing .ABOUT files.
157212
158213::
159214
160215 Usage: genattrib.py [options] input_path output_path component_list
161-
162- Input can be a file or directory.
163- Output of rendered template must be a file (e.g. .html).
164- Component List must be a .csv file which has at least an "about_file" column.
165-
166-
216+
217+ input can be a file or directory.
218+ output of rendered template must be a file (e.g. .html).
219+ component_list is an optional .csv file with an "about_file" column.
220+ It is used to limit the attribution generation to the subset of
221+ ABOUT files listed here.
222+
167223 Options:
168224 -h, --help Display help
169225 -v, --version Display current version, license notice, and copyright notice
@@ -181,7 +237,7 @@ the .ABOUT files in the directory /tmp/thirdparty_about/.
181237
182238Example::
183239
184- $ python genattrib.py / tmp/thirdparty_about/ / tmp/thirdparty_attribution /attribution.html thirdparty_code.csv
240+ $ python about_code_tool/ genattrib.py tmp/thirdparty_about/ tmp/attribution.html thirdparty_code.csv
185241
186242In this example, the tool will look at the .ABOUT files listed in the "thirdparty_code.csv"
187243from the /tmp/thirdparty_about/ and then generate the attribution output to
@@ -190,7 +246,9 @@ from the /tmp/thirdparty_about/ and then generate the attribution output to
190246
191247(See USAGE for a details explaining of each scripts and options.)
192248
193- HELP and SUPPORT
249+
250+
251+ Help and Support
194252----------------
195253If you have a question or find a bug, enter a ticket at:
196254
@@ -201,19 +259,22 @@ For issues, you can use:
201259 https://github.com/dejacode/about-code-tool/issues
202260
203261
204- SOURCE CODE
205- -----------
206- AboutCode is available through GitHub. For the latest version visit:
262+ Hacking, tests and source code
263+ ------------------------------
264+ For the latest stable version visit::
265+
207266 https://github.com/dejacode/about-code-tool
208267
268+ The development takes places in the develop branch. We use the git flow
269+ branching model.
209270
210- HACKING
211- -------
212- We accept pull requests provided under the same license as this tool.
213- You agree to the http://developercertificate.org/
271+ **Tests **
214272
273+ You can run the test suite with::
274+ python setup.py test
215275
216- LICENSE
217- -------
218- AboutCode is released under the Apache 2.0 license.
219- See (of course) the about.ABOUT file for details.
276+
277+ **Contributing **
278+ We accept bugs, patches and pull requests for code and documentation provided
279+ under the same license (Apache-2.0) as this tool.
280+ When contributing, you are agreeing to the http://developercertificate.org/
0 commit comments