dockerfile-analyzer 0.4.3__cp315-cp315-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dockerfile_analyzer/__init__.py +5 -0
- dockerfile_analyzer/__init__.pyi +126 -0
- dockerfile_analyzer/dockerfile_analyzer.cp315-win_amd64.pyd +0 -0
- dockerfile_analyzer/py.typed +0 -0
- dockerfile_analyzer-0.4.3.dist-info/METADATA +11 -0
- dockerfile_analyzer-0.4.3.dist-info/RECORD +9 -0
- dockerfile_analyzer-0.4.3.dist-info/WHEEL +4 -0
- dockerfile_analyzer-0.4.3.dist-info/licenses/LICENSE +21 -0
- dockerfile_analyzer-0.4.3.dist-info/sboms/dockerfile-analyzer.cyclonedx.json +815 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# flake8: noqa: PYI021
|
|
2
|
+
def analyze_dockerfile(body: str) -> Analysis:
|
|
3
|
+
"""
|
|
4
|
+
Analyzes a Dockerfile and returns detailed analysis information.
|
|
5
|
+
|
|
6
|
+
Args:
|
|
7
|
+
dockerfile_content (str): The content of the Dockerfile to analyze
|
|
8
|
+
|
|
9
|
+
Returns:
|
|
10
|
+
Analysis: Stages, images, instruction counts, ARG/ENV/LABEL values,
|
|
11
|
+
and exposed ports. ``COPY --from`` and ``ADD --from`` indexes are
|
|
12
|
+
resolved to stages. External ``--from`` images are returned separately
|
|
13
|
+
from stage names.
|
|
14
|
+
|
|
15
|
+
Image references that do not contain a variable are lowercased.
|
|
16
|
+
``${VAR}`` and ``$VAR`` are not expanded. ``EXPOSE`` values are raw
|
|
17
|
+
tokens, including protocol suffixes and ranges. ``stage_names`` lists
|
|
18
|
+
named stages only; ``final_stage`` is the last stage name, or None
|
|
19
|
+
when it is unnamed. A later ``ARG NAME`` without a value keeps an
|
|
20
|
+
earlier default.
|
|
21
|
+
|
|
22
|
+
``args``, ``labels``, ``env_vars``, and ``exposed_ports`` are merged
|
|
23
|
+
across all stages. ``stages`` lists each stage with the values it sets
|
|
24
|
+
itself, and ``final_stage_info`` is the last ``Stage`` (None when
|
|
25
|
+
there are no stages).
|
|
26
|
+
|
|
27
|
+
Raises:
|
|
28
|
+
ValueError: If the dockerfile content is empty or invalid
|
|
29
|
+
|
|
30
|
+
Example:
|
|
31
|
+
>>> analysis = analyze_dockerfile('FROM ubuntu:20.04\nRUN echo hello')
|
|
32
|
+
>>> print(analysis.num_stages)
|
|
33
|
+
1
|
|
34
|
+
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
from typing import Dict, List, Optional, Any
|
|
38
|
+
|
|
39
|
+
class Analysis:
|
|
40
|
+
"""Analysis of one Dockerfile.
|
|
41
|
+
|
|
42
|
+
``args``, ``labels``, ``env_vars``, and ``exposed_ports`` are merged across
|
|
43
|
+
all stages (``args`` also includes global ``ARG``s before the first
|
|
44
|
+
``FROM``); a later stage's value for a key replaces an earlier one. Use
|
|
45
|
+
``stages`` for the values each stage sets. ``final_stage`` is the last
|
|
46
|
+
stage's name (None when unnamed); ``final_stage_info`` is the last
|
|
47
|
+
``Stage`` object, or None when there are no stages.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
num_stages: int
|
|
51
|
+
images: List[Image]
|
|
52
|
+
stage_names: List[str]
|
|
53
|
+
final_stage: Optional[str]
|
|
54
|
+
copy_from_stages: List[str]
|
|
55
|
+
add_from_stages: List[str]
|
|
56
|
+
copy_from_images: List[Image]
|
|
57
|
+
add_from_images: List[Image]
|
|
58
|
+
multistage_analysis: MultistageAnalysis
|
|
59
|
+
exposed_ports: List[str]
|
|
60
|
+
instructions: InstructionStats
|
|
61
|
+
args: Dict[str, Optional[str]]
|
|
62
|
+
labels: Dict[str, str]
|
|
63
|
+
env_vars: Dict[str, str]
|
|
64
|
+
stages: List[Stage]
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def final_stage_info(self) -> Optional[Stage]: ...
|
|
68
|
+
def to_dict(self) -> Dict[str, Any]: ...
|
|
69
|
+
def __repr__(self) -> str: ...
|
|
70
|
+
|
|
71
|
+
class Stage:
|
|
72
|
+
"""One build stage, from its ``FROM`` line to the next ``FROM``.
|
|
73
|
+
|
|
74
|
+
Values are the stage's own. Nothing is inherited from a parent stage, and
|
|
75
|
+
global ``ARG``s declared before the first ``FROM`` are not attributed to
|
|
76
|
+
any stage. ``parent_stage`` is set only when ``FROM`` names an earlier
|
|
77
|
+
stage; a later or unknown name is treated as an image.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
index: int
|
|
81
|
+
name: Optional[str]
|
|
82
|
+
base_image: str
|
|
83
|
+
parent_stage: Optional[str]
|
|
84
|
+
platform: Optional[str]
|
|
85
|
+
args: Dict[str, Optional[str]]
|
|
86
|
+
env_vars: Dict[str, str]
|
|
87
|
+
labels: Dict[str, str]
|
|
88
|
+
exposed_ports: List[str]
|
|
89
|
+
user: Optional[str]
|
|
90
|
+
workdir: Optional[str]
|
|
91
|
+
|
|
92
|
+
def to_dict(self) -> Dict[str, Any]: ...
|
|
93
|
+
def __repr__(self) -> str: ...
|
|
94
|
+
|
|
95
|
+
class Image:
|
|
96
|
+
full: str
|
|
97
|
+
components: Optional[ImageComponents]
|
|
98
|
+
|
|
99
|
+
def to_dict(self) -> Dict[str, Any]: ...
|
|
100
|
+
def __repr__(self) -> str: ...
|
|
101
|
+
|
|
102
|
+
class ImageComponents:
|
|
103
|
+
registry: Optional[str]
|
|
104
|
+
name: str
|
|
105
|
+
tag: Optional[str]
|
|
106
|
+
digest: Optional[str]
|
|
107
|
+
|
|
108
|
+
def to_dict(self) -> Dict[str, Any]: ...
|
|
109
|
+
def __repr__(self) -> str: ...
|
|
110
|
+
|
|
111
|
+
class InstructionStats:
|
|
112
|
+
total_count: int
|
|
113
|
+
by_type: Dict[str, int]
|
|
114
|
+
|
|
115
|
+
def to_dict(self) -> Dict[str, Any]: ...
|
|
116
|
+
def __repr__(self) -> str: ...
|
|
117
|
+
|
|
118
|
+
class MultistageAnalysis:
|
|
119
|
+
is_multistage: bool
|
|
120
|
+
stages_used_as_base_images: List[str]
|
|
121
|
+
stages_copied_from: List[str]
|
|
122
|
+
stages_added_from: List[str]
|
|
123
|
+
unused_stages: List[str]
|
|
124
|
+
|
|
125
|
+
def to_dict(self) -> Dict[str, Any]: ...
|
|
126
|
+
def __repr__(self) -> str: ...
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dockerfile-analyzer
|
|
3
|
+
Version: 0.4.3
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Summary: Analyzes Dockerfiles and provides comprehensive insights including stage information, base images, multistage build analysis, instruction statistics, environment variables, labels, arguments, and exposed ports.
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
Requires-Python: >=3.13
|
|
10
|
+
Project-URL: Homepage, https://github.com/societymartingale/dockerfile-analyzer
|
|
11
|
+
Project-URL: Issues, https://github.com/societymartingale/dockerfile-analyzer/issues
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
dockerfile_analyzer/__init__.py,sha256=7oadnBFnrrD6cdiLZkm_cFEg9hl3zwcZclXkPD328pU,159
|
|
2
|
+
dockerfile_analyzer/__init__.pyi,sha256=vZ2db_uLNykU57gSvUEGP2ADCgaQf8X6gJZPXH3rXEk,4188
|
|
3
|
+
dockerfile_analyzer/dockerfile_analyzer.cp315-win_amd64.pyd,sha256=KQsVnsJklme5nf_UHtibWK65XRmPQaS4VsrMUPSdciI,1155072
|
|
4
|
+
dockerfile_analyzer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
dockerfile_analyzer-0.4.3.dist-info/METADATA,sha256=CjViWdWqn2lf6Nih79FnwjZP6qLOEJLKa1llpHfYExs,631
|
|
6
|
+
dockerfile_analyzer-0.4.3.dist-info/WHEEL,sha256=1_h6kx0k2_JFDbRzyfVOsGEcPlSNf1uBTnmW3MNufiU,97
|
|
7
|
+
dockerfile_analyzer-0.4.3.dist-info/licenses/LICENSE,sha256=TRWh6DmGcCueD1JJY6stu-V5s593i1aICZTvP1uo6LY,1095
|
|
8
|
+
dockerfile_analyzer-0.4.3.dist-info/sboms/dockerfile-analyzer.cyclonedx.json,sha256=JSwALH6aIYwlja8Wuhg0ZoSs7ycUreWPikEfYxkJiUY,25096
|
|
9
|
+
dockerfile_analyzer-0.4.3.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 societymartingale
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,815 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bomFormat": "CycloneDX",
|
|
3
|
+
"specVersion": "1.5",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"serialNumber": "urn:uuid:42e18f4d-6981-4379-b9a3-d131904d49bb",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"timestamp": "2026-10-23T09:01:55.046700600Z",
|
|
8
|
+
"tools": [
|
|
9
|
+
{
|
|
10
|
+
"vendor": "CycloneDX",
|
|
11
|
+
"name": "cargo-cyclonedx",
|
|
12
|
+
"version": "0.5.9"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"component": {
|
|
16
|
+
"type": "library",
|
|
17
|
+
"bom-ref": "path+file:///D:/a/dockerfile-analyzer/dockerfile-analyzer#0.4.3",
|
|
18
|
+
"name": "dockerfile-analyzer",
|
|
19
|
+
"version": "0.4.3",
|
|
20
|
+
"scope": "required",
|
|
21
|
+
"purl": "pkg:cargo/dockerfile-analyzer@0.4.3?download_url=file://.",
|
|
22
|
+
"components": [
|
|
23
|
+
{
|
|
24
|
+
"type": "library",
|
|
25
|
+
"bom-ref": "path+file:///D:/a/dockerfile-analyzer/dockerfile-analyzer#0.4.3 bin-target-0",
|
|
26
|
+
"name": "dockerfile_analyzer",
|
|
27
|
+
"version": "0.4.3",
|
|
28
|
+
"purl": "pkg:cargo/dockerfile-analyzer@0.4.3?download_url=file://.#src/lib.rs"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"properties": [
|
|
33
|
+
{
|
|
34
|
+
"name": "cdx:rustc:sbom:target:all_targets",
|
|
35
|
+
"value": "true"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"components": [
|
|
40
|
+
{
|
|
41
|
+
"type": "library",
|
|
42
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#docker-image@0.2.1",
|
|
43
|
+
"author": "Markus Mayer",
|
|
44
|
+
"name": "docker-image",
|
|
45
|
+
"version": "0.2.1",
|
|
46
|
+
"description": "A simple, no_std-compatible Docker image reference parser with strict adherence to Docker's naming rules.",
|
|
47
|
+
"scope": "required",
|
|
48
|
+
"hashes": [
|
|
49
|
+
{
|
|
50
|
+
"alg": "SHA-256",
|
|
51
|
+
"content": "f40ed901b8f2157bafce6e96f39217f7b1a4af32d84266d251ed7c22ce001f0b"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"licenses": [
|
|
55
|
+
{
|
|
56
|
+
"expression": "EUPL-1.2"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"purl": "pkg:cargo/docker-image@0.2.1",
|
|
60
|
+
"externalReferences": [
|
|
61
|
+
{
|
|
62
|
+
"type": "website",
|
|
63
|
+
"url": "https://github.com/sunsided/docker-image-rs"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "vcs",
|
|
67
|
+
"url": "https://github.com/sunsided/docker-image-rs"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "library",
|
|
73
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
|
|
74
|
+
"name": "heck",
|
|
75
|
+
"version": "0.5.0",
|
|
76
|
+
"description": "heck is a case conversion library.",
|
|
77
|
+
"scope": "required",
|
|
78
|
+
"hashes": [
|
|
79
|
+
{
|
|
80
|
+
"alg": "SHA-256",
|
|
81
|
+
"content": "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"licenses": [
|
|
85
|
+
{
|
|
86
|
+
"expression": "MIT OR Apache-2.0"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"purl": "pkg:cargo/heck@0.5.0",
|
|
90
|
+
"externalReferences": [
|
|
91
|
+
{
|
|
92
|
+
"type": "vcs",
|
|
93
|
+
"url": "https://github.com/withoutboats/heck"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "library",
|
|
99
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#lazy_static@1.5.0",
|
|
100
|
+
"author": "Marvin Löbel <loebel.marvin@gmail.com>",
|
|
101
|
+
"name": "lazy_static",
|
|
102
|
+
"version": "1.5.0",
|
|
103
|
+
"description": "A macro for declaring lazily evaluated statics in Rust.",
|
|
104
|
+
"scope": "required",
|
|
105
|
+
"hashes": [
|
|
106
|
+
{
|
|
107
|
+
"alg": "SHA-256",
|
|
108
|
+
"content": "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"licenses": [
|
|
112
|
+
{
|
|
113
|
+
"expression": "MIT OR Apache-2.0"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"purl": "pkg:cargo/lazy_static@1.5.0",
|
|
117
|
+
"externalReferences": [
|
|
118
|
+
{
|
|
119
|
+
"type": "documentation",
|
|
120
|
+
"url": "https://docs.rs/lazy_static"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "vcs",
|
|
124
|
+
"url": "https://github.com/rust-lang-nursery/lazy-static.rs"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"type": "library",
|
|
130
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.175",
|
|
131
|
+
"author": "The Rust Project Developers",
|
|
132
|
+
"name": "libc",
|
|
133
|
+
"version": "0.2.175",
|
|
134
|
+
"description": "Raw FFI bindings to platform libraries like libc.",
|
|
135
|
+
"scope": "required",
|
|
136
|
+
"hashes": [
|
|
137
|
+
{
|
|
138
|
+
"alg": "SHA-256",
|
|
139
|
+
"content": "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"licenses": [
|
|
143
|
+
{
|
|
144
|
+
"expression": "MIT OR Apache-2.0"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"purl": "pkg:cargo/libc@0.2.175",
|
|
148
|
+
"externalReferences": [
|
|
149
|
+
{
|
|
150
|
+
"type": "vcs",
|
|
151
|
+
"url": "https://github.com/rust-lang/libc"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"type": "library",
|
|
157
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.3",
|
|
158
|
+
"author": "Aleksey Kladov <aleksey.kladov@gmail.com>",
|
|
159
|
+
"name": "once_cell",
|
|
160
|
+
"version": "1.21.3",
|
|
161
|
+
"description": "Single assignment cells and lazy values.",
|
|
162
|
+
"scope": "required",
|
|
163
|
+
"hashes": [
|
|
164
|
+
{
|
|
165
|
+
"alg": "SHA-256",
|
|
166
|
+
"content": "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"licenses": [
|
|
170
|
+
{
|
|
171
|
+
"expression": "MIT OR Apache-2.0"
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"purl": "pkg:cargo/once_cell@1.21.3",
|
|
175
|
+
"externalReferences": [
|
|
176
|
+
{
|
|
177
|
+
"type": "documentation",
|
|
178
|
+
"url": "https://docs.rs/once_cell"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"type": "vcs",
|
|
182
|
+
"url": "https://github.com/matklad/once_cell"
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"type": "library",
|
|
188
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#parse-dockerfile@0.1.8",
|
|
189
|
+
"name": "parse-dockerfile",
|
|
190
|
+
"version": "0.1.8",
|
|
191
|
+
"description": "Dockerfile parser, written in Rust. ",
|
|
192
|
+
"scope": "required",
|
|
193
|
+
"hashes": [
|
|
194
|
+
{
|
|
195
|
+
"alg": "SHA-256",
|
|
196
|
+
"content": "b6bf36e89d16b0fcc540dfe420c99d692c703c436f1ea605195bc0a95651d69e"
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"licenses": [
|
|
200
|
+
{
|
|
201
|
+
"expression": "Apache-2.0 OR MIT"
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"purl": "pkg:cargo/parse-dockerfile@0.1.8",
|
|
205
|
+
"externalReferences": [
|
|
206
|
+
{
|
|
207
|
+
"type": "vcs",
|
|
208
|
+
"url": "https://github.com/taiki-e/parse-dockerfile"
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"type": "library",
|
|
214
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.97",
|
|
215
|
+
"author": "David Tolnay <dtolnay@gmail.com>, Alex Crichton <alex@alexcrichton.com>",
|
|
216
|
+
"name": "proc-macro2",
|
|
217
|
+
"version": "1.0.97",
|
|
218
|
+
"description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.",
|
|
219
|
+
"scope": "required",
|
|
220
|
+
"hashes": [
|
|
221
|
+
{
|
|
222
|
+
"alg": "SHA-256",
|
|
223
|
+
"content": "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"licenses": [
|
|
227
|
+
{
|
|
228
|
+
"expression": "MIT OR Apache-2.0"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"purl": "pkg:cargo/proc-macro2@1.0.97",
|
|
232
|
+
"externalReferences": [
|
|
233
|
+
{
|
|
234
|
+
"type": "documentation",
|
|
235
|
+
"url": "https://docs.rs/proc-macro2"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"type": "vcs",
|
|
239
|
+
"url": "https://github.com/dtolnay/proc-macro2"
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"type": "library",
|
|
245
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1",
|
|
246
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
247
|
+
"name": "pyo3-build-config",
|
|
248
|
+
"version": "0.30.1",
|
|
249
|
+
"description": "Build configuration for the PyO3 ecosystem",
|
|
250
|
+
"scope": "excluded",
|
|
251
|
+
"hashes": [
|
|
252
|
+
{
|
|
253
|
+
"alg": "SHA-256",
|
|
254
|
+
"content": "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"licenses": [
|
|
258
|
+
{
|
|
259
|
+
"expression": "MIT OR Apache-2.0"
|
|
260
|
+
}
|
|
261
|
+
],
|
|
262
|
+
"purl": "pkg:cargo/pyo3-build-config@0.30.1",
|
|
263
|
+
"externalReferences": [
|
|
264
|
+
{
|
|
265
|
+
"type": "website",
|
|
266
|
+
"url": "https://pyo3.rs/"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"type": "vcs",
|
|
270
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"type": "library",
|
|
276
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.30.1",
|
|
277
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
278
|
+
"name": "pyo3-ffi",
|
|
279
|
+
"version": "0.30.1",
|
|
280
|
+
"description": "Python-API bindings for the PyO3 ecosystem",
|
|
281
|
+
"scope": "required",
|
|
282
|
+
"hashes": [
|
|
283
|
+
{
|
|
284
|
+
"alg": "SHA-256",
|
|
285
|
+
"content": "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"licenses": [
|
|
289
|
+
{
|
|
290
|
+
"expression": "MIT OR Apache-2.0"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"purl": "pkg:cargo/pyo3-ffi@0.30.1",
|
|
294
|
+
"externalReferences": [
|
|
295
|
+
{
|
|
296
|
+
"type": "website",
|
|
297
|
+
"url": "https://pyo3.rs/"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"type": "other",
|
|
301
|
+
"url": "python"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"type": "vcs",
|
|
305
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
306
|
+
}
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"type": "library",
|
|
311
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.30.1",
|
|
312
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
313
|
+
"name": "pyo3-macros-backend",
|
|
314
|
+
"version": "0.30.1",
|
|
315
|
+
"description": "Code generation for PyO3 package",
|
|
316
|
+
"scope": "required",
|
|
317
|
+
"hashes": [
|
|
318
|
+
{
|
|
319
|
+
"alg": "SHA-256",
|
|
320
|
+
"content": "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"licenses": [
|
|
324
|
+
{
|
|
325
|
+
"expression": "MIT OR Apache-2.0"
|
|
326
|
+
}
|
|
327
|
+
],
|
|
328
|
+
"purl": "pkg:cargo/pyo3-macros-backend@0.30.1",
|
|
329
|
+
"externalReferences": [
|
|
330
|
+
{
|
|
331
|
+
"type": "website",
|
|
332
|
+
"url": "https://pyo3.rs/"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"type": "vcs",
|
|
336
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"type": "library",
|
|
342
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.30.1",
|
|
343
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
344
|
+
"name": "pyo3-macros",
|
|
345
|
+
"version": "0.30.1",
|
|
346
|
+
"description": "Proc macros for PyO3 package",
|
|
347
|
+
"scope": "required",
|
|
348
|
+
"hashes": [
|
|
349
|
+
{
|
|
350
|
+
"alg": "SHA-256",
|
|
351
|
+
"content": "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
|
|
352
|
+
}
|
|
353
|
+
],
|
|
354
|
+
"licenses": [
|
|
355
|
+
{
|
|
356
|
+
"expression": "MIT OR Apache-2.0"
|
|
357
|
+
}
|
|
358
|
+
],
|
|
359
|
+
"purl": "pkg:cargo/pyo3-macros@0.30.1",
|
|
360
|
+
"externalReferences": [
|
|
361
|
+
{
|
|
362
|
+
"type": "website",
|
|
363
|
+
"url": "https://pyo3.rs/"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"type": "vcs",
|
|
367
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
368
|
+
}
|
|
369
|
+
]
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"type": "library",
|
|
373
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.30.1",
|
|
374
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
375
|
+
"name": "pyo3",
|
|
376
|
+
"version": "0.30.1",
|
|
377
|
+
"description": "Bindings to Python interpreter",
|
|
378
|
+
"scope": "required",
|
|
379
|
+
"hashes": [
|
|
380
|
+
{
|
|
381
|
+
"alg": "SHA-256",
|
|
382
|
+
"content": "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
|
|
383
|
+
}
|
|
384
|
+
],
|
|
385
|
+
"licenses": [
|
|
386
|
+
{
|
|
387
|
+
"expression": "MIT OR Apache-2.0"
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
"purl": "pkg:cargo/pyo3@0.30.1",
|
|
391
|
+
"externalReferences": [
|
|
392
|
+
{
|
|
393
|
+
"type": "documentation",
|
|
394
|
+
"url": "https://docs.rs/crate/pyo3/"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"type": "website",
|
|
398
|
+
"url": "https://pyo3.rs/"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"type": "other",
|
|
402
|
+
"url": "pyo3-python"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"type": "vcs",
|
|
406
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"type": "library",
|
|
412
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.40",
|
|
413
|
+
"author": "David Tolnay <dtolnay@gmail.com>",
|
|
414
|
+
"name": "quote",
|
|
415
|
+
"version": "1.0.40",
|
|
416
|
+
"description": "Quasi-quoting macro quote!(...)",
|
|
417
|
+
"scope": "required",
|
|
418
|
+
"hashes": [
|
|
419
|
+
{
|
|
420
|
+
"alg": "SHA-256",
|
|
421
|
+
"content": "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
|
422
|
+
}
|
|
423
|
+
],
|
|
424
|
+
"licenses": [
|
|
425
|
+
{
|
|
426
|
+
"expression": "MIT OR Apache-2.0"
|
|
427
|
+
}
|
|
428
|
+
],
|
|
429
|
+
"purl": "pkg:cargo/quote@1.0.40",
|
|
430
|
+
"externalReferences": [
|
|
431
|
+
{
|
|
432
|
+
"type": "documentation",
|
|
433
|
+
"url": "https://docs.rs/quote/"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"type": "vcs",
|
|
437
|
+
"url": "https://github.com/dtolnay/quote"
|
|
438
|
+
}
|
|
439
|
+
]
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"type": "library",
|
|
443
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#regex-automata@0.4.9",
|
|
444
|
+
"author": "The Rust Project Developers, Andrew Gallant <jamslam@gmail.com>",
|
|
445
|
+
"name": "regex-automata",
|
|
446
|
+
"version": "0.4.9",
|
|
447
|
+
"description": "Automata construction and matching using regular expressions.",
|
|
448
|
+
"scope": "required",
|
|
449
|
+
"hashes": [
|
|
450
|
+
{
|
|
451
|
+
"alg": "SHA-256",
|
|
452
|
+
"content": "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"licenses": [
|
|
456
|
+
{
|
|
457
|
+
"expression": "MIT OR Apache-2.0"
|
|
458
|
+
}
|
|
459
|
+
],
|
|
460
|
+
"purl": "pkg:cargo/regex-automata@0.4.9",
|
|
461
|
+
"externalReferences": [
|
|
462
|
+
{
|
|
463
|
+
"type": "documentation",
|
|
464
|
+
"url": "https://docs.rs/regex-automata"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"type": "vcs",
|
|
468
|
+
"url": "https://github.com/rust-lang/regex/tree/master/regex-automata"
|
|
469
|
+
}
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"type": "library",
|
|
474
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#regex-syntax@0.8.5",
|
|
475
|
+
"author": "The Rust Project Developers, Andrew Gallant <jamslam@gmail.com>",
|
|
476
|
+
"name": "regex-syntax",
|
|
477
|
+
"version": "0.8.5",
|
|
478
|
+
"description": "A regular expression parser.",
|
|
479
|
+
"scope": "required",
|
|
480
|
+
"hashes": [
|
|
481
|
+
{
|
|
482
|
+
"alg": "SHA-256",
|
|
483
|
+
"content": "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"licenses": [
|
|
487
|
+
{
|
|
488
|
+
"expression": "MIT OR Apache-2.0"
|
|
489
|
+
}
|
|
490
|
+
],
|
|
491
|
+
"purl": "pkg:cargo/regex-syntax@0.8.5",
|
|
492
|
+
"externalReferences": [
|
|
493
|
+
{
|
|
494
|
+
"type": "documentation",
|
|
495
|
+
"url": "https://docs.rs/regex-syntax"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"type": "vcs",
|
|
499
|
+
"url": "https://github.com/rust-lang/regex/tree/master/regex-syntax"
|
|
500
|
+
}
|
|
501
|
+
]
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"type": "library",
|
|
505
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#regex@1.11.1",
|
|
506
|
+
"author": "The Rust Project Developers, Andrew Gallant <jamslam@gmail.com>",
|
|
507
|
+
"name": "regex",
|
|
508
|
+
"version": "1.11.1",
|
|
509
|
+
"description": "An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs. ",
|
|
510
|
+
"scope": "required",
|
|
511
|
+
"hashes": [
|
|
512
|
+
{
|
|
513
|
+
"alg": "SHA-256",
|
|
514
|
+
"content": "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
|
515
|
+
}
|
|
516
|
+
],
|
|
517
|
+
"licenses": [
|
|
518
|
+
{
|
|
519
|
+
"expression": "MIT OR Apache-2.0"
|
|
520
|
+
}
|
|
521
|
+
],
|
|
522
|
+
"purl": "pkg:cargo/regex@1.11.1",
|
|
523
|
+
"externalReferences": [
|
|
524
|
+
{
|
|
525
|
+
"type": "documentation",
|
|
526
|
+
"url": "https://docs.rs/regex"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"type": "website",
|
|
530
|
+
"url": "https://github.com/rust-lang/regex"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"type": "vcs",
|
|
534
|
+
"url": "https://github.com/rust-lang/regex"
|
|
535
|
+
}
|
|
536
|
+
]
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"type": "library",
|
|
540
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1",
|
|
541
|
+
"author": "comex <comexk@gmail.com>, Fenhl <fenhl@fenhl.net>, Adrian Taylor <adetaylor@chromium.org>, Alex Touchet <alextouchet@outlook.com>, Daniel Parks <dp+git@oxidized.org>, Garrett Berg <googberg@gmail.com>",
|
|
542
|
+
"name": "shlex",
|
|
543
|
+
"version": "2.0.1",
|
|
544
|
+
"description": "Split a string into shell words, like Python's shlex.",
|
|
545
|
+
"scope": "required",
|
|
546
|
+
"hashes": [
|
|
547
|
+
{
|
|
548
|
+
"alg": "SHA-256",
|
|
549
|
+
"content": "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
|
|
550
|
+
}
|
|
551
|
+
],
|
|
552
|
+
"licenses": [
|
|
553
|
+
{
|
|
554
|
+
"expression": "MIT OR Apache-2.0"
|
|
555
|
+
}
|
|
556
|
+
],
|
|
557
|
+
"purl": "pkg:cargo/shlex@2.0.1",
|
|
558
|
+
"externalReferences": [
|
|
559
|
+
{
|
|
560
|
+
"type": "vcs",
|
|
561
|
+
"url": "https://github.com/comex/rust-shlex"
|
|
562
|
+
}
|
|
563
|
+
]
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"type": "library",
|
|
567
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1",
|
|
568
|
+
"author": "The Servo Project Developers",
|
|
569
|
+
"name": "smallvec",
|
|
570
|
+
"version": "1.15.1",
|
|
571
|
+
"description": "'Small vector' optimization: store up to a small number of items on the stack",
|
|
572
|
+
"scope": "required",
|
|
573
|
+
"hashes": [
|
|
574
|
+
{
|
|
575
|
+
"alg": "SHA-256",
|
|
576
|
+
"content": "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
|
|
577
|
+
}
|
|
578
|
+
],
|
|
579
|
+
"licenses": [
|
|
580
|
+
{
|
|
581
|
+
"expression": "MIT OR Apache-2.0"
|
|
582
|
+
}
|
|
583
|
+
],
|
|
584
|
+
"purl": "pkg:cargo/smallvec@1.15.1",
|
|
585
|
+
"externalReferences": [
|
|
586
|
+
{
|
|
587
|
+
"type": "documentation",
|
|
588
|
+
"url": "https://docs.rs/smallvec/"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"type": "vcs",
|
|
592
|
+
"url": "https://github.com/servo/rust-smallvec"
|
|
593
|
+
}
|
|
594
|
+
]
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"type": "library",
|
|
598
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9",
|
|
599
|
+
"author": "David Tolnay <dtolnay@gmail.com>",
|
|
600
|
+
"name": "syn",
|
|
601
|
+
"version": "3.0.9",
|
|
602
|
+
"description": "Parser for Rust source code",
|
|
603
|
+
"scope": "required",
|
|
604
|
+
"hashes": [
|
|
605
|
+
{
|
|
606
|
+
"alg": "SHA-256",
|
|
607
|
+
"content": "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
|
|
608
|
+
}
|
|
609
|
+
],
|
|
610
|
+
"licenses": [
|
|
611
|
+
{
|
|
612
|
+
"expression": "MIT OR Apache-2.0"
|
|
613
|
+
}
|
|
614
|
+
],
|
|
615
|
+
"purl": "pkg:cargo/syn@3.0.9",
|
|
616
|
+
"externalReferences": [
|
|
617
|
+
{
|
|
618
|
+
"type": "documentation",
|
|
619
|
+
"url": "https://docs.rs/syn"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"type": "vcs",
|
|
623
|
+
"url": "https://github.com/dtolnay/syn"
|
|
624
|
+
}
|
|
625
|
+
]
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"type": "library",
|
|
629
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.4",
|
|
630
|
+
"author": "Dan Gohman <sunfish@mozilla.com>",
|
|
631
|
+
"name": "target-lexicon",
|
|
632
|
+
"version": "0.13.4",
|
|
633
|
+
"description": "LLVM target triple types",
|
|
634
|
+
"scope": "excluded",
|
|
635
|
+
"hashes": [
|
|
636
|
+
{
|
|
637
|
+
"alg": "SHA-256",
|
|
638
|
+
"content": "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
|
|
639
|
+
}
|
|
640
|
+
],
|
|
641
|
+
"licenses": [
|
|
642
|
+
{
|
|
643
|
+
"expression": "Apache-2.0 WITH LLVM-exception"
|
|
644
|
+
}
|
|
645
|
+
],
|
|
646
|
+
"purl": "pkg:cargo/target-lexicon@0.13.4",
|
|
647
|
+
"externalReferences": [
|
|
648
|
+
{
|
|
649
|
+
"type": "documentation",
|
|
650
|
+
"url": "https://docs.rs/target-lexicon/"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"type": "vcs",
|
|
654
|
+
"url": "https://github.com/bytecodealliance/target-lexicon"
|
|
655
|
+
}
|
|
656
|
+
]
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"type": "library",
|
|
660
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.18",
|
|
661
|
+
"author": "David Tolnay <dtolnay@gmail.com>",
|
|
662
|
+
"name": "unicode-ident",
|
|
663
|
+
"version": "1.0.18",
|
|
664
|
+
"description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31",
|
|
665
|
+
"scope": "required",
|
|
666
|
+
"hashes": [
|
|
667
|
+
{
|
|
668
|
+
"alg": "SHA-256",
|
|
669
|
+
"content": "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
|
670
|
+
}
|
|
671
|
+
],
|
|
672
|
+
"licenses": [
|
|
673
|
+
{
|
|
674
|
+
"expression": "(MIT OR Apache-2.0) AND Unicode-3.0"
|
|
675
|
+
}
|
|
676
|
+
],
|
|
677
|
+
"purl": "pkg:cargo/unicode-ident@1.0.18",
|
|
678
|
+
"externalReferences": [
|
|
679
|
+
{
|
|
680
|
+
"type": "documentation",
|
|
681
|
+
"url": "https://docs.rs/unicode-ident"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"type": "vcs",
|
|
685
|
+
"url": "https://github.com/dtolnay/unicode-ident"
|
|
686
|
+
}
|
|
687
|
+
]
|
|
688
|
+
}
|
|
689
|
+
],
|
|
690
|
+
"dependencies": [
|
|
691
|
+
{
|
|
692
|
+
"ref": "path+file:///D:/a/dockerfile-analyzer/dockerfile-analyzer#0.4.3",
|
|
693
|
+
"dependsOn": [
|
|
694
|
+
"registry+https://github.com/rust-lang/crates.io-index#docker-image@0.2.1",
|
|
695
|
+
"registry+https://github.com/rust-lang/crates.io-index#parse-dockerfile@0.1.8",
|
|
696
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3@0.30.1",
|
|
697
|
+
"registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1"
|
|
698
|
+
]
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#docker-image@0.2.1",
|
|
702
|
+
"dependsOn": [
|
|
703
|
+
"registry+https://github.com/rust-lang/crates.io-index#lazy_static@1.5.0",
|
|
704
|
+
"registry+https://github.com/rust-lang/crates.io-index#regex@1.11.1"
|
|
705
|
+
]
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0"
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#lazy_static@1.5.0"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.175"
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.3"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#parse-dockerfile@0.1.8",
|
|
721
|
+
"dependsOn": [
|
|
722
|
+
"registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1"
|
|
723
|
+
]
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.97",
|
|
727
|
+
"dependsOn": [
|
|
728
|
+
"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.18"
|
|
729
|
+
]
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1",
|
|
733
|
+
"dependsOn": [
|
|
734
|
+
"registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.4"
|
|
735
|
+
]
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.30.1",
|
|
739
|
+
"dependsOn": [
|
|
740
|
+
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.175",
|
|
741
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1"
|
|
742
|
+
]
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.30.1",
|
|
746
|
+
"dependsOn": [
|
|
747
|
+
"registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
|
|
748
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.97",
|
|
749
|
+
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.40",
|
|
750
|
+
"registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9"
|
|
751
|
+
]
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.30.1",
|
|
755
|
+
"dependsOn": [
|
|
756
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.97",
|
|
757
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.30.1",
|
|
758
|
+
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.40",
|
|
759
|
+
"registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9"
|
|
760
|
+
]
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.30.1",
|
|
764
|
+
"dependsOn": [
|
|
765
|
+
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.175",
|
|
766
|
+
"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.3",
|
|
767
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.30.1",
|
|
768
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.30.1",
|
|
769
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.30.1"
|
|
770
|
+
]
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.40",
|
|
774
|
+
"dependsOn": [
|
|
775
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.97"
|
|
776
|
+
]
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#regex-automata@0.4.9",
|
|
780
|
+
"dependsOn": [
|
|
781
|
+
"registry+https://github.com/rust-lang/crates.io-index#regex-syntax@0.8.5"
|
|
782
|
+
]
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#regex-syntax@0.8.5"
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#regex@1.11.1",
|
|
789
|
+
"dependsOn": [
|
|
790
|
+
"registry+https://github.com/rust-lang/crates.io-index#regex-automata@0.4.9",
|
|
791
|
+
"registry+https://github.com/rust-lang/crates.io-index#regex-syntax@0.8.5"
|
|
792
|
+
]
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1"
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#syn@3.0.9",
|
|
802
|
+
"dependsOn": [
|
|
803
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.97",
|
|
804
|
+
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.40",
|
|
805
|
+
"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.18"
|
|
806
|
+
]
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.4"
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.18"
|
|
813
|
+
}
|
|
814
|
+
]
|
|
815
|
+
}
|