summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-05-19docs: correct README and example to match actual APIRoberto Bertó
- configure_multiple_op uses op_path=, not path= - ApiResponse.result is dict | list | str | None (varies per endpoint), not just dict | list - VYDEVICE_VERIFY_SSL parsing accepts 1/true/yes - describe logging accurately: log records only carry structural fields (no payload, no key); sanitization applies to ApiResponse.request, not to logs; do not claim a NullHandler is attached (none is) - shims at 1.0.0: phrase as a decision deferred to release time
2026-05-19chore: trim root, move examples, drop committed uv.lockRoberto Bertó
- delete CONTRIB.md (superseded by CONTRIBUTING.md) - delete requirements.txt (duplicated [project].dependencies) - delete test_quick.py (ad-hoc smoke covered by tests/test_shims.py) - rewrite example.py as examples/basic.py using the public API (from pyvyos import VyDevice) and drop the RuntimeWarning suppression - move vagrant/ to examples/vagrant/ - stop tracking uv.lock and add it to .gitignore (library, not app) - README: link the examples/ directory - CHANGELOG: document the moves and removals
2026-05-19docs: prepare v0.4.0 releaseRoberto Bertó
Rewrite the README around the supported public API, add a public API stability policy, document the deprecation timeline, and refresh the CHANGELOG with the full 0.4.0 scope. Add a short CONTRIBUTING guide. Apply minor pending fixes to LICENSE and .env.example. Fix a couple of verify=False antipatterns in the docs/ pages. README: - Badges (PyPI version, Python versions, license, CI). - Quick start that actually runs (no missing import, no global disable_warnings, correct VYDEVICE_VERIFY_SSL parse). - Environment variable table with defaults. - ApiResponse contract documented as a dataclass. - Compact API overview (configure / retrieve / show / generate / reset / config-file / system / image). - Public API stability section with the 0.4 -> 0.5 -> 0.6 -> 1.0 deprecation timeline. - Logging section: NullHandler default, pyvyos logger, redacted key. - VyOS compatibility note (1.4 LTS, 1.5 rolling). - Development with uv; optional pre-commit. CHANGELOG: - Consolidated 0.4.0 entry covering both the architecture refactor and this cleanup, since 0.4.0 was tagged in git but never published. - Explicit Added / Changed / Removed / Fixed / Compatibility / Notes sections. - 0.3.0 entry annotated as 'tagged but never released to PyPI'. CONTRIBUTING.md: - Scope statement (thin HTTPS API wrapper). - Pull request rules; explicit 'do not change HTTP payload in passing'. - Development setup with uv. - Public API stability summary. Fixes from the previous review-fixes branch: - LICENSE copyright now reads 'GravScale, Roberto Berto'. - .env.example default flipped to VYDEVICE_VERIFY_SSL=true with field descriptions. - docs/getting-started.md: VERIFY_SSL default to true; urllib3 disable_warnings now passes the specific InsecureRequestWarning. - docs/index.md: quick example uses verify=True; removed RTD link (RTD config was removed in this release because the build never worked).
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-02Merge pull request #26 from ↵Roberto Bertó
vyos-contrib/dependabot/pip/pytest-env-gte-0.6.2-and-lt-1.3 Update pytest-env requirement from <0.7,>=0.6.2 to >=0.6.2,<1.3
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-02Merge pull request #27 from ↵Roberto Bertó
vyos-contrib/feat/architecture-and-quality-improvements feat: v0.4.0 - Architecture refactor, bug fixes, and quality improvem…
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-19Merge pull request #22 from eduardormorais/release/0.3.0v0.3.0Roberto Bertó
Release/0.3.0
2025-09-18Fix - Code fixeduardormorais
2025-09-18Fix - Code fixeduardormorais
2025-09-18Fix - Code fixeduardormorais
2025-09-18Feature - Changing the dependency management tool to uv. Updating the Python ↵eduardormorais
version and dependencies
2025-09-18Fix - Updating dependencieseduardormorais
2025-09-18Merge pull request #18 from eduardormorais/release/0.3.0Roberto Bertó
Updating version release 0.3.0
2025-09-16Fix - removing printseduardormorais
2025-09-16Fix/979201165- Including default valu for environment variables in unit testseduardormorais
2025-09-16Feature/9792011653 - Fix pull request workflow testseduardormorais
2025-09-16Feature/9792011653 - Fix pull request workflow testseduardormorais
2025-09-16Feature/9792011653 - Fix pull request workflow testseduardormorais
2025-09-16Feature/9792011653 - Fix pull request workflow testseduardormorais
2025-09-16Feature/9792011653 - Inclusion of workflow for executing unit tests in pull ↵eduardormorais
requests
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
2025-08-27Merge remote-tracking branch 'roukell/update_api_request_error_msg' into ↵eduardormorais
release/0.3.0
2025-08-27Fix/9910428810 - Atualizando Vagrantfile, remoção de dependencia dotenv, ↵Eduardo Morais
atualizacao .env.example
2025-03-19Merge pull request #14 from ↵Roberto Bertó
vyos-contrib/dependabot/pip/poetry-gte-1.1.0-and-lt-3.0 Update poetry requirement from <2.0,>=1.1.0 to >=1.1.0,<3.0
2025-01-06Update poetry requirement from <2.0,>=1.1.0 to >=1.1.0,<3.0dependabot/pip/poetry-gte-1.1.0-and-lt-3.0dependabot[bot]
Updates the requirements on [poetry](https://github.com/python-poetry/poetry) to permit the latest version. - [Release notes](https://github.com/python-poetry/poetry/releases) - [Changelog](https://github.com/python-poetry/poetry/blob/main/CHANGELOG.md) - [Commits](https://github.com/python-poetry/poetry/compare/1.1.0...2.0.0) --- updated-dependencies: - dependency-name: poetry dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
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-08-27Update README.mdRoberto Bertó
added link to pypy https://pypi.org/project/pyvyos/
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-08-27Merge pull request #10 from vyos-contrib/dependabot/pip/urllib3-2.2.2Roberto Bertó
Bump urllib3 from 2.2.1 to 2.2.2
2024-08-27Merge pull request #11 from vyos-contrib/dependabot/pip/idna-3.7Roberto Bertó
Bump idna from 3.6 to 3.7
2024-08-27Merge pull request #12 from vyos-contrib/dependabot/pip/certifi-2024.7.4Roberto Bertó
Bump certifi from 2024.2.2 to 2024.7.4
2024-08-27Bump certifi from 2024.2.2 to 2024.7.4dependabot[bot]
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.2.2 to 2024.7.4. - [Commits](https://github.com/certifi/python-certifi/compare/2024.02.02...2024.07.04) --- updated-dependencies: - dependency-name: certifi dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27Bump idna from 3.6 to 3.7dependabot[bot]
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7. - [Release notes](https://github.com/kjd/idna/releases) - [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst) - [Commits](https://github.com/kjd/idna/compare/v3.6...v3.7) --- updated-dependencies: - dependency-name: idna dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27Bump urllib3 from 2.2.1 to 2.2.2dependabot[bot]
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.1 to 2.2.2. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2) --- updated-dependencies: - dependency-name: urllib3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27created MakefileRoberto Berto
added dev/ to ignore changed whitespaces only in example.py
2024-08-27added .env file on .gitignoreRoberto Berto
2024-08-27added dev files on .gitignoreRoberto Berto