1
- Matchcode
2
- ==========
1
+ ===========
2
+ Matchcode
3
+ ===========
3
4
4
5
MatchCode.io
5
6
------------
@@ -8,12 +9,16 @@ MatchCode.io is a Django app, based off of ScanCode.io, that exposes one API
8
9
endpoint, ``api/matching ``, which takes a ScanCode.io codebase scan, and
9
10
performs Package matching on it.
10
11
11
- Currently, it performs three matching steps:
12
+ Currently, it performs three matching steps, using the PackageDB indices :
12
13
13
- * Match codebase resources against the Packages in the PackageDB
14
- * Match codebase resources against the Resources in the PackageDB
15
- * Match codebase directories against the directory matching indices of
16
- MatchCode
14
+ * Match codebase files against whole Packages archives
15
+ * Match exactly codebase files against files
16
+ * Match codebase directories exactly and approximately against directory indices
17
+
18
+ Upcoming features include:
19
+
20
+ * Match codebase files approximately
21
+ * Match codebase file fragments (aka. snippets) including attempting to match AI-generated code
17
22
18
23
19
24
MatchCode.io API Endpoints
@@ -28,23 +33,23 @@ MatchCode.io API Endpoints
28
33
Docker Setup for Local Development and Testing
29
34
----------------------------------------------
30
35
31
- PurlDB and MatchCode.io are two separate Django apps. In order to run both of
32
- these Django apps on the same host, we need to use Traefik.
36
+ PurlDB and MatchCode.io are two separate Django apps. In order to run both of these Django apps on
37
+ the same host, we need to use Traefik.
33
38
34
- Traefik is an edge router that receives requests and finds out which services
35
- are responsible for handling them. In the docker-compose.yml files for PurlDB
36
- and MatchCode.io, we have made these two services part of the same Docker
37
- network and set up the routes for each service.
39
+ Traefik is an edge router that receives requests and finds out which services are responsible for
40
+ handling them. In the docker-compose.yml files for PurlDB and MatchCode.io, we have made these two
41
+ services part of the same Docker network and set up the routes for each service.
38
42
39
- All requests to the host go to the PurlDB service, but requests that go to the
40
- `` api/matching `` endpoint are routed to the MatchCode.io service.
43
+ All requests to the host go to the PurlDB service, but requests that go to the `` api/matching ``
44
+ endpoint are routed to the MatchCode.io service.
41
45
42
46
To run PurlDB and Matchcode.io with Docker:
43
47
::
44
48
45
49
docker compose -f docker-compose.yml up -d
46
50
docker compose -f docker-compose.matchcodeio.yml up -d
47
51
52
+
48
53
Scancode.io pipeline
49
54
---------------------
50
55
0 commit comments