dockerfile-analyzer 0.4.1__tar.gz → 0.4.3__tar.gz

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.
Files changed (22) hide show
  1. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/.github/workflows/CI.yml +13 -13
  2. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/Cargo.lock +13 -13
  3. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/Cargo.toml +2 -2
  4. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/PKG-INFO +1 -1
  5. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/src/models.rs +6 -6
  6. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/.cargo/config.toml +0 -0
  7. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/.github/dependabot.yml +0 -0
  8. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/.gitignore +0 -0
  9. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/LICENSE +0 -0
  10. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/README.md +0 -0
  11. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/dockerfile_analyzer.pyi +0 -0
  12. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/example.py +0 -0
  13. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/py.typed +0 -0
  14. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/pyproject.toml +0 -0
  15. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/requirements-dev.txt +0 -0
  16. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/src/analyzer.rs +0 -0
  17. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/src/constants.rs +0 -0
  18. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/src/lib.rs +0 -0
  19. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/src/parse_utils.rs +0 -0
  20. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/tests/fixtures/multistage.Dockerfile +0 -0
  21. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/tests/test_analyze_dockerfile.py +0 -0
  22. {dockerfile_analyzer-0.4.1 → dockerfile_analyzer-0.4.3}/tests/test_stages.py +0 -0
@@ -30,12 +30,12 @@ jobs:
30
30
  # Keep in sync with requires-python in pyproject.toml (PyO3 needs a
31
31
  # matching libpython for clippy on --all-targets).
32
32
  python-version: "3.14"
33
- - uses: dtolnay/rust-toolchain@e2a55d2ffb04f378e9626c28d38b36d230d1e12f # master
33
+ - uses: dtolnay/rust-toolchain@683b588c487a69d01f6c6ddf40f036ff682cc2c8 # master
34
34
  with:
35
35
  # A commit pin does not get the branch-name default of stable.
36
36
  toolchain: stable
37
37
  components: rustfmt, clippy
38
- - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
38
+ - uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2.9.3
39
39
  - name: Check formatting
40
40
  run: cargo fmt --all -- --check
41
41
  - name: Clippy
@@ -54,11 +54,11 @@ jobs:
54
54
  # Keep in sync with requires-python in pyproject.toml (PyO3 needs a
55
55
  # matching libpython for linking the test binary).
56
56
  python-version: "3.14"
57
- - uses: dtolnay/rust-toolchain@e2a55d2ffb04f378e9626c28d38b36d230d1e12f # master
57
+ - uses: dtolnay/rust-toolchain@683b588c487a69d01f6c6ddf40f036ff682cc2c8 # master
58
58
  with:
59
59
  # A commit pin does not get the branch-name default of stable.
60
60
  toolchain: stable
61
- - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
61
+ - uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2.9.3
62
62
  - name: Run tests
63
63
  run: cargo test
64
64
  env:
@@ -74,11 +74,11 @@ jobs:
74
74
  with:
75
75
  # Keep in sync with requires-python in pyproject.toml.
76
76
  python-version: "3.14"
77
- - uses: dtolnay/rust-toolchain@e2a55d2ffb04f378e9626c28d38b36d230d1e12f # master
77
+ - uses: dtolnay/rust-toolchain@683b588c487a69d01f6c6ddf40f036ff682cc2c8 # master
78
78
  with:
79
79
  # A commit pin does not get the branch-name default of stable.
80
80
  toolchain: stable
81
- - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
81
+ - uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2.9.3
82
82
  - name: Install dev dependencies
83
83
  run: |
84
84
  python -m venv .venv
@@ -125,7 +125,7 @@ jobs:
125
125
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
126
126
  manylinux: auto
127
127
  - name: Upload wheels
128
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
128
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
129
129
  with:
130
130
  name: wheels-linux-${{ matrix.platform.target }}
131
131
  path: dist
@@ -158,7 +158,7 @@ jobs:
158
158
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
159
159
  manylinux: musllinux_1_2
160
160
  - name: Upload wheels
161
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
161
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
162
162
  with:
163
163
  name: wheels-musllinux-${{ matrix.platform.target }}
164
164
  path: dist
@@ -187,7 +187,7 @@ jobs:
187
187
  args: --release --out dist --find-interpreter
188
188
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
189
189
  - name: Upload wheels
190
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
190
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
191
191
  with:
192
192
  name: wheels-windows-${{ matrix.platform.target }}
193
193
  path: dist
@@ -215,7 +215,7 @@ jobs:
215
215
  args: --release --out dist --find-interpreter
216
216
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
217
217
  - name: Upload wheels
218
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
218
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
219
219
  with:
220
220
  name: wheels-macos-${{ matrix.platform.target }}
221
221
  path: dist
@@ -231,7 +231,7 @@ jobs:
231
231
  command: sdist
232
232
  args: --out dist
233
233
  - name: Upload sdist
234
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
234
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
235
235
  with:
236
236
  name: wheels-sdist
237
237
  path: dist
@@ -252,14 +252,14 @@ jobs:
252
252
  # Generate artifact attestation.
253
253
  attestations: write
254
254
  steps:
255
- - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
255
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
256
256
  - name: Generate artifact attestation
257
257
  uses: actions/attest@1e69f48acb82d1966a394da916b4c1698aa569d6 # v4.2.2
258
258
  with:
259
259
  subject-path: "wheels-*/*"
260
260
  - name: Install uv
261
261
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
262
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
262
+ uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
263
263
  - name: Publish to PyPI
264
264
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
265
265
  run: uv publish --trusted-publishing always 'wheels-*/*'
@@ -14,7 +14,7 @@ dependencies = [
14
14
 
15
15
  [[package]]
16
16
  name = "dockerfile-analyzer"
17
- version = "0.4.1"
17
+ version = "0.4.3"
18
18
  dependencies = [
19
19
  "docker-image",
20
20
  "parse-dockerfile",
@@ -72,9 +72,9 @@ dependencies = [
72
72
 
73
73
  [[package]]
74
74
  name = "pyo3"
75
- version = "0.29.3"
75
+ version = "0.30.1"
76
76
  source = "registry+https://github.com/rust-lang/crates.io-index"
77
- checksum = "700d18fa267b73b9b521fd7e13580e2f446916f176cacee1ab63fcc8191f1655"
77
+ checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
78
78
  dependencies = [
79
79
  "libc",
80
80
  "once_cell",
@@ -86,18 +86,18 @@ dependencies = [
86
86
 
87
87
  [[package]]
88
88
  name = "pyo3-build-config"
89
- version = "0.29.3"
89
+ version = "0.30.1"
90
90
  source = "registry+https://github.com/rust-lang/crates.io-index"
91
- checksum = "7b3fc0c4d08f6bb10e71fe39dfb9e2f59c6eb6854e22ec8092f50c69a4499adb"
91
+ checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
92
92
  dependencies = [
93
93
  "target-lexicon",
94
94
  ]
95
95
 
96
96
  [[package]]
97
97
  name = "pyo3-ffi"
98
- version = "0.29.3"
98
+ version = "0.30.1"
99
99
  source = "registry+https://github.com/rust-lang/crates.io-index"
100
- checksum = "dfc0b8e19df29aad7086cf977bb0c2a2f143e30567eb113e9cf72b62ca698330"
100
+ checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
101
101
  dependencies = [
102
102
  "libc",
103
103
  "pyo3-build-config",
@@ -105,9 +105,9 @@ dependencies = [
105
105
 
106
106
  [[package]]
107
107
  name = "pyo3-macros"
108
- version = "0.29.3"
108
+ version = "0.30.1"
109
109
  source = "registry+https://github.com/rust-lang/crates.io-index"
110
- checksum = "6100e8a4b5eba53afaa5ed078364851a0b2499c553a44c31026b929049b49dc6"
110
+ checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
111
111
  dependencies = [
112
112
  "proc-macro2",
113
113
  "pyo3-macros-backend",
@@ -117,9 +117,9 @@ dependencies = [
117
117
 
118
118
  [[package]]
119
119
  name = "pyo3-macros-backend"
120
- version = "0.29.3"
120
+ version = "0.30.1"
121
121
  source = "registry+https://github.com/rust-lang/crates.io-index"
122
- checksum = "6143877a16e82b5a727b7127ff4cd86858a24a28d745d72f43e6f227c7b1bdb3"
122
+ checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
123
123
  dependencies = [
124
124
  "heck",
125
125
  "proc-macro2",
@@ -175,9 +175,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
175
175
 
176
176
  [[package]]
177
177
  name = "syn"
178
- version = "2.0.105"
178
+ version = "3.0.9"
179
179
  source = "registry+https://github.com/rust-lang/crates.io-index"
180
- checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619"
180
+ checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
181
181
  dependencies = [
182
182
  "proc-macro2",
183
183
  "quote",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "dockerfile-analyzer"
3
- version = "0.4.1"
3
+ version = "0.4.3"
4
4
  edition = "2024"
5
5
  readme = "README.md"
6
6
 
@@ -10,7 +10,7 @@ name = "dockerfile_analyzer"
10
10
  crate-type = ["cdylib"]
11
11
 
12
12
  [dependencies]
13
- pyo3 = "0.29.0"
13
+ pyo3 = "0.30.1"
14
14
  docker-image = {version = "0.2.1"}
15
15
  parse-dockerfile = { version = "0.1.7", default-features = false }
16
16
  shlex = "2.0.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dockerfile-analyzer
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  License-File: LICENSE
@@ -18,7 +18,7 @@ fn fmt_opt_map(map: &BTreeMap<String, Option<String>>) -> String {
18
18
  format!("{{{body}}}")
19
19
  }
20
20
 
21
- #[pyclass(skip_from_py_object)]
21
+ #[pyclass]
22
22
  #[doc = "Instructions and their counts.
23
23
 
24
24
  Counts are keyed by the Dockerfile instruction name (`FROM`, `RUN`, ...).
@@ -50,7 +50,7 @@ impl InstructionStats {
50
50
  }
51
51
  }
52
52
 
53
- #[pyclass(skip_from_py_object)]
53
+ #[pyclass]
54
54
  #[doc = "Parsed components of a Docker image reference.
55
55
 
56
56
  Attributes:
@@ -93,7 +93,7 @@ impl ImageComponents {
93
93
  }
94
94
  }
95
95
 
96
- #[pyclass(skip_from_py_object)]
96
+ #[pyclass]
97
97
  #[doc = "Information about a Docker image used in a Dockerfile.
98
98
 
99
99
  Attributes:
@@ -131,7 +131,7 @@ impl Image {
131
131
  }
132
132
  }
133
133
 
134
- #[pyclass(skip_from_py_object)]
134
+ #[pyclass]
135
135
  #[doc = "How named stages are referenced by later instructions.
136
136
 
137
137
  `is_multistage` is true when the Dockerfile has at least two stages and a
@@ -181,7 +181,7 @@ impl MultistageAnalysis {
181
181
  }
182
182
  }
183
183
 
184
- #[pyclass(skip_from_py_object)]
184
+ #[pyclass]
185
185
  #[doc = "One build stage, from its `FROM` line to the next `FROM`.
186
186
 
187
187
  Values are the stage's own, as written in that stage. Nothing is inherited
@@ -273,7 +273,7 @@ impl Stage {
273
273
  }
274
274
  }
275
275
 
276
- #[pyclass(skip_from_py_object)]
276
+ #[pyclass]
277
277
  #[doc = "Analysis of one Dockerfile.
278
278
 
279
279
  Image references that do not contain `$` are lowercased, so `Ubuntu:22.04`