[build-system] requires = ["setuptools>=77.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "obliteratus" version = "0.1.2" description = "Master Ablation Suite for HuggingFace transformers" readme = "README.md" requires-python = ">=3.10" license = "AGPL-3.0-or-later" license-files = ["LICENSE"] keywords = ["abliteration", "mechanistic-interpretability", "refusal-removal", "llm", "transformers", "alignment"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "torch>=2.0", "transformers>=4.40", "datasets>=2.14", "accelerate>=0.24", "safetensors>=0.4", "pyyaml>=6.0", "rich>=13.0", "matplotlib>=3.7", "seaborn>=0.12", "pandas>=2.0", "numpy>=1.24", "scikit-learn>=1.3", "tqdm>=4.64", "bitsandbytes>=0.46.1", ] [project.urls] "Homepage" = "https://github.com/elder-plinius/OBLITERATUS" "Repository" = "https://github.com/elder-plinius/OBLITERATUS" "Bug Tracker" = "https://github.com/elder-plinius/OBLITERATUS/issues" [project.optional-dependencies] dev = [ "build==1.2.2.post1", "mypy==1.13.0", "pytest==8.3.4", "pytest-cov==6.0.0", "ruff==0.8.6", ] spaces = ["gradio>=5.0,<6.0"] [project.scripts] obliteratus = "obliteratus.cli:main" [tool.setuptools] # The local UI launcher imports the Hugging Face Spaces application module. # Include that top-level module in wheels as well as editable/source installs. py-modules = ["app"] [tool.setuptools.packages.find] include = ["obliteratus*"] [tool.setuptools.package-data] obliteratus = ["py.typed"] [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] select = ["F"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = [ "--strict-config", "--strict-markers", "--cov=obliteratus", "--cov-report=term-missing", "--cov-fail-under=49", ] filterwarnings = [ "error", ] markers = [ "cpu: deterministic tests supported by the mandatory CPU-only gate", "integration: offline integration tests spanning multiple components", "slow: tests excluded from the fast pull-request gate because of runtime", "gpu: tests that require a CUDA-capable runner", "mps: tests that require Apple Metal Performance Shaders", "mlx: tests that require Apple MLX", "network: tests that access external network resources", "download: tests that download model or dataset artifacts", "remote: tests that require a remote execution provider or credentials", ] [tool.uv] exclude-newer = "3 days"