Simple Python interface with the spatstat R package using rpy2
Project description
spatstat-interface
Simple Python interface with the spatial statistics R package spatstat
using rpy2
.
Dependencies
-
R (programming language),
-
Python dependencies are listed in the
pyproject.toml
file. Note that they mostly correspond to the latest version.[tool.poetry.dependencies] python = "^3.8" matplotlib = "^3.4.2" numpy = "^1.20.3" pandas = "^1.2.4" rpy2 = "^3.4.5"
Installation
You may consider using poetry
to manage your whole project as described here https://github.com/guilgautier/template-python-project.
Install the project as a dependency
-
Install the latest version published on
# activate your virtual environment an run poetry add spatstat-interface # pip install spatstat-interface
-
Install from source (this may be broken)
# activate your virtual environment an run poetry add git+https://github.com/For-a-few-DPPs-more/spatstat-interface.git # pip install git+https://github.com/For-a-few-DPPs-more/spatstat-interface.git
Install in editable mode and potentially contribute to the project
You may consider forking the repository.
In any case, your can clone the repository
-
if you have forked the repository
git clone https://github.com/your_user_name/spatstat-interface.git
-
if you have not forked the repository
git clone https://github.com/For-a-few-DPPs-more/spatstat-interface.git
Using poetry
The package can be installed in editable mode along with
- main (non-optional) dependencies, see
[tool.poetry.dependencies]
inpyproject.toml
- development dependencies,
[tool.poetry.dev-dependencies]
inpyproject.toml
cd spatstat-interface
# activate your virtual environment or run
# poetry shell # to create/activate local .venv (see poetry.toml)
poetry install
# poetry install --no-dev # to avoid installing the development dependencies
Using pip
For now, packages defined only by a pyproject.toml
file can't be installed editable mode directly using pip
.
Alternatives
-
consider using
poetry
instead -
otherwise, for your convenience, the
pyproject.toml
file was duplicated into asetup.cfg
file to enable editable install usingpip
.-
modify the
[build-system]
section inpyproject.toml
to[build-system] requires = ["setuptools >= 40.9.0", "wheel"] build-backend = "setuptools.build_meta"
-
intstall the project in editable mode
cd spatstat-interface # activate your virtual environment and run pip install -e .
-
Documentation
Main ressources
notebooks
showcase detailed examplesrpy2
documentationspatstat
documentation
Notes about spatstat
The spatstat
package has recently been split into multiple sub-packages and extensions.
Using spatstat-interface
, sub-packages and extensions are accessible in the following way
from spatstat_interface import SpatstatInterface
spatstat = SpatstatInterface(update=True)
# spatstat.core is None
# spatstat.geom is None
# load/import sub-packages or extensions
spatstat.import_package("core", "geom", update=True)
spatstat.core
spatstat.geom
Notes about calling functions
Calling function.variant
Instead of calling function.variant
as in R replace .
by _
in Python.
# R code pcf.ppp
spatstat.core::pcf.ppp(X)
# Python code pcf_ppp
my_dpp = spatstat.core.pcf_ppp(X)
Using keyword arguments
Consider using Python dictionaries to pass keyword arguments. Below are a few examples.
-
dot keywords, for example passing
var.approx
keyword argument won't work in Python# R code spatstat.core::pcf.ppp(X, kernel="epanechnikov", var.approx=False)
# Python code params = {"kernel": "epanechnikov", "var.approx": False} my_dpp = spatstat.core.pcf_pp(X, **params)
-
reserved keywords, for example
lambda
is a reserved Python keyword ; it can't be used as a keyword argument# R code spatstat.core::dppGauss(lambda=rho, alpha=alpha, d=d)
# Python code params = {"lambda": rho, "alpha": alpha, "d": d} my_dpp = spatstat.core.dppGauss(**params)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for spatstat_interface-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a90a8c1c3f6fd0768c2eb8287c4b477d34b87dbfb73d28bdc93ae13b85c8a5f6 |
|
MD5 | 9f2729662bf7dca0778424953a21a762 |
|
BLAKE2b-256 | fb1fa2348fe752bd77fc9918e23f7fbb325fa1dcbdf7c0664020b673a142fedc |