[build-system] requires = ["maturin>=1.10,<2.0"] build-backend = "maturin" [project] name = "fast-mlsirm" version = "0.8.0" description = "Fast simulation, fitting, and recovery diagnostics for MLSIRM/MLS2PLM models." readme = "README.md" requires-python = ">=3.12" license = { text = "MIT" } authors = [{ name = "ContextualWisdomLab" }] dependencies = ["numpy>=1.24"] keywords = ["irt", "psychometrics", "latent-space", "mlsirm", "pyo3"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Rust", "Topic :: Scientific/Engineering :: Mathematics", ] [project.urls] Homepage = "https://github.com/ContextualWisdomLab/fast-mlsirm" Repository = "https://github.com/ContextualWisdomLab/fast-mlsirm" Issues = "https://github.com/ContextualWisdomLab/fast-mlsirm/issues" Changelog = "https://github.com/ContextualWisdomLab/fast-mlsirm/blob/main/CHANGELOG.md" [project.optional-dependencies] dev = ["pytest>=8", "hypothesis>=6"] # Coverage-guided fuzzing harnesses (fuzz/atheris/*). Atheris is Apache-2.0 and # Hypothesis is MPL-2.0 and used only as a dev/test dependency. Atheris ships # wheels for CPython 3.8-3.12 on Linux/macOS. fuzz = ["atheris>=2.3", "hypothesis>=6"] [project.scripts] fast-mlsirm = "fast_mlsirm.cli:main" [tool.maturin] bindings = "pyo3" features = ["pyo3/extension-module"] manifest-path = "crates/fast-mlsirm-py/Cargo.toml" module-name = "fast_mlsirm._core" python-source = "python" [tool.pytest.ini_options] pythonpath = [".", "python"] testpaths = ["tests"] [tool.interrogate] ignore-init-method = true ignore-init-module = true ignore-magic = true ignore-module = true fail-under = 100 [tool.coverage.run] source = ["fast_mlsirm"] branch = true [tool.coverage.report] show_missing = true fail_under = 100