Toolkit for Hawkes Processes in Python
Goal
The purpose of Sparklen package is to provide the Python community with
a complete suite of cutting-edge tools specifically tailored for
the study of exponential Hawkes processes, with a particular focus
on high-dimensional framework. It notably features:
-
A efficient cluster-based simulation method for generating events.
-
A highly versatile and flexible framework for performing inference of multivariate Hawkes process.
-
Novel approaches to address the challenge of multiclass classification within the supervised learning framework.
Installation
This section describes how to install the necessary dependencies to set up the package.
1. Install SWIG
Sparklen uses a C++ core code for computationally intensive
components, ensuring both efficiency and performance. The binding between C++
and Python is handled through SWIG wrapper code.
So first, you need to install SWIG. Below are the instructions for various platforms.
Anaconda/Miniconda
If you're using Anaconda or Miniconda, install SWIG from the conda-forge channel:
conda install -c conda-forge swig
Linux (Ubuntu/Debian)
On Ubuntu or Debian-based systems, you can install SWIG using apt:
sudo apt update
sudo apt install swig
macOS (Homebrew)
On macOS, you can install SWIG using Homebrew:
brew install swig
Windows
For Windows, follow these steps:
- Download the latest
SWIGrelease from the SWIG website - Add the
SWIGfolder to your system's PATH environment variable
If you are using Chocolatey you can also install SWIG by running:
choco install swig
2. Get the Source Code
Clone the repository to get the latest version of the source code:
git clone https://github.com/romain-e-lacoste/sparklen.git
cd sparklen
3. Install the Package
It's recommended to set up a dedicated Python environment (e.g., using venv or conda).
Once your environment is ready, install the package by running:
pip install .
Citing this work
If you found this package useful, please consider citing it in your work:
@article{lacoste2025sparkle,
title={Sparkle: A Statistical Learning Toolkit for High-Dimensional Hawkes Processes in Python},
author={Lacoste, Romain E.},
year={2025},
eprint={2502.18979},
archivePrefix={arXiv},
primaryClass={stat.ME},
url={https://arxiv.org/abs/2502.18979},
}
Acknowledgement
This work has been supported by the Chaire “Modélisation Mathématique et Biodiversité” of Veolia-École polytechnique-Museum national d’Histoire naturelle-Fondation X
Metadata
Release files for sparklen 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sparklen-1.0.0.tar.gz | 173.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sparklen-1.0.0-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
Total release size: 450.5 kB
Release files / sparklen-1.0.0.tar.gz
| Download URL | sparklen-1.0.0.tar.gz |
|---|---|
| Size | 173.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a37b3fab01eba40c77377c364e7f1c8b819cf439ad03caf0179fc6449b482621
|
|
BLAKE2b-256 checksum How to use checksums |
c442f559a2ea7bbedde9660896cb325dfb38889be5979de97245c4dd1fb17f5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.7
|
Release files / sparklen-1.0.0-cp311-cp311-win_amd64.whl
| Download URL | sparklen-1.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 277.1 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
89bca7fda06d0757a2dcb48c5657be4f7eccbefe8b24190f16d5a5c1b0a13588
|
|
BLAKE2b-256 checksum How to use checksums |
5fc4467c51f01a5d715592610aa6aca7f97ff1e106a5adee0a4f1b5687b47842
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.7
|