Getting started
The S2GOS Controller connects your Python session, browser, or terminal to a processing service. You select a process (a reusable operation), supply an execution request (its inputs and optional output settings), and receive a job (one execution with its own ID). After that job succeeds, you can retrieve its results. A result can be an inline value or a link to data in storage.
The same service and jobs are accessible through all three interfaces. You can submit a job in the App, inspect it from the CLI, and open its dataset in Python. Use the same service configuration and user account when moving between them.
Choose an interface
| You want to… | Start here |
|---|---|
| Explore processes and use a graphical user interface | App |
| Repeat requests from a terminal or script | Command line |
| Integrate processing with a scientific workflow | Python API |
| Read a job's dataset or troubleshoot storage access | Working with results |
Connect to S2GOS
To work with the remote S2GOS service, you need its API URL, access to the service, and the authentication details supplied by its operator. Follow Configuration and authentication to configure and log in.
By default, the S2GOS client is configured to use a free tier demo service on DestinE.
For a scene-generation workflow, carefully inspect its process description, prepare the required scene inputs and output locations, submit once, then monitor the returned job ID. Storage access may require additional credentials; see Working with results.
Testing the client locally
Note
This section will be rewritten to work with the
s2gos-mono
repo.
Follow Installation to create the development
environment. Open two terminals in the repository root and run pixi shell in
each. The examples below assume that environment is active and commands run from
the repository root.
In the first terminal, start the test service:
s2gos-server run -- wraptile.services.local.testing:service
Leave this terminal running. By default, the gateway listens at
http://127.0.0.1:8008. This service needs no S2GOS account and includes small
demonstration processes: primes_between, sleep_a_while, and simulate_scene.
The simulated scene is a small dataset of zeros for testing data access; it does
not run the scientific S2GOS scene generator.
In the second terminal, create a separate local client profile:
s2gos-client configure --api-url http://127.0.0.1:8008 --auth-type none --config local-client.yaml
s2gos-client list-processes --config local-client.yaml
s2gos-client get-process primes_between --config local-client.yaml
The list should include primes_between; its description tells you the accepted
inputs and outputs. local-client.yaml holds this tutorial's settings. Pass it
with --config on commands that connect to the server. This keeps your default
S2GOS profile available for hosted work. The Python examples select the local URL
and no authentication explicitly.
For a complete first submission, run:
python -m examples.guides.api
The script submits one prime-number calculation, prints the returned job ID, checks its status once, and closes the client. Follow the Python walkthrough to understand each step or the CLI walkthrough to perform it from the terminal.
Understand the job lifecycle
| Status | Meaning | Next step |
|---|---|---|
accepted |
The service has accepted the request. | Retain the job ID and check again later. |
running |
Processing is in progress. | Check progress and messages, if provided. |
successful |
Processing finished successfully. | Retrieve results, then open the outputs you need. |
failed |
Processing ended with an error. | Read the job message and correct the cause before resubmitting. |
dismissed |
The job was dismissed. | Do not expect results to remain available. |
A successful submission is not the same as a successful computation. Calling
execute_process again creates another job; use get_job to check an existing
one. Keep the job ID, the service URL, and a copy of the submitted request with
your experiment so you can return to it later.
Common first-run problems
| Symptom | Check |
|---|---|
s2gos-client or s2gos-server is not found |
Activate the environment with pixi shell. |
| Connection refused | Keep the server terminal open and check the URL and port. |
| Local examples ask for login | Select auth_type: none; changing only the URL retains S2GOS authentication defaults. |
| A command reports that the client is not configured | Create a profile and pass the same --config path on subsequent commands. |
| A process or job is not found | Check the service URL, account, and ID. A job ID belongs to the service that created it. |
| Old job IDs stop working after restarting the test server | The local test service is for experimentation; do not rely on it for durable job history. |
We also provide example notebooks available for exploration.