| Age | Commit message (Collapse) | Author |
|
# Conflicts:
# pyproject.toml
|
|
pyproject.toml [project].dependencies declared pytest>=9.0.3, so
'pip install pyvyos==0.4.0' pulled pytest into every install. This
contradicted the 0.4.0 CHANGELOG which advertised runtime deps as
'requests>=2.32.0,<3.0 only'.
The line was introduced accidentally during the e2e harness work in
bfcaffe (almost certainly an 'uv add pytest' that landed in the wrong
table) and was not caught in review.
Removed; pytest remains in the 'dev' optional-dependency extra.
Bump to 0.4.1 to ship the correction to PyPI.
|
|
vyos-contrib/dependabot/pip/requests-gte-2.34.2-and-lt-3.0
Update requests requirement from <3.0,>=2.32.0 to >=2.34.2,<3.0
|
|
vyos-contrib/dependabot/pip/python-dotenv-gte-1.2.2-and-lt-2.0
Update python-dotenv requirement from <2.0,>=1.0.1 to >=1.2.2,<2.0
|
|
vyos-contrib/dependabot/pip/pytest-cov-gte-7.1.0-and-lt-8.0
Update pytest-cov requirement from <7.0,>=5.0 to >=7.1.0,<8.0
|
|
Updates the requirements on [hatchling](https://github.com/pypa/hatch) to permit the latest version.
- [Release notes](https://github.com/pypa/hatch/releases)
- [Commits](https://github.com/pypa/hatch/compare/hatchling-v1.20.0...hatchling-v1.29.0)
---
updated-dependencies:
- dependency-name: hatchling
dependency-version: 1.29.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Updates the requirements on [pytest-cov](https://github.com/pytest-dev/pytest-cov) to permit the latest version.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v5.0.0...v7.1.0)
---
updated-dependencies:
- dependency-name: pytest-cov
dependency-version: 7.1.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Updates the requirements on [python-dotenv](https://github.com/theskumar/python-dotenv) to permit the latest version.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.2)
---
updated-dependencies:
- dependency-name: python-dotenv
dependency-version: 1.2.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Updates the requirements on [requests](https://github.com/psf/requests) to permit the latest version.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.0...v2.34.2)
---
updated-dependencies:
- dependency-name: requests
dependency-version: 2.34.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Adds an opt-in end-to-end harness that runs pyvyos against a real
VyOS HTTPS API on a Proxmox VE host.
tests/pve/ shell-based VM lifecycle on a remote PVE host:
preflight, ensure-template (state-machine over the
VMID with manual-install phase 1 and cloud-init
phase 2), create/start/stop/destroy, run-e2e.
Cloud-init seed ISO is generated on the PVE host
itself; nothing local-side beyond ssh is required.
.env is gitignored; .env.example documents the
full set of variables.
tests/e2e/ pytest suite that exercises the public methods
most likely to regress on a payload change:
show, retrieve_show_config, configure_set /
retrieve_return_values / configure_delete round
trip, and configure_multiple_op batch. Auto-skipped
unless PYVYOS_E2E=1.
The cloud-init template now sets 'service https api rest' before
the API key. Without that flag VyOS only exposes /info; the other
HTTPS routes return 404. README and tests/pve/README document the
requirement, both for cloud-init and for the manual-fallback path.
Also fixes a pre-existing footgun in pyproject.toml: the pytest-env
defaults overwrote VYDEVICE_HOSTNAME from the shell, which made
the e2e tests silently aim at the stale 192.168.56.100 fixture
host. The entries now use the 'D:' (default) prefix so live runs
can override from the environment as expected.
Validated against VyOS rolling 2026.05.18-0045: 4 e2e + 57 unit
tests pass.
This commit does not change pyvyos HTTP payloads, request handling,
or response parsing.
|
|
- requires-python: >=3.13 -> >=3.11. The code does not use any
3.13-only feature. typing.List/Dict/Union/Optional throughout, no
PEP 695 generics, no Self, no match. Classifiers updated to advertise
3.11/3.12/3.13.
- runtime dependencies: trim to requests only.
- python-dotenv is only used by examples; move to the dev extra.
- urllib3 is never imported by pyvyos directly; it remains available
transitively through requests.
- pre-existing dev tooling (pytest, pytest-cov, pytest-env) untouched.
- CI: PR validation runs on a 3.11/3.12/3.13 matrix.
- README: reword the Python requirement.
- .python-version: 3.13.0 -> 3.13 (CI uses the matrix).
- Wheel build verified to include pyvyos/py.typed and to declare
Requires-Python: >=3.11 with requests as the only runtime requirement.
|
|
This commit modernizes the project's tooling and packaging without
changing the runtime code. It addresses dead workflows, obsolete
helper scripts, duplicated configuration, and stale developer docs.
Removed:
- .github/workflows/python-app.yml: targeted Python 3.12, referenced a
non-existent requirements.txt, ran only flake8 with pytest commented out
- Makefile: hard-coded env/bin/python paths that do not work with uv
- run_tests.sh and run_tests.py: duplicated each other and referenced
removed modules (test_exceptions, test_quick)
- sphinx/ and .readthedocs.yaml: the RTD config pointed to
docs/source/conf.py while the sphinx tree lived under sphinx/source,
so the build never worked and no docs were ever published
- docs/development/architecture.md, refactor-roadmap.md, and
quality-and-utils.md: described the pre-cleanup proposal that
included specs/exceptions/request_id, now contradicted by the code
Edited:
- pyproject.toml:
- dropped the validation extra (Pydantic) — specs/ is gone
- dropped the duplicated [tool.hatch.metadata].dependencies block
- dropped the duplicated [dependency-groups].dev block
- declared the wheel package explicitly via
[tool.hatch.build.targets.wheel].packages
- bumped pytest floor to >=8.0 (Python 3.13 compatible)
- added richer classifiers (Development Status, audience, topic,
Typing :: Typed), keywords, license file pointer, and a Changelog URL
- .github/workflows/python-pr-validation.yml: upgraded to
actions/checkout@v4 and setup-python@v5, switched to astral-sh/setup-uv,
removed obsolete architecture argument
- .github/dependabot.yml: added the github-actions ecosystem so
workflow versions stay current
Added:
- pyvyos/py.typed: PEP 561 marker advertising the package as typed
- .pre-commit-config.yaml: neutral hooks only (whitespace, EOF, YAML/TOML
syntax, large-file guard); no formatters or linters yet
Kept:
- docs/development/vyos_api/: JSON reference for the VyOS HTTPS API,
useful for future contract tests
Tests still pass: 57/57.
|
|
Updates the requirements on [pytest-env](https://github.com/pytest-dev/pytest-env) to permit the latest version.
- [Release notes](https://github.com/pytest-dev/pytest-env/releases)
- [Commits](https://github.com/pytest-dev/pytest-env/compare/0.6.2...1.2.0)
---
updated-dependencies:
- dependency-name: pytest-env
dependency-version: 1.2.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
- Fixed #25: config_file_save/load now include path: [] in payload
- Added exception hierarchy (SDKError, HttpError, ApiError, ValidationError)
- Added utility functions (json, ids, paths)
- Added structured logging with request ID tracking
- Added optional Pydantic validation models
- Refactored to pyvyos.core.* structure with backward compatibility shims
- Moved JSON specs to docs/development/vyos_api/
- Added comprehensive test suite (19 shim tests, 16 utils tests, 6 exception tests)
- Updated pyproject.toml for uv sync editable installation
- Added development documentation (architecture, roadmap, quality guidelines)
Maintains 100% backward compatibility with 0.3.0
|
|
version and dependencies
|
|
|
|
device
|
|
|
|
fixed vulnerabilities:
- Bump certifi from 2024.2.2 to 2024.7.4
- Bump idna from 3.6 to 3.7
- Bump urllib3 from 2.2.1 to 2.2.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|