Skip to main content

Multi-domain Open Research and Inferential Estimation. Multi-domain scientific computing toolkit hosting the MRM framework for Canadian carceral, police, and oversight data, with general-purpose causal inference, signal processing, cryptography, spatial statistics, statistical physics, and psychometrics modules. (Renamed from MOIRAIS in v0.1.3; the moirais module remains as a deprecated alias.)

Project description

MORIE

Multi-domain Open Research and Inferential Estimation

Renamed from MOIRAIS in v0.1.3. The moirais Python module and the moirais R package remain available as deprecated aliases — import morie / library(morie) is the canonical entry point going forward.

A multi-domain scientific computing toolkit (Python and R) for observational inference, with sociolegal, signal-processing, cryptographic, spatial-statistics, statistical-physics, and psychometrics modules. Hosts the MRM framework as a primary application for Canadian carceral, police, and oversight data analysis.

Python: MIT OR Apache-2.0 R: GPL-2.0-only PyPI version r-universe Python 3.10+ DOI · morie R DOI · morie Python MRM paper Hawkes paper

Installation

Python (PyPI)

pip install morie

R (CRAN)

install.packages("morie")

R (r-universe; nightly binary builds)

install.packages(
  "morie",
  repos = c(
    hadesllm = "https://hadesllm.r-universe.dev",
    CRAN     = "https://cloud.r-project.org"
  )
)

Quick start

import morie

# Load a built-in dataset
df = morie.load_dataset("otis-2025")

# Run an MRM module on OTIS data
from morie.otis_all_analyze import analyze_a01_mrm
result = analyze_a01_mrm(df)
print(result)

Documentation

Full documentation is at hadesllm.github.io/morie.

Citation

If you use morie in your research, please cite both software papers (R and Python) and, where applicable, the MRM framework paper and the Hawkes methodology paper.

# Software paper — R (also the R package source on Zenodo)
Ruhela, V. S. (2026). morie: Multi-domain Open Research and Inferential
Estimation in R (v0.3.0). Zenodo.
https://doi.org/10.5281/zenodo.20111233

# Software paper — Python (also the Python package source on Zenodo)
Ruhela, V. S. (2026). morie: Multi-domain Open Research and Inferential
Estimation in Python (v0.3.0). Zenodo.
https://doi.org/10.5281/zenodo.20096350

# MRM framework paper (theoretical foundations)
Ruhela, V. S. (2026). MRM Framework: Multi-Source Statistical Foundation
for Canadian Carceral, Police, and Oversight Data (v1). Zenodo.
https://doi.org/10.5281/zenodo.20096075

# Hawkes-process methodology paper
Ruhela, V. S. (2026). Criminological Hawkes Process via MORIE: Markovian
and Non-Markovian Self-Exciting Point Processes for Toronto Crime (v1).
Zenodo. https://doi.org/10.5281/zenodo.20102198

See CITATION.cff for machine-readable citation metadata.

Acknowledgments

AI assistance

MORIE was developed with substantial assistance from frontier AI assistants. The author retains full responsibility for the code, the methods, and the scientific claims; AI assistance accelerated implementation but does not change the attribution of the work.

  • Claude — Anthropic. Anthropic's Claude family (Opus, Sonnet, and Haiku across the 4.x generation) was used extensively throughout development for code generation, refactoring, documentation, code review, and design discussions. Use was supported by Anthropic research-credit programs.

  • Gemini and Vertex AI — Google. Google's Gemini 2.5 models (Pro and Flash) on the Vertex AI platform were used extensively for additional code generation, cross-checking Claude-generated code, multi-modal data analysis, and prototype evaluation. Use was supported by Google research-credit programs.

Funding and infrastructure

  • Anthropic — Claude API research credits.

  • Google — Gemini / Vertex AI research credits.

  • The author thanks Glenn McNamara — a 35-year career with the Ontario Government — for his methodological mentorship. He brings distribution theory, applied-statistics intuition for administrative data, and the judgment that grounds much of this framework. Glenn is the M in MRM (Multilevel Reconciliation Methodology; people-credit reading: McNamara-Ruhela-Medina) (catalyst).

  • The author thanks Prof. Angela Zorro Medina, Centre for Criminology and Sociolegal Studies, University of Toronto, who is the author's supervisor, methodological instructor, the domain-expert reviewer of the preliminary methodological approach, and a knowledge user of the framework. The methodological lineage MRM follows is established in her work on anti-gang legislation (Zorro Medina, 2023, The Effect of Anti-Gang Laws on Crime and Social Control) — staggered two-way-fixed-effects identification, formal leads-and-lags Granger-causality diagnostics for parallel trends, multi-source data-integration over five jurisdictional sources, deterrence / routine-activities / certainty mechanism categorisation, and the inequality-effects-of-criminal-law framing — all of which directly shape MRM's empirical-statistical spine. Prof. Medina is the M in MRM (supervisor & reviewer).

Data acknowledgments

Several MRM analyses use Statistics Canada and Health Canada Public Use Microdata Files (PUMFs) — including the Canadian Cannabis Survey (CCS), the Canadian Student Alcohol and Drugs Survey (CSADS), the Canadian Substance Use Survey (CSUS), the Canadian Alcohol and Drugs Survey (CADS, 2019; doi.org/10.25318/132500052021001-eng), and the Canadian Postsecondary Education Alcohol and Drug Use Survey (CPADS) — along with Public Health Agency of Canada (PHAC) and Canadian Institute for Health Information (CIHI) aggregates. Although the analyses use Statistics Canada and Health Canada data, the analyses, interpretations, and conclusions are those of the author and do not represent the views of Statistics Canada or Health Canada. Ontario open data (OTIS, A01-RCDD release; via data.ontario.ca) and Toronto Police Service open data are used under the same standard disclaimer.

License

MORIE adopts a per-component licensing model (since v0.3.0):

  • Python package (src/morie/, src/moirais/) — dual-licensed MIT OR Apache-2.0 (the Rust-ecosystem convention; recipient picks either). See LICENSE-MIT and LICENSE-APACHE.
  • R package (r-package/morie/, r-package/moirais/) — GPL-2.0-only (matches the R-ecosystem / CRAN convention). See LICENSE-GPL2.
  • Linux kernel module (kernel-module/morie.c) — GPL-2.0-only (kernel ABI requirement).
  • Papers, data and documentationCC-BY-4.0 unless explicitly marked otherwise.

The full per-component breakdown is documented in LICENSING.md.

Reporting issues / security

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

morie-0.4.12.tar.gz (8.2 MB view details)

Uploaded Source

Built Distribution

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

morie-0.4.12-py3-none-any.whl (38.1 MB view details)

Uploaded Python 3

File details

Details for the file morie-0.4.12.tar.gz.

File metadata

  • Download URL: morie-0.4.12.tar.gz
  • Upload date:
  • Size: 8.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for morie-0.4.12.tar.gz
Algorithm Hash digest
SHA256 3cc66de039eef01b22510fad9f3e3464fd2ca8bdf793415f2798d9dfd2157c26
MD5 dcdfe1509ba86739b7b27d31d08243a9
BLAKE2b-256 2f1b18137d4ee7356eef5bb2b57be6ab337b3e23efa72956f3f657db97bdfac6

See more details on using hashes here.

Provenance

The following attestation bundles were made for morie-0.4.12.tar.gz:

Publisher: pypi-publish.yml on hadesllm/morie

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

File details

Details for the file morie-0.4.12-py3-none-any.whl.

File metadata

  • Download URL: morie-0.4.12-py3-none-any.whl
  • Upload date:
  • Size: 38.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for morie-0.4.12-py3-none-any.whl
Algorithm Hash digest
SHA256 2a13fa7bfdee78ccf1a326d47d62c699ef5cb3fae4eb8e26af6d0f16d54202db
MD5 038f7faef614824a6b07e113d5fde442
BLAKE2b-256 e0ada53d572506514a330783e10e639d784c4f8f0347882bc52fb36758bae4c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for morie-0.4.12-py3-none-any.whl:

Publisher: pypi-publish.yml on hadesllm/morie

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