summaryrefslogtreecommitdiff
path: root/pyproject.toml
AgeCommit message (Collapse)Author
2026-05-19Merge remote-tracking branch 'origin/main' into hotfix/0.4.1-runtime-depshotfix/0.4.1-runtime-depsRoberto Bertó
# Conflicts: # pyproject.toml
2026-05-19fix: pytest was declared as runtime dependencyRoberto Bertó
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.
2026-05-19Merge pull request #32 from ↵Roberto Bertó
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
2026-05-19Merge pull request #33 from ↵Roberto Bertó
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
2026-05-19Merge pull request #34 from ↵Roberto Bertó
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
2026-05-19Update hatchling requirement from >=1.20 to >=1.29.0dependabot[bot]
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>
2026-05-19Update pytest-cov requirement from <7.0,>=5.0 to >=7.1.0,<8.0dependabot[bot]
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>
2026-05-19Update python-dotenv requirement from <2.0,>=1.0.1 to >=1.2.2,<2.0dependabot[bot]
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>
2026-05-19Update requests requirement from <3.0,>=2.32.0 to >=2.34.2,<3.0dependabot[bot]
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>
2026-05-19tests: add live VyOS e2e harness on ProxmoxRoberto Bertó
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.
2026-05-19build: tighten runtime deps and lower Python floor to 3.11Roberto Bertó
- 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.
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.
2025-11-02Update pytest-env requirement from <0.7,>=0.6.2 to >=0.6.2,<1.3dependabot[bot]
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>
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-18Feature - Changing the dependency management tool to uv. Updating the Python ↵eduardormorais
version and dependencies
2025-09-18Fix - Updating dependencieseduardormorais
2025-09-01Feature/9930599848 - Configuration and implementation of unit tests for the ↵eduardormorais
device
2025-08-29Feature/9910428810 - Updating version.eduardormorais
2024-08-27makefile now works to maintainer build/upload do pypyv0.2.2Roberto Berto
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
2024-03-10vagrant infra to test and developmentRoberto Berto
2024-03-10fixed pip requirements versionsRoberto Berto
2023-12-13removed email publicRoberto Berto
2023-12-13version 0.2.0 with all api and testsRoberto Berto
2023-11-21fixed pyprojectRoberto Berto
2023-11-21rename vy_device to deviceRoberto Berto
2023-11-21Initial commit for retrieve_config featureRoberto Berto