No project description provided
Project description
LDIMBenchmark
Leakage Detection and Isolation Methods Benchmark
Usage
Installation
pip install ldimbenchmark
Python
from ldimbenchmark.datasets import DatasetLibrary, DATASETS
from ldimbenchmark import (
LDIMBenchmark,
BenchmarkData,
BenchmarkLeakageResult,
)
from ldimbenchmark.classes import LDIMMethodBase
class YourCustomLDIMMethod(LDIMMethodBase):
def __init__(self):
super().__init__(
name="YourCustomLDIMMethod",
version="0.1.0"
)
def train(self, data: BenchmarkData):
pass
def detect(self, data: BenchmarkData) -> list[BenchmarkLeakageResult]:
return [
{
"leak_start": "2020-01-01",
"leak_end": "2020-01-02",
"leak_area": 0.2,
"pipe_id": "test",
}
]
def detect_datapoint(self, evaluation_data) -> BenchmarkLeakageResult:
return {}
datasets = DatasetLibrary("datasets").download(DATASETS.BATTLEDIM)
local_methods = [YourCustomLDIMMethod()]
hyperparameters = {}
benchmark = LDIMBenchmark(
hyperparameters, datasets, results_dir="./benchmark-results"
)
benchmark.add_local_methods(local_methods)
benchmark.run_benchmark()
benchmark.evaluate()
CLI
# TODO (not yet working)
ldimbenchmark --help
Roadmap
- v1: Just Leakage Detection
- v2: Provides Benchmark of Isolation Methods
https://mathspp.com/blog/how-to-create-a-python-package-in-2022
Development
https://python-poetry.org/docs/basic-usage/
# python 3.10
# Use Environment
poetry config virtualenvs.in-project true
poetry shell
poetry install --without ci # --with ci
# Test
poetry build
cp -r dist tests/dist
cd tests
docker build . -t testmethod
pytest -s -o log_cli=true
pytest tests/test_derivation.py -k 'test_mything'
# Pytest watch
ptw
ptw -- --testmon
# Test-Publish
poetry config repositories.testpypi https://test.pypi.org/legacy/
poetry config http-basic.testpypi __token__ pypi-your-api-token-here
poetry build
poetry publish -r testpypi
# Real Publish
poetry config pypi-token.pypi pypi-your-token-here
Documentation
https://squidfunk.github.io/mkdocs-material/ https://click.palletsprojects.com/en/8.1.x/
mkdocs serve
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
ldimbenchmark-0.1.15.tar.gz
(33.2 kB
view hashes)
Built Distribution
Close
Hashes for ldimbenchmark-0.1.15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01ef017ecaed4baecc9d57afb1673443d4b5634e0e277fe99a9f2f13b3d57029 |
|
MD5 | c3584aa75a4a71e418e141295b3fc7fd |
|
BLAKE2b-256 | 25366f73bf495a52ad6efaa7ebb02a2dacd935f0ae5e286d1dce325a2f9bdadd |