<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pyvyos.git/pyvyos, branch docs/related-projects</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=docs%2Frelated-projects</id>
<link rel='self' href='https://git.amelek.net/vyos-contrib/pyvyos.git/atom?h=docs%2Frelated-projects'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/'/>
<updated>2026-05-19T02:35:08+00:00</updated>
<entry>
<title>chore: clean packaging and development tooling</title>
<updated>2026-05-19T02:35:08+00:00</updated>
<author>
<name>Roberto Bertó</name>
<email>463349+robertoberto@users.noreply.github.com</email>
</author>
<published>2026-05-19T02:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=ea8c349f6dce955696850198b8544d0203b467fb'/>
<id>urn:sha1:ea8c349f6dce955696850198b8544d0203b467fb</id>
<content type='text'>
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 &gt;=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.
</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 - removing prints</title>
<updated>2025-09-16T22:38:23+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-09-16T22:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=f25d28ab90a266c03fd966ddabc752088da080d6'/>
<id>urn:sha1:f25d28ab90a266c03fd966ddabc752088da080d6</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>Fix - Updating docs rest client</title>
<updated>2025-08-29T17:05:11+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-08-29T17:05:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=27a1362ff964d39c2f91f226d7453b65567df6bd'/>
<id>urn:sha1:27a1362ff964d39c2f91f226d7453b65567df6bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature/9910428810 - Updating version.</title>
<updated>2025-08-29T17:00:39+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-08-29T17:00:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=33cbb56d994a523c5a68f037aed0912fea08fa4d'/>
<id>urn:sha1:33cbb56d994a523c5a68f037aed0912fea08fa4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature/9910428810 - Including abstract base class into RestClient.</title>
<updated>2025-08-29T16:45:03+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-08-29T16:45:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=03478da3942213ce0593f461818c99373cbb1d21'/>
<id>urn:sha1:03478da3942213ce0593f461818c99373cbb1d21</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature/9910428810 - Implement hierarchical error handling and response validation. Code correction and improvement.</title>
<updated>2025-08-29T16:23:27+00:00</updated>
<author>
<name>eduardormorais</name>
<email>eduardoromorais@gmail.com</email>
</author>
<published>2025-08-29T16:23:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/pyvyos.git/commit/?id=e3a909180057dbc172255502fbd79868f4c0bb1b'/>
<id>urn:sha1:e3a909180057dbc172255502fbd79868f4c0bb1b</id>
<content type='text'>
</content>
</entry>
</feed>
