Skip to main content

Species-area relationship curve fitting in Python

Project description

sars

DOI

Species-area relationship curve fitting in Python.

A conceptual mirror of the R sars package (Matthews et al. 2019), native to the Python scientific stack.

Installation

pip install sars

Features

  • 20 SAR models — power, logarithmic, asymptotic, sigmoid, and more
  • Multi-model inference — fit all models at once, ranked by AICc with Akaike weights
  • Model averaging — weighted-average predictions across candidate models
  • Bootstrap confidence intervals — percentile-based CIs for averaged predictions
  • R-validated — all models tested against R sars package reference values

Quick start

import sars

# Load the built-in Galapagos dataset (Preston 1962)
galap = sars.load_galap()

# Fit a single model
fit = sars.sar_power(galap)
print(fit)
# SARFit(model='power', c=33.1792  z=0.2832, R²=0.4912, AICc=189.03)

# Fit all 20 models and compare
multi = sars.sar_multi(galap)
print(multi.summary[["model", "AICc", "delta_AICc", "weight"]].head())

# Model-averaged predictions
avg = sars.sar_average(galap)
predictions = avg.predict([1.0, 10.0, 100.0])

# Bootstrap confidence intervals
ci = sars.bootstrap_ci(galap, n_boot=100)

Available models

Type Models
Non-asymptotic power, powerR, loga, linear, epm1, epm2, p1, p2
Asymptotic convex koba, monod, negexpo, asymp, ratio
Asymptotic sigmoid mmf, gompertz, weibull3, weibull4, chapman, betap, heleg

Each model has a dedicated function (e.g. sars.sar_power(), sars.sar_negexpo()) and returns a SARFit object with parameters, R², AIC, AICc, and BIC.

Citation

If you use this software, please cite it:

McMeen, J. (2026). sars: Species-Area Relationship curve fitting in Python. DOI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sars-0.5.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sars-0.5.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file sars-0.5.0.tar.gz.

File metadata

  • Download URL: sars-0.5.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sars-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9db3c3ccc99c5b099952cab786ecda37d96061d17fa63fdd2b8381937af57b27
MD5 938483a4458ed478d41a7de5041c632a
BLAKE2b-256 e9f83fc0f40983bc47f72fecf1013fbe8cb9895ed2807ea278f8e3675d90d279

See more details on using hashes here.

Provenance

The following attestation bundles were made for sars-0.5.0.tar.gz:

Publisher: publish.yml on jmcmeen/sars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sars-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: sars-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sars-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 957b511e82d6184b3781b3653f67dc18ea086ab1e51828ba79e371fc268f25b6
MD5 a632a68be7e3311ccbafe3d22c23c922
BLAKE2b-256 ed81f44322ac0a728a5fd55bbbbcb8d8de62c218ff519264cda9d231ac95723b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sars-0.5.0-py3-none-any.whl:

Publisher: publish.yml on jmcmeen/sars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page