Skip to content

Commit 073d831

Browse files
authored
Merge pull request #811 from aboutcode-org/restructure-rtd
Update index.rst to restructure for clarity
2 parents 5522a0a + 39e633b commit 073d831

1 file changed

Lines changed: 71 additions & 115 deletions

File tree

docs/source/index.rst

Lines changed: 71 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
1-
=========================================
2-
Welcome to PurlDB documentation!
3-
=========================================
1+
PurlDB Documentation
2+
====================
43

4+
PurlDB provides tools to create and update a database of package metadata keyed by
5+
PURL (Package URL) and an API for the PURL data. PurlDB is an `AboutCode project <https://aboutcode.org>`_.
56

6-
PurlDB aka. ``Package URL Database`` is a database of software package metadata keyed by Package-URL
7-
or purl that offers information and indentication services about software packages.
7+
Details of the Package URL specification are available `here <https://github.com/package-url>`_.
88

9-
A PURL or Package-URL is an attempt to standardize existing approaches to reliably identify and
10-
locate software packages in general and Free and Open Source Software (FOSS) packages in
11-
particular.
12-
13-
A PURL is a URL string used to identify and locate a software package in a mostly universal and
14-
uniform way across programming languages, package managers, packaging conventions, tools, APIs and
15-
databases.
16-
17-
Why PurlDB?
18-
------------------
19-
20-
Modern software is assembled from 1000's of FOSS packages: being able to catalog these, normalize
21-
their metadata, track their versions, licenses and dependencies and being able to discover, locate
22-
and identify them as used in a codebase is essential to healthy, sustainable and secure modern
23-
software development.
24-
25-
This what PurlDB is all about and it offers:
9+
PurlDB offers:
2610

2711
- An active, continuously updated reference for FOSS packages origin, information and licensing,
2812
aka. open code knowledge base.
@@ -31,137 +15,109 @@ This what PurlDB is all about and it offers:
3115
- Additional utilities to help asses the quality and integrity of software packages as used in the
3216
software supply chain.
3317

18+
Documentation overview
19+
~~~~~~~~~~~~~~~~~~~~~~
3420

35-
What can you do PurlDB?
36-
------------------------
37-
38-
- Build a comprehensive open source software packages knowledge base. This includes the extensive
39-
scan of package code for origin, dependencies, embedded packages and licenses.
40-
41-
- Create advanced analysis for open source packages by collecting
42-
:ref:`symbols_and_strings`.
43-
44-
- Detect software supply chain issues by mapping package binaries to their corresponding source code
45-
and determining if there are possible discrepancies between sources and binaries (such as with the
46-
XZ utils attack, or sources and binaries, where package may not report the exact source code
47-
used to build binaries with the :ref:`deploy_to_devel` mapping analysis.
21+
The overview below outlines how the documentation is structured
22+
to help you know where to look for certain things.
4823

49-
- Access multiple services keyed by PURL, such as metadata, package versions, packages URLs, or
50-
dependencies.
24+
.. rst-class:: clearfix row
5125

26+
.. rst-class:: column column2 top-left
5227

53-
What's in PurlDB?
54-
-------------------
28+
Getting started
29+
~~~~~~~~~~~~~~~~~~~~~~
5530

56-
The PurlDB project consists of these main tools:
57-
58-
- PackageDB that is the database and reference model (based on ScanCode toolkit)
59-
that contains package data with PURL (Package URLs) being a first class citizen and the primaty
60-
key to access information.
61-
62-
- MineCode that contains utilities to mine package repositories and populate the PackageDB
63-
64-
- MatchCode that contains utilities to index package metadata and resources for
65-
matching
66-
67-
- MatchCode.io that provides code package and files matching functionalities for codebases
68-
69-
- purldb-toolkit with its "purlcli" command line (CLI) utility and library to use the PurlDB, its
70-
API and various related libraries.
71-
72-
- ClearCode that contains utilities to mine Clearlydefined for package data.
31+
Start here if you are new to PurlDB.
7332

33+
- :doc:`getting-started/index`
7434

75-
These are designed to be used first for reference such that one can query for
76-
packages by purl and validate purl existence.
35+
.. rst-class:: column column2 top-right
7736

78-
Collected packages can be used as reference for dependency resolution, as a reference knowledge base
79-
for all package data, as a reference for vulnerable range resolution and more use cases. All of
80-
these are important to support modern software development open source assembly.
37+
How-To
38+
~~~~~~~~~~~~~~~~~~~~~~
8139

40+
Learn via practical step-by-step guides.
8241

83-
Getting Started
84-
---------------
42+
- :doc:`how-to-guides/index`
8543

86-
.. toctree::
87-
:maxdepth: 2
44+
.. rst-class:: column column2 bottom-left
8845

89-
getting-started/index
46+
Reference Docs
47+
~~~~~~~~~~~~~~~~~~
9048

91-
----
49+
Reference documentation for PurlDB features and customizations.
9250

93-
PurlDB
94-
------
51+
- :doc:`matchcode/index`
9552

96-
PurlDB is a database of packages, with package metadata and indexes for package
97-
files and archives, and various API endpoints to get data about these packages
98-
and match to other codebases.
53+
.. rst-class:: column column2 bottom-right
9954

100-
.. toctree::
101-
:maxdepth: 2
55+
Explanations
56+
~~~~~~~~~~~~~~~~~~
10257

103-
purldb/index
58+
Consult the reference to understand PurlDB concepts.
10459

105-
----
60+
- :doc:`purldb/index`
10661

107-
PurlDB toolkit
108-
--------------
62+
.. rst-class:: row clearfix
10963

110-
purldb-toolkit is command line utility and library to use the PurlDB, its API
111-
and various related libraries.
64+
Misc
65+
~~~~~~~~~~~~~~~
11266

113-
.. note::
67+
- :doc:`license`
68+
- :doc:`funding`
69+
- :doc:`contributing`
70+
- :doc:`testing`
71+
- :doc:`changelog`
11472

115-
purldb-toolkit has moved to its own repo at https://github.com/aboutcode-org/purldb-toolkit
116-
from its previous location at https://github.com/aboutcode-org/purldb/tree/main/purldb-toolkit
73+
.. include:: improve-docs.rst
11774

118-
----
11975

120-
Matchcode
121-
---------
76+
Indices and tables
77+
==================
12278

123-
Matchcode has the functionalities to index archives, files and directories for purldb
124-
packages and API endpoints to make matching available. A ScanCode.io pipeline for
125-
matching is also present to match scanned codebases.
79+
* :ref:`genindex`
80+
* :ref:`search`
12681

12782
.. toctree::
128-
:maxdepth: 2
129-
130-
matchcode/index
83+
:maxdepth: 2
84+
:hidden:
13185

86+
What can you do with PurlDB?
87+
============================
13288

133-
----
89+
- Build a comprehensive open source software packages knowledge base. This includes the extensive
90+
scan of package code for origin, dependencies, embedded packages and licenses.
13491

135-
How-To Documents
136-
----------------
92+
- Create advanced analysis for open source packages by collecting
93+
:ref:`symbols_and_strings`.
13794

138-
How-To documents explain how to accomplish specific tasks.
95+
- Detect software supply chain issues by mapping package binaries to their corresponding source code
96+
and determining if there are possible discrepancies between sources and binaries (such as with the
97+
XZ utils attack, or sources and binaries, where package may not report the exact source code
98+
used to build binaries with the :ref:`deploy_to_devel` mapping analysis.
13999

140-
.. toctree::
141-
:maxdepth: 2
100+
- Access multiple services keyed by PURL, such as metadata, package versions, packages URLs, or
101+
dependencies.
142102

143-
how-to-guides/index
103+
What's in PurlDB?
104+
=================
144105

145-
----
106+
The PurlDB project consists of these main tools:
146107

147-
See also
148-
-------------
108+
- PackageDB that is the database and reference model (based on ScanCode toolkit)
109+
that contains package data with PURL (Package URLs) being a first class citizen and the primaty
110+
key to access information.
149111

150-
.. toctree::
151-
:maxdepth: 2
112+
- MineCode that contains utilities to mine package repositories and populate the PackageDB
152113

153-
license
154-
funding
155-
contributing
156-
testing
157-
changelog
114+
- MatchCode that contains utilities to index package metadata and resources for
115+
matching
158116

159-
----
117+
- MatchCode.io that provides code package and files matching functionalities for codebases
160118

119+
- purldb-toolkit with its "purlcli" command line (CLI) utility and library to use the PurlDB, its
120+
API and various related libraries.
161121

162-
Indices and tables
163-
==================
122+
- ClearCode that contains utilities to mine Clearlydefined for package data.
164123

165-
* :ref:`genindex`
166-
* :ref:`modindex`
167-
* :ref:`search`

0 commit comments

Comments
 (0)