<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pyvyos.git/tests, branch dependabot/github_actions/astral-sh/setup-uv-8.2.0</title>
<subtitle>Python SDK for interacting with VyOS API (mirror of https://github.com/vyos-contrib/pyvyos.git)
</subtitle>
<id>https://git.amelek.net/vyos-contrib/pyvyos.git/atom?h=dependabot%2Fgithub_actions%2Fastral-sh%2Fsetup-uv-8.2.0</id>
<link rel='self' href='https://git.amelek.net/vyos-contrib/pyvyos.git/atom?h=dependabot%2Fgithub_actions%2Fastral-sh%2Fsetup-uv-8.2.0'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/'/>
<updated>2026-05-19T07:01:10+00:00</updated>
<entry>
<title>docs: cross-reference packer-vyos as related project</title>
<updated>2026-05-19T07:01:10+00:00</updated>
<author>
<name>Roberto Bertó</name>
<email>463349+robertoberto@users.noreply.github.com</email>
</author>
<published>2026-05-19T07:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=6786e67c809450926ef4f5a4c54afdb4c11e73a5'/>
<id>urn:sha1:6786e67c809450926ef4f5a4c54afdb4c11e73a5</id>
<content type='text'>
Add a "Related projects" section in the main README pointing to
vyos-contrib/packer-vyos, the Packer-based image builder that
produces ready-to-deploy VyOS images. The two projects are
complementary: packer-vyos builds the appliance, pyvyos drives it.

Also mention packer-vyos in tests/pve/README.md as an alternative
to the interactive install in phase 1 of the e2e harness — without
making the harness depend on it.

This commit is documentation only. It does not change pyvyos
behaviour, payloads, or public API.
</content>
</entry>
<entry>
<title>tests: add live VyOS e2e harness on Proxmox</title>
<updated>2026-05-19T06:05:43+00:00</updated>
<author>
<name>Roberto Bertó</name>
<email>463349+robertoberto@users.noreply.github.com</email>
</author>
<published>2026-05-19T06:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=bfcaffe9c55b687038eab337a718ea0a43f5e668'/>
<id>urn:sha1:bfcaffe9c55b687038eab337a718ea0a43f5e668</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>refactor: remove unused specs, exceptions, and request_id</title>
<updated>2026-05-19T02:32:04+00:00</updated>
<author>
<name>Roberto Bertó</name>
<email>463349+robertoberto@users.noreply.github.com</email>
</author>
<published>2026-05-19T02:32:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=0f76bcc7179976e893b1d9f296b1b1e7988b0031'/>
<id>urn:sha1:0f76bcc7179976e893b1d9f296b1b1e7988b0031</id>
<content type='text'>
The pyvyos.specs Pydantic models were never imported by the runtime and
had 0% test coverage. The pyvyos.exceptions hierarchy was defined but
never raised anywhere. The request_id helper generated UUIDs that were
attached to log records but never propagated to callers — half-implemented
tracing is worse than none.

This commit does not alter request/response logic or HTTP payloads. It
only removes code that was never executed and tests for that code.

Removed:
- pyvyos/specs/ (Pydantic models package)
- pyvyos/exceptions.py (SDKError, HttpError, ApiError, ValidationError)
- pyvyos/utils/ids.py (request_id helper)
- tests/test_exceptions.py
- tests/utils/test_ids.py

Edited:
- pyvyos/core/rest_client.py: drop request_id import and log extras
- pyvyos/utils/__init__.py: drop request_id export

Tests: 66 -&gt; 57 passing. Coverage: 54% -&gt; 87%.
Public API unchanged.
</content>
</entry>
<entry>
<title>feat: v0.4.0 - Architecture refactor, bug fixes, and quality improvements</title>
<updated>2025-11-02T22:54:44+00:00</updated>
<author>
<name>roberto berto</name>
<email>rberto@deepcausa.com</email>
</author>
<published>2025-11-02T22:54:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=6b4e9015744ab8c9f17a6b8e23387cd676b1d827'/>
<id>urn:sha1:6b4e9015744ab8c9f17a6b8e23387cd676b1d827</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>Fix/979201165- Including default valu for environment variables in unit tests</title>
<updated>2025-09-16T16:55:02+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-09-16T16:55:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=a31d1f21d33ce348f89bc5b0bc05835529425480'/>
<id>urn:sha1:a31d1f21d33ce348f89bc5b0bc05835529425480</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature - Increased test coverage in case of error in responses</title>
<updated>2025-09-02T18:52:59+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-09-02T18:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=8b22a629816885313e929346f0c7a382b6ba6823'/>
<id>urn:sha1:8b22a629816885313e929346f0c7a382b6ba6823</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature/9930599848 - Configuration and implementation of unit tests for the device</title>
<updated>2025-09-01T22:19:13+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-09-01T22:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=c2b12490527ef60db79250d9d7524a3b970713e1'/>
<id>urn:sha1:c2b12490527ef60db79250d9d7524a3b970713e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature - Separation of API communication logic into a separate class. Code adjustments and improvements.</title>
<updated>2025-08-28T21:01:24+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-08-28T21:01:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=7b147d6964e6390a93b069c6cc2a06bdc2c7651f'/>
<id>urn:sha1:7b147d6964e6390a93b069c6cc2a06bdc2c7651f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version 0.2.0 with all api and tests</title>
<updated>2023-12-13T15:50:45+00:00</updated>
<author>
<name>Roberto Berto</name>
<email>roberto.berto@gmail.com</email>
</author>
<published>2023-12-13T15:50:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=4148924483f14e5ecde296df09e0c2a2fef20787'/>
<id>urn:sha1:4148924483f14e5ecde296df09e0c2a2fef20787</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feature:</title>
<updated>2023-12-13T04:41:24+00:00</updated>
<author>
<name>Roberto Berto</name>
<email>roberto.berto@gmail.com</email>
</author>
<published>2023-12-13T04:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=1cd622e219ceed9ba669bb373a4e4407a9542215'/>
<id>urn:sha1:1cd622e219ceed9ba669bb373a4e4407a9542215</id>
<content type='text'>
- configure_set
- configure_delete
- config_file_save
- config_file_load
</content>
</entry>
</feed>
