Skip to content

Releases: SmartForest-no/forestsens-python

v3.4.0: parallel uploads

Choose a tag to compare

@JohannesRahlf JohannesRahlf released this 27 Oct 11:34
91e2365

upload_files() sends files up to 16 MB four at a time (concurrency=, default 4, like the web app; concurrency=1 for the old one-after-another). Larger files follow in 16 MB chunks. A file that keeps failing stops the rest and raises; the dataset is not completed. Progress callbacks are never called twice at once.

Install: pip install git+https://github.com/SmartForest-no/forestsens-python.git@v3.4.0

v2.1.0

Choose a tag to compare

@JohannesRahlf JohannesRahlf released this 30 Sep 08:42
c09ec37

What's new since v2.0.0

  • Fixed list_pipelines(sens=...) -- was silently sending the wrong query param (sense) and returning every pipeline unfiltered instead of the requested sens (#3)
  • Simplified the Readme's setup flow (#4)
  • SDK UX pass: Pipeline/Batch friendly dict-subclass views, folder upload support in upload_files(), find_pipeline(name) lookup, one-call run() shortcut, wait_for_batch(..., on_progress=...) progress callback (#5)
  • New example scripts (drone folder, point cloud, progress/error handling), a docs/examples.md index, and an llms.txt reference for AI coding agents; corrected the API-key docs to reflect self-service key generation from the Account page (#6)

Minor version bump -- everything above is additive/backward-compatible except #3, which fixed a parameter that was silently a no-op.

🤖 Generated with Claude Code

v2.0.0

Choose a tag to compare

@JohannesRahlf JohannesRahlf released this 31 Aug 09:07
945ca9e

Real, breaking rewrite for the new OCI-hosted ForestSens API (previous releases targeted the
legacy Oracle APEX API -- apitoken header auth, numeric algorithm ids, real oci SDK
dependency for uploads). Nothing is compatible with earlier versions; this repo was never
actually published as a package before, so there's nothing real to pin against.

  • X-Api-Key auth via the dedicated /v1-key/{path*} Gateway route (mirrors the entire /v1/*
    surface -- any path that works with a bearer JWT under /v1/... works identically under
    /v1-key/... with an API key).
  • Real dataset upload: small files PUT directly to a pre-authenticated Object Storage URL;
    larger files (>=16 MiB) use the real resumable, backend-mediated multipart protocol
    (OCI PARs don't support real multipart at all).
  • create_batch/get_batch/wait_for_batch (polls to completion, raises BatchFailedError
    with the real failing step's error/log tail on failure) against the real pipeline/inputs shape.
  • download_artifacts -- streams each artifact's already-live download URL straight to disk.
  • ForestSensAPIError parses the real {data, meta, error} response envelope.

Verified live against the deployed Gateway with a real admin-issued API key (not just unit
tests): a real dataset upload end to end, both the app-level and Gateway-level error shapes, and
a real batch run through to a genuine (correctly-detected and correctly-reported) failure,
confirming the full create/poll/error-surfacing path against real production infrastructure.

Deliberately narrow scope, matching this repo's own Readme: upload a dataset, run a batch,
download the results. API-key management and browsing typed result tables (detections/segments/
tree-inventory) aren't covered yet -- see the main platform's own ROADMAP.md for what's next.

Install for now: pip install git+https://github.com/SmartForest-no/forestsens-api.git@v2.0.0
(not yet published to PyPI -- a separate, later decision).

v1.0.0 -- legacy Oracle APEX client (current production)

Choose a tag to compare

@JohannesRahlf JohannesRahlf released this 11 Sep 07:55
5617b50

The Python client for the current production ForestSens system (Oracle APEX-based), using apitoken auth and numeric algorithm ids.

This is the client to use today -- v2.0.0 targets the new OCI-hosted ForestSens API, which is not yet the active/production system.