> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sifr.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Python Developer Guide

> A guided path for Python developers learning Sifr's compile-time types, errors, imports, ownership, async model, and packages.

If you know Python, Sifr lets you keep much of the syntax while changing the contract around errors, missing values, mutation, imports, and async work. Start with the compact bridge, then use this guide path to replace runtime habits with compile-time guarantees.

<CardGroup cols={2}>
  <Card title="Mental Model Shift" icon="route" href="/guides/python-developers/mental-model">
    Learn the surprises to remove first: hints, exceptions, `None`, imports, and mutation.
  </Card>

  <Card title="From Python" icon="map" href="/from-python">
    See what carries over and what Sifr checks at compile time.
  </Card>

  <Card title="Quickstart" icon="zap" href="/quickstart">
    Write, run, and build your first Sifr program.
  </Card>

  <Card title="Error Handling" icon="triangle-alert" href="/language/error-handling">
    Learn how `Result` and `try`/`except` replace recoverable exceptions.
  </Card>

  <Card title="Ownership and Mutability" icon="refresh-cw" href="/language/ownership">
    Learn `mut`, `own`, and borrow-by-default calls.
  </Card>

  <Card title="Interop by library" icon="plug-zap" href="/guides/interop">
    Walk through schwifty, NumPy, and Kafka before reading the full reference.
  </Card>
</CardGroup>

## Learning Sequence

1. Build the mental model: [what changes from Python](/guides/python-developers/mental-model).
2. Compile a first program: [Quickstart](/quickstart).
3. Learn everyday values: [Values and Collections](/language/values-and-collections).
4. Handle failure intentionally: [Error Handling](/language/error-handling).
5. Make mutation explicit: [Ownership and Mutability](/language/ownership).
6. Use the Sifr namespace: [Standard Library](/stdlib/overview) and [Module Index](/stdlib/module-index).
7. Move from scripts to packages: [Packages and Workspaces](/cli/packages-workspaces).

<Tip>
  If you only read one language page after this guide, read [Ownership and Mutability](/language/ownership). It explains why Sifr can look like Python while still compiling to safe Rust-backed binaries.
</Tip>
