Skip to main content

pySEQTarget - Sequential Target Trial Emulation

PyPI version Downloads codecovLicense: MIT versions Documentation Status

Implementation of sequential trial emulation for the analysis of observational databases. The pySEQTarget software accommodates time-varying treatments and confounders, as well as binary and failure time outcomes. pySEQTarget allows to compare both static and dynamic strategies, can be used to estimate observational analogs of intention-to-treat and per-protocol effects, and can adjust for potential selection bias.

Installation

You can install the development version of pySEQTarget from github with:

pip install git+https://github.com/CausalInference/pySEQTarget

Or from pypi iwth

pip install pySEQTarget

Setting up your Analysis

The primary API, SEQuential uses a dataclass system to handle function input. You can then recover elements as they are built by interacting with the SEQuential object you create.

From the user side, this amounts to creating a dataclass, SEQopts, and then feeding this into SEQuential. If you forgot to add something at class instantiation, you can, in some cases, add them when you call their respective class method.

from pySEQTarget import SEQuential, SEQopts
from pySEQTarget.data import load_data

data = load_data("SEQdata")
options = SEQopts(km_curves = True)

# Initiate the class
model = SEQuential(data, 
                   id_col = "ID",
                   time_col = "time",
                   eligible_col = "eligible",
                   treatment_col = "tx_init",
                   outcome_col = "outcome",
                   time_varying_cols = ["N", "L", "P"],
                   fixed_cols = ["sex"],
                   method = "ITT",
                   parameters = options)
model.expand()  # Construct the nested structure
model.bootstrap(bootstrap_nboot = 20) # Run 20 bootstrap samples
model.fit() # Fit the model
model.survival() # Create survival curves
model.plot() # Create and show a plot of the survival curves
model.collect() # Collection of important information

Assumptions

There are several key assumptions in this package -

  1. User provided time_col begins at 0 per unique id_col, we also assume this column contains only integers and continues by 1 for every time step, e.g. (0, 1, 2, 3, 4, ...) is allowed and (0, 1, 2, 2.5, ...) or (0, 1, 4, 5) are not
    1. Provided time_col entries may be out of order at intake as a sort is enforced at expansion.
  2. eligible_col and elements of excused_colnames are once 1, only 1 (with respect to time_col) flag variables.

Metadata

Release files for pySEQTarget 0.14.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pySEQTarget 0.14.1
File Size Uploaded
pyseqtarget-0.14.1.tar.gz 95.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pySEQTarget 0.14.1
File Interpreter ABI Platform
pyseqtarget-0.14.1-py3-none-any.whl Python 3 none any Details

Total release size: 172.9 kB

Release files / pyseqtarget-0.14.1.tar.gz

Download URL pyseqtarget-0.14.1.tar.gz
Size 95.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e9b4dc920da09dab3ba8a2eacae06686ccdecd9d8e92f6d282b308da2ce9cf12
BLAKE2b-256 checksum
How to use checksums
159e7f256b67b956a42cf3b303b69740f445057b6076e1c5a6ef2fad6415f1af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release files / pyseqtarget-0.14.1-py3-none-any.whl

Download URL pyseqtarget-0.14.1-py3-none-any.whl
Size 76.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3b0726db845396a96bd180a2f79a22b039b755ec117b076df6a3fa28238bdb4
BLAKE2b-256 checksum
How to use checksums
f9406d1c3f7684807b7b8e2e1d8abe8d8fc3f08a7d8714b2c062a462846fef1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page