summaryrefslogtreecommitdiff
path: root/pyvyos
AgeCommit message (Collapse)Author
2026-05-19chore: clean packaging and development toolingRoberto Bertó
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.
2026-05-19refactor: remove unused specs, exceptions, and request_idRoberto Bertó
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 -> 57 passing. Coverage: 54% -> 87%. Public API unchanged.
2025-11-02feat: v0.4.0 - Architecture refactor, bug fixes, and quality improvementsfeat/architecture-and-quality-improvementsroberto berto
- 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
2025-09-16Fix - removing printseduardormorais
2025-09-02Feature - Increased test coverage in case of error in responseseduardormorais
2025-09-01Feature/9930599848 - Configuration and implementation of unit tests for the ↵eduardormorais
device
2025-08-29Fix - Updating docs rest clienteduardormorais
2025-08-29Feature/9910428810 - Updating version.eduardormorais
2025-08-29Feature/9910428810 - Including abstract base class into RestClient.eduardormorais
2025-08-29Feature/9910428810 - Implement hierarchical error handling and response ↵eduardormorais
validation. Code correction and improvement.
2025-08-28Feature - Separation of API communication logic into a separate class. Code ↵eduardormorais
adjustments and improvements.
2025-08-27Merge remote-tracking branch 'anusajith/update_get_payload' into release/0.3.0eduardormorais
2024-10-25simplified boolean expressionroukell
2024-10-25Update device.pyMelody Lo
removed unnecessary changes
2024-10-25Update device.pyMelody Lo
updated exceptions
2024-10-25Update device.pyMelody Lo
updated _api_request
2024-05-20Update device.pyanusajith
2024-05-20Update device.pyanusajith
adding support for multiple operation in a single commit
2024-03-10vagrant infra to test and developmentRoberto Berto
2024-03-10Merge branch 'main' of github.com-robertoberto:robertoberto/pyvyosRoberto Berto
2024-03-10improved configure_set to multiple pathsRoberto Berto
2024-03-01update elifxTITUSMAXIMUSX
2024-03-01Fix issue with functions without pathsxTITUSMAXIMUSX
2024-03-01removed unnecessary if statmentxTITUSMAXIMUSX
2024-03-01Added back file and namexTITUSMAXIMUSX
2024-03-01Updated _get_payload for multi command supprotxTITUSMAXIMUSX
2023-12-13read the docsRoberto Berto
2023-12-13version 0.2.0 with all api and testsRoberto Berto