Metadata-Version: 2.3
Name: isssm
Version: 0.2.0
Summary: Importance Sampling for State Space Models (in jax)
Author: Stefan Heyder
Author-email: Stefan Heyder <stefan.heyder@gmail.com>
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Dist: jax[cpu]==0.6.1
Requires-Dist: jaxtyping>=0.3.2
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: tensorflow-probability>=0.25.0
Requires-Dist: jaxopt
Requires-Dist: jaxlib
Requires-Dist: setuptools>=80.9.0
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: nbdev ; extra == 'dev'
Requires-Dist: ipykernel ; extra == 'dev'
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/stefanheyder/isssm
Project-URL: Bug Tracker, https://github.com/stefanheyder/isssm/issues
Provides-Extra: dev
Description-Content-Type: text/markdown

# Importance Sampling for State Space Models (isssm)


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Install

### Option 1: Install from PyPI (for users)

``` sh
pip install isssm
```

### Option 2: Development Setup with uv (for contributors)

This project uses [uv](https://github.com/astral-sh/uv) for dependency
management and virtual environments.

1.  **Install uv** (if not already installed):

    ``` sh
    # On macOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh

    # On Windows
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    ```

2.  **Clone the repository**:

    ``` sh
    git clone https://github.com/stefanheyder/isssm.git
    cd isssm
    ```

3.  **Create a virtual environment**:

    ``` sh
    uv venv
    ```

4.  **Activate the virtual environment**:

    ``` sh
    # On macOS/Linux
    source .venv/bin/activate

    # On Windows
    .venv\Scripts\activate
    ```

5.  **Install the package in development mode**:

    ``` sh
    uv pip install -e ".[dev]"
    ```

## How to use

Please check out [the
documentation](https://stefanheyder.github.io/isssm) for details and
examples.

For the mathematics and further details, please have a look at my [PhD
thesis](https://github.com/stefanheyder/dissertation).

## Development Workflow with nbdev

This project uses [nbdev](https://nbdev.fast.ai/) for literate
programming. Here’s how to work with it:

1.  **Edit notebooks in the `nbs/` directory**:

    All development happens in Jupyter notebooks in the `nbs/`
    directory.

2.  **Export your changes to Python modules**:

    ``` sh
    nbdev_export
    ```

3.  **Build the documentation**:

    ``` sh
    nbdev_docs
    ```

4.  **Preview the documentation locally**:

    ``` sh
    nbdev_preview
    ```
