qualys-cli 0.1.3__tar.gz → 0.1.5__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.
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/CHANGELOG.md +39 -5
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/LICENSE +1 -1
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/PKG-INFO +11 -4
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/README.md +6 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/pyproject.toml +24 -3
- qualys_cli-0.1.5/src/qualys_cli/__init__.py +1 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/_docs/usage.html +4 -4
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/ca.py +58 -20
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/pc.py +75 -11
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/pm.py +66 -6
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/vm.py +18 -5
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/was.py +13 -3
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_ca.py +48 -13
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_pc.py +61 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_pm.py +32 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_vm.py +23 -0
- qualys_cli-0.1.5/tests/test_was.py +52 -0
- qualys_cli-0.1.3/src/qualys_cli/__init__.py +0 -1
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/.gitignore +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/__main__.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/audit.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/auth.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/cache.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/cli.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/client.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/__init__.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/asset.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/cs.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/csam.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/etm.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/scanauth.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/sub.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/tc.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/commands/user.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/config.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/extras.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/flair.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/formatters.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/history.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/http_server.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/mcp_server.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/metrics.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/platforms.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/src/qualys_cli/queries.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/__init__.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/conftest.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_agent_mode.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_all_commands_smoke.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_asset.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_audit.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_client.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_csam.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_error_handling.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_etm.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_features.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_flair.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_formatters.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_global_flags.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_help.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_high_fixes.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_main.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_med_fixes.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_resiliency.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_scanauth.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_security_fixes.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_sub.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_tc.py +0 -0
- {qualys_cli-0.1.3 → qualys_cli-0.1.5}/tests/test_user.py +0 -0
|
@@ -6,12 +6,29 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
-
## [0.1.
|
|
9
|
+
## [0.1.5] — 2026-07-08
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Package metadata: author is now `Qualys <support@qualys.com>`, with Balaji
|
|
13
|
+
Venkatesan and Andrew Nelson listed as maintainers.
|
|
14
|
+
- Expanded and clarified PyPI keywords to match the modules the CLI ships
|
|
15
|
+
(policy compliance, cloud/container security, WAS, EASM, asset inventory).
|
|
16
|
+
Dropped the ambiguous `vm` keyword, which reads as "virtual machine" on PyPI.
|
|
17
|
+
- The Qualys logo now heads the PyPI project description / README.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- `qualys_cli.__version__` was pinned at `0.1.0` and had drifted three releases
|
|
21
|
+
behind the real package version. It is now kept in step with the release.
|
|
22
|
+
(User-facing `--version` output was unaffected: it reads installed package
|
|
23
|
+
metadata via `importlib.metadata`, not this constant.)
|
|
24
|
+
|
|
25
|
+
## [0.1.4] — 2026-07-08
|
|
10
26
|
|
|
11
27
|
### Added
|
|
12
|
-
- `ca agent list`
|
|
13
|
-
|
|
14
|
-
|
|
28
|
+
- `ca agent list` now accepts `--status Active|Inactive`. Agent status is not a
|
|
29
|
+
searchable Qualys field (the API rejects it), so the filter is applied
|
|
30
|
+
client-side to the returned rows against `agentInfo.status`
|
|
31
|
+
(`STATUS_ACTIVE`/`STATUS_INACTIVE`).
|
|
15
32
|
- `qualys-cli docs` command — locates or opens the bundled HTML command
|
|
16
33
|
reference that ships inside the package (`--open`/`--no-open`/`--stdout`).
|
|
17
34
|
The sub-app existed but was never registered on the CLI.
|
|
@@ -26,6 +43,21 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
26
43
|
to create a user.
|
|
27
44
|
- `pm job create` and `pm job update` now send the API-required `type` field;
|
|
28
45
|
`pm job change-status` posts job IDs under `ids` (was the wrong key `jobIds`).
|
|
46
|
+
- Audited every list/search filter option for field tokens the API rejects as
|
|
47
|
+
"invalid criteria" (the class behind the `ca agent list --status` 400) and
|
|
48
|
+
fixed the offenders:
|
|
49
|
+
- `was catalog list` sent an invalid `name` Criteria (400). Replaced with the
|
|
50
|
+
documented catalog fields `--fqdn`, `--ip`, and `--status`.
|
|
51
|
+
- `vm report list --type` and `pc policy list --title` sent input params the
|
|
52
|
+
API doesn't accept (silently ignored). Both are now applied client-side to
|
|
53
|
+
the response (`TYPE` / `TITLE`).
|
|
54
|
+
- `pm patch list --severity` sent an invalid `severityList` param; it now
|
|
55
|
+
filters returned rows on `vendorSeverity` client-side.
|
|
56
|
+
- `pc posture list` sent singular `host_id`/`control_id`; the API expects the
|
|
57
|
+
plural `host_ids`/`control_ids`. Its `--status` is normalised to the API's
|
|
58
|
+
`Passed|Failed|Error` values.
|
|
59
|
+
- All `--status`/`--severity`-style values are validated up front (fast
|
|
60
|
+
`BadParameter` before any network call).
|
|
29
61
|
- Corrected the README instructions for locating the bundled usage reference
|
|
30
62
|
(the old `sys.prefix/share/...` path was never where the file shipped).
|
|
31
63
|
|
|
@@ -131,7 +163,9 @@ Initial public release.
|
|
|
131
163
|
- Ruff lint clean (E, F, I, UP, B, C4, SIM rule sets).
|
|
132
164
|
- Codegen pipeline (`scripts/`) is opt-in via the `codegen` extra.
|
|
133
165
|
|
|
134
|
-
[Unreleased]: https://github.com/qualys/qualys-cli/compare/v0.1.
|
|
166
|
+
[Unreleased]: https://github.com/qualys/qualys-cli/compare/v0.1.5...HEAD
|
|
167
|
+
[0.1.5]: https://github.com/qualys/qualys-cli/compare/v0.1.4...v0.1.5
|
|
168
|
+
[0.1.4]: https://github.com/qualys/qualys-cli/compare/v0.1.2...v0.1.4
|
|
135
169
|
[0.1.2]: https://github.com/qualys/qualys-cli/compare/v0.1.1...v0.1.2
|
|
136
170
|
[0.1.1]: https://github.com/qualys/qualys-cli/compare/v0.1.0...v0.1.1
|
|
137
171
|
[0.1.0]: https://github.com/qualys/qualys-cli/releases/tag/v0.1.0
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qualys-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Unified command-line interface for the Qualys Cloud Platform REST APIs (VM, PC, PM, ETM, WAS, TotalCloud, Cloud Agent, Container Security, CSAM, Subscription, Asset, and User management).
|
|
5
5
|
Project-URL: Homepage, https://www.qualys.com
|
|
6
|
-
Author: qualys
|
|
6
|
+
Author-email: Qualys <support@qualys.com>
|
|
7
|
+
Maintainer-email: Balaji Venkatesan <bvenkatesan@qualys.com>, Andrew Nelson <anelson@qualys.com>
|
|
7
8
|
License: MIT License
|
|
8
9
|
|
|
9
|
-
Copyright (c) 2026
|
|
10
|
+
Copyright (c) 2026 Qualys Inc
|
|
10
11
|
|
|
11
12
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
13
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -26,7 +27,7 @@ License: MIT License
|
|
|
26
27
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
28
|
SOFTWARE.
|
|
28
29
|
License-File: LICENSE
|
|
29
|
-
Keywords: cli,cspm,patch-management,qualys,security,
|
|
30
|
+
Keywords: asset-inventory,attack-surface-management,cli,cloud-security,container-security,cspm,devsecops,infosec,patch-management,policy-compliance,qualys,qualys-api,qualys-cloud-platform,security,vulnerability-management,web-application-scanning
|
|
30
31
|
Classifier: Development Status :: 4 - Beta
|
|
31
32
|
Classifier: Environment :: Console
|
|
32
33
|
Classifier: Intended Audience :: Information Technology
|
|
@@ -62,6 +63,12 @@ Requires-Dist: selectolax>=0.3; extra == 'codegen'
|
|
|
62
63
|
Requires-Dist: trafilatura>=1.9; extra == 'codegen'
|
|
63
64
|
Description-Content-Type: text/markdown
|
|
64
65
|
|
|
66
|
+
<p align="center">
|
|
67
|
+
<a href="https://www.qualys.com/">
|
|
68
|
+
<img src="https://ik.imagekit.io/qualys/image/logo/qualys-vertical-sans-tagline-social.png?tr=w-360" width="360" alt="Qualys" />
|
|
69
|
+
</a>
|
|
70
|
+
</p>
|
|
71
|
+
|
|
65
72
|
# qualys-cli
|
|
66
73
|
|
|
67
74
|
[](https://pypi.org/project/qualys-cli/)
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://www.qualys.com/">
|
|
3
|
+
<img src="https://ik.imagekit.io/qualys/image/logo/qualys-vertical-sans-tagline-social.png?tr=w-360" width="360" alt="Qualys" />
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# qualys-cli
|
|
2
8
|
|
|
3
9
|
[](https://pypi.org/project/qualys-cli/)
|
|
@@ -4,14 +4,35 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "qualys-cli"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.5"
|
|
8
8
|
description = "Unified command-line interface for the Qualys Cloud Platform REST APIs (VM, PC, PM, ETM, WAS, TotalCloud, Cloud Agent, Container Security, CSAM, Subscription, Asset, and User management)."
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = { file = "LICENSE" }
|
|
11
11
|
requires-python = ">=3.11"
|
|
12
|
-
keywords = [
|
|
12
|
+
keywords = [
|
|
13
|
+
"qualys",
|
|
14
|
+
"qualys-api",
|
|
15
|
+
"qualys-cloud-platform",
|
|
16
|
+
"cli",
|
|
17
|
+
"security",
|
|
18
|
+
"infosec",
|
|
19
|
+
"devsecops",
|
|
20
|
+
"vulnerability-management",
|
|
21
|
+
"patch-management",
|
|
22
|
+
"policy-compliance",
|
|
23
|
+
"cspm",
|
|
24
|
+
"cloud-security",
|
|
25
|
+
"container-security",
|
|
26
|
+
"web-application-scanning",
|
|
27
|
+
"attack-surface-management",
|
|
28
|
+
"asset-inventory",
|
|
29
|
+
]
|
|
13
30
|
authors = [
|
|
14
|
-
{ name = "
|
|
31
|
+
{ name = "Qualys", email = "support@qualys.com" },
|
|
32
|
+
]
|
|
33
|
+
maintainers = [
|
|
34
|
+
{ name = "Balaji Venkatesan", email = "bvenkatesan@qualys.com" },
|
|
35
|
+
{ name = "Andrew Nelson", email = "anelson@qualys.com" },
|
|
15
36
|
]
|
|
16
37
|
classifiers = [
|
|
17
38
|
"Development Status :: 4 - Beta",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.5"
|