Skip to content

Add market offer scanning and GPU discovery example - #160

Draft
prekucki wants to merge 1 commit into
mainfrom
feat/market-scan
Draft

prekucki wants to merge 1 commit into
mainfrom
feat/market-scan

Conversation

@prekucki

Copy link
Copy Markdown
Member

Adds GolemNode.scan() to discover market offers with optional constraints, batched polling, a quick-scan mode that stops after an empty batch, and best-effort subscription cleanup. Adds the Pydantic ScanOfferEvent model and a GPU discovery example.

Also guards payload field-type deserialization, raises the minimum Python version to 3.10, adds Pydantic and the development dependency tabulate, and updates license-check exceptions.

Validation:

  • Unit tests: 223 passed, with two warnings.
  • Black, mypy, and git diff --check: passed. Automatic mypy stub installation was disabled.
  • Checks used Python 3.10.20 with the project's existing installed dependencies because the Poetry environment points to a missing interpreter.
  • Live Yagna scanning and integration tests were not run.

Draft: flake8 reports an unused json import in examples/find-gpu-nodes.py, and isort reports import formatting in the same file. The CI matrix also still includes Python 3.8 and 3.9, which conflict with the new Python requirement.

Introduce a `scan` method in `GolemNode` to query market offers based on constraints,

- Added a sample script (`examples/find-gpu-nodes.py`) for scanning and displaying
- python >= 3.10
- pydantic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant