| Age | Commit message (Collapse) | Author |
|
- 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
|
|
- 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
|
|
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).
|
|
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.
|
|
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.
|
|
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
|
|
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>
|
|
vyos-contrib/feat/architecture-and-quality-improvements
feat: v0.4.0 - Architecture refactor, bug fixes, and quality improvem…
|
|
- 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
|
|
Release/0.3.0
|
|
|
|
|
|
|
|
version and dependencies
|
|
|
|
Updating version release 0.3.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
requests
|
|
|
|
device
|
|
|
|
|
|
|
|
validation. Code correction and improvement.
|
|
adjustments and improvements.
|
|
|
|
release/0.3.0
|
|
atualizacao .env.example
|
|
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
|
|
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>
|
|
|
|
removed unnecessary changes
|
|
updated exceptions
|
|
updated _api_request
|
|
added link to pypy https://pypi.org/project/pyvyos/
|
|
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
|
|
Bump urllib3 from 2.2.1 to 2.2.2
|
|
Bump idna from 3.6 to 3.7
|
|
Bump certifi from 2024.2.2 to 2024.7.4
|
|
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>
|
|
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>
|
|
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>
|
|
added dev/ to ignore
changed whitespaces only in example.py
|
|
|
|
|