Repository navigation
Releases: SmartForest-no/forestsens-python
Release list
v3.4.0: parallel uploads
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
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/Batchfriendly dict-subclass views, folder upload support inupload_files(),find_pipeline(name)lookup, one-callrun()shortcut,wait_for_batch(..., on_progress=...)progress callback (#5) - New example scripts (drone folder, point cloud, progress/error handling), a
docs/examples.mdindex, and anllms.txtreference 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
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-Keyauth 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, raisesBatchFailedError
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.ForestSensAPIErrorparses 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)
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.