Journey 01 — First contact
Verify install and license, then make your first classify() call on a trivial decay ODE. You learn that every SolvScout workflow starts with a ProblemProfile — even before choosing a solver.
Prerequisites: Release wheel installed and free lifetime seat activated (see Install). Scenario: Version, license, simplest successful call
Key APIs
solvscout.__version__solvscout.license_valid()solvscout.classify(rhs, y0, t_span)
Concepts to internalize
- ProblemProfile — compact summary of your ODE (stiffness class, dimension, dynamics type). Every downstream API consumes it.
- classify() — probes your RHS with short integrations and Jacobian estimates. No hand-labelling.
- License gate — recommend/compare/product APIs require a valid seat; classify may run for diagnostics but the recommender is gated.
Important code
The guided tour script wraps this pattern. Copy the production shape into your pipeline:
import solvscout as scout
# Exponential decay: dy/dt = -y
rhs = lambda t, y: [-y[0]]
y0 = [1.0]
t_span = (0.0, 1.0)
result = scout.classify(rhs, y0, t_span)
print(result.profile.stiffness) # e.g. S0 — non-stiff
print(result.profile.dim) # state dimension
print(result.profile.dynamics_type)Act-by-act walkthrough
Act 1 — What you are doing
Confirm SolvScout imports, see your license state, and run the smallest call that proves it works: classify a trivial ODE into a stiffness class.
Act 2 — Version
Every support ticket starts with the package version.
| Field | Value | Notes |
|---|---|---|
version | 0.2.0 | |
native | 1.0.0 |
Act 3 — License
SolvScout's recommender is license-gated.
| Field | Value | Notes |
|---|---|---|
license_valid | True |
Act 4 — Simplest call
classify(rhs, y0, t_span) inspects the dynamics and returns a ClassificationResult. The headline field is the stiffness class.
| Field | Value | Notes |
|---|---|---|
stiffness | S0 | |
dim | 1 | |
dynamics_type | unknown | That profile is the input to recommend() / recommend_product() in later journeys. |
Guided tour output
Verified console capture from 01_first_contact.py:
Version, license, simplest successful call
-- Act 1 - What you are doing --
-> Confirm SolvScout imports, see your license state, and run the smallest call that proves it works: classify a trivial ODE into a stiffness class.
-- Act 2 - Version --
-> Every support ticket starts with the package version.
version: 0.2.0
native: 1.0.0
-- Act 3 - License --
-> SolvScout's recommender is license-gated.
license_valid: True
-- Act 4 - Simplest call --
-> classify(rhs, y0, t_span) inspects the dynamics and returns a ClassificationResult. The headline field is the stiffness class.
stiffness: S0
dim: 1
dynamics_type: unknown
-> That profile is the input to recommend() / recommend_product() in later journeys.
-- Run complete --
next_journey: 02_classify_rhs.pyRun it
cd python
# Guided tour — narrated scenario walkthrough (recommended first run):
python examples/journeys/01_first_contact.py
# Production one-liner — same API call you ship:
python -c "import solvscout as s; print(s.__version__, s.license_valid())"What comes next
Journey 02 classifies contrasting systems (chaotic vs stiff) and reads the full FeatureReport.