Skip to main content

Deviation detection using variable-order Markov-chains in finite alphabet sequences

Project description

anomaly-grid-py

CI PyPI version Python versions License: MIT Downloads

Sequence deviation detection using variable-order Markov chains for finite alphabet sequences.

🎯 Niche Focus & Strengths

This library excels at detecting temporal pattern violations in sequences with small, finite alphabets (mostly ≤20 symbols but can be tested for more). Based on comprehensive benchmarking, it shows clear advantages over traditional ML when:

  • Sequential order matters - State machines, protocols, biological sequences (this one in particular I have to test it further because depending on how I try to create the synthetic data for this particular one, higher orders than 2 perform way worse and have significant overheaD)
  • Finite vocabularies - Network states (12-16 symbols), amino acids (20), communication protocols
  • Multi-order dependencies - Patterns that span 2-4 sequence elements
  • Subtle deviations - Violations of learned transition rules

Proven Performance Advantages

  • Protocol State Machines (16 states): +6.2% F1 improvement over traditional ML (F1: 0.71 vs 0.67)
  • Communication Protocols (12 symbols): +3.0% F1 improvement over traditional ML (F1: 0.52 vs 0.50)
  • Temporal pattern recognition: Consistently outperforms on sequence-dependent anomalies

To confirm these results that were taken today Sep 16th, 2025, run this notebook: Open notebook

⚠️ Realistic Limitations

  • Moderate performance ceiling: F1 scores typically 0.45-0.71 on challenging datasets where the ideal solution would be to use other algorithms like isolation forest, etc.
  • Small alphabet requirement: Performance advantage diminishes with >20 symbols but sometimes with the ideal batch processing this can be handled or sometimes it is not necessary to go beyond 20 states, and that is where our approach can handle it better. It is always best to keep comparing for results.
  • Training data needs: Requires 100+ normal sequences for stable performance
  • Subtle anomalies: Performance degrades with very low contamination rates (<2%)

Installation

pip install anomaly-grid-py

Quick Start

import anomaly_grid_py

# Create detector with appropriate order for your alphabet size
detector = anomaly_grid_py.AnomalyDetector(max_order=3)

# Train on normal sequences only (unsupervised learning)
normal_sequences = [
    ['INIT', 'LISTEN', 'SYN_RECV', 'ESTABLISHED', 'DATA_XFER', 'CLOSED'],
    ['INIT', 'SYN_SENT', 'ESTABLISHED', 'AUTH', 'DATA_XFER', 'CLOSED'],
    ['INIT', 'LISTEN', 'SYN_RECV', 'ESTABLISHED', 'CLOSE_WAIT', 'CLOSED']
] * 100  # Need sufficient training data (typically 100+ sequences)

detector.fit(normal_sequences)

# Detect anomalies in test sequences
test_sequences = [
    ['INIT', 'LISTEN', 'SYN_RECV', 'ESTABLISHED', 'DATA_XFER', 'CLOSED'],  # Normal
    ['INIT', 'ESTABLISHED', 'DATA_XFER', 'CLOSED'],  # Anomalous: skipped states
    ['INIT', 'LISTEN', 'ERROR', 'RESET', 'CLOSED']   # Anomalous: unexpected error
]

# Get anomaly scores [0,1] - higher means more anomalous
scores = detector.predict_proba(test_sequences)
print(f"Anomaly scores: {scores}")

# Get binary predictions with optimized threshold
anomalies = detector.predict(test_sequences, threshold=0.5)
print(f"Anomalies detected: {anomalies}")

Example: Network Protocol Analysis

import anomaly_grid_py

# Network connection state sequences (16-state protocol)
normal_connections = [
    ['INIT', 'SYN_SENT', 'ESTABLISHED', 'DATA_XFER', 'FIN_WAIT1', 'CLOSED'],
    ['INIT', 'LISTEN', 'SYN_RECV', 'ESTABLISHED', 'DATA_XFER', 'CLOSE_WAIT', 'CLOSED'],
    ['INIT', 'SYN_SENT', 'ESTABLISHED', 'AUTH', 'DATA_XFER', 'DATA_XFER', 'CLOSED']
] * 200

# Train detector with higher order for complex state dependencies
detector = anomaly_grid_py.AnomalyDetector(max_order=4)  # Higher order for 16-state alphabet
detector.fit(normal_connections)

# Test sequences with potential attacks
test_connections = [
    ['INIT', 'SYN_SENT', 'ESTABLISHED', 'DATA_XFER', 'CLOSED'],        # Normal
    ['INIT', 'ESTABLISHED', 'DATA_XFER', 'CLOSED'],                    # SYN flood attack
    ['INIT', 'SYN_SENT', 'RESET', 'INIT', 'SYN_SENT', 'RESET'],      # Connection reset attack
    ['INIT', 'LISTEN', 'SYN_RECV', 'ERROR', 'CLOSED']                 # Protocol violation
]

scores = detector.predict_proba(test_connections)
print("Connection anomaly scores:", scores)
# Expected: Normal sequences ~0.2, attacks ~0.6-0.8

Benchmarked Performance

Based on rigorous evaluation across finite alphabet datasets with 3-fold cross-validation:

Dataset Type Alphabet Size Sequence-Based F1 Traditional ML F1 Advantage
Protocol State Machines 16 symbols 0.71 0.67 +6.2%
Communication Protocols 12 symbols 0.52 0.50 +3.0%
Biological Sequences 20 symbols 0.45-0.60* 0.45-0.55* +2-5%

*Performance varies significantly based on sequence complexity and contamination rate (2-3%).

Key Performance Insights

  • Best performance: 16-state protocols with order=4 (F1: 0.71, AUC: 0.90)
  • Order selection matters: Higher orders (3-4) work better for larger alphabets (16-20 symbols)
  • Realistic expectations: Some edge cases might underperform

API Reference

AnomalyDetector

# Initialize detector
detector = AnomalyDetector(max_order=3)

Parameters:

  • max_order (int): Maximum n-gram order (1-4). Higher orders capture longer dependencies but need more training data.

Recommended orders by alphabet size:

  • 8-12 symbols: max_order=2-3
  • 13-16 symbols: max_order=3-4 (best performance with order=4)
  • 17-20 symbols: max_order=3-4
  • 20 symbols: Consider other algorithms

Methods

# Train on normal sequences (unsupervised)
detector.fit(sequences)

# Get anomaly probability scores [0,1]
scores = detector.predict_proba(sequences)

# Get binary anomaly predictions
predictions = detector.predict(sequences, threshold=0.5)

# Get model performance metrics
metrics = detector.get_performance_metrics()

Threshold Selection

from sklearn.metrics import precision_recall_curve
import numpy as np

# Use validation data to find optimal threshold
val_scores = detector.predict_proba(validation_sequences)
precision, recall, thresholds = precision_recall_curve(val_labels, val_scores)
f1_scores = 2 * (precision * recall) / (precision + recall + 1e-8)
optimal_threshold = thresholds[np.argmax(f1_scores)]

# Apply to test data
predictions = detector.predict(test_sequences, threshold=optimal_threshold)

Best Practices

1. Data Requirements

# Ensure sufficient training data
assert len(normal_sequences) >= 100, "Need at least 100 training sequences"

# Check sequence lengths (based on benchmark averages)
avg_length = np.mean([len(seq) for seq in normal_sequences])
assert avg_length >= 50, "Sequences should be at least 50 elements for good performance"

# Verify alphabet size
alphabet = set()
for seq in normal_sequences:
    alphabet.update(seq)
assert len(alphabet) <= 20, f"Alphabet size {len(alphabet)} may be too large for optimal performance"

2. Order Selection Strategy

# Test different orders based on alphabet size
alphabet_size = len(set(symbol for seq in train_sequences for symbol in seq))

if alphabet_size <= 12:
    test_orders = [2, 3]
elif alphabet_size <= 16:
    test_orders = [3, 4]  # Order 4 showed best results for 16-state protocols
else:
    test_orders = [3, 4]

best_f1 = 0
best_order = 2

for order in test_orders:
    detector = AnomalyDetector(max_order=order)
    detector.fit(train_sequences)
    scores = detector.predict_proba(val_sequences)
    # Calculate F1 and select best order

3. Performance Evaluation

# Use appropriate metrics for imbalanced data (typical contamination: 2-3%)
from sklearn.metrics import classification_report, average_precision_score

scores = detector.predict_proba(test_sequences)
predictions = detector.predict(test_sequences, threshold=optimal_threshold)

print(classification_report(test_labels, predictions))
print(f"Average Precision: {average_precision_score(test_labels, scores):.3f}")
print(f"ROC AUC: {roc_auc_score(test_labels, scores):.3f}")

When to Use This Library

Ideal Use Cases

  • Network protocol monitoring: State machine violations, unexpected transitions
  • System workflow validation: Process step anomalies, sequence deviations
  • Communication analysis: Protocol timing attacks, message flow anomalies
  • Quality control: Manufacturing step violations, procedure deviations

⚠️ Consider Alternatives When

  • Large vocabularies (>20 symbols): Traditional ML may perform better
  • Continuous data: Requires discretization which may lose information
  • Very high-dimensional features: Feature-based approaches more suitable
  • Real-time constraints: May need optimization for high-throughput scenarios

Requirements

  • Python 3.8+
  • NumPy

Development

git clone https://github.com/abimael10/anomaly-grid-py.git
cd anomaly-grid-py
./setup.sh
source venv/bin/activate
pytest tests/

License

MIT

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

anomaly_grid_py-0.4.2.tar.gz (58.1 kB view details)

Uploaded Source

Built Distributions

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

anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (401.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (495.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (358.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (346.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (401.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (496.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (358.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (347.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (401.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (495.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (358.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (346.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp313-cp313-win_amd64.whl (203.0 kB view details)

Uploaded CPython 3.13Windows x86-64

anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (352.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (392.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (494.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (357.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (377.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.2-cp313-cp313-macosx_11_0_arm64.whl (305.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

anomaly_grid_py-0.4.2-cp313-cp313-macosx_10_12_x86_64.whl (318.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

anomaly_grid_py-0.4.2-cp312-cp312-win_amd64.whl (203.0 kB view details)

Uploaded CPython 3.12Windows x86-64

anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (352.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (392.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (494.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (357.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (377.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.2-cp312-cp312-macosx_11_0_arm64.whl (305.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

anomaly_grid_py-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl (318.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

anomaly_grid_py-0.4.2-cp311-cp311-win_amd64.whl (203.5 kB view details)

Uploaded CPython 3.11Windows x86-64

anomaly_grid_py-0.4.2-cp311-cp311-win32.whl (194.4 kB view details)

Uploaded CPython 3.11Windows x86

anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (352.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (401.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (493.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (358.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (347.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (380.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.2-cp311-cp311-macosx_11_0_arm64.whl (306.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

anomaly_grid_py-0.4.2-cp311-cp311-macosx_10_12_x86_64.whl (319.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

anomaly_grid_py-0.4.2-cp310-cp310-win_amd64.whl (205.8 kB view details)

Uploaded CPython 3.10Windows x86-64

anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (400.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (493.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (358.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (347.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (382.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.2-cp39-cp39-win_amd64.whl (205.9 kB view details)

Uploaded CPython 3.9Windows x86-64

anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (400.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (495.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (359.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (347.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (384.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (401.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (495.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (358.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (347.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (381.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.5+ i686

File details

Details for the file anomaly_grid_py-0.4.2.tar.gz.

File metadata

  • Download URL: anomaly_grid_py-0.4.2.tar.gz
  • Upload date:
  • Size: 58.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for anomaly_grid_py-0.4.2.tar.gz
Algorithm Hash digest
SHA256 5be8245842fdda51dad8f1300e63261d56f2492a73800c848fbb8995bb6c1e54
MD5 7dcfa225eade8ad89a741d3cb204c624
BLAKE2b-256 7684bc8b0e72fc9fa9d0d06d80b3627f68db60ea4c66e898adc41a40fc0e9c7c

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 029ba7a77bf0b98e6936f4025b00d9426d13ac6dc1ec5368d702d67baa949aab
MD5 f7453ba26eb352bdb6b2a9c706cf2365
BLAKE2b-256 278d5e083dff757aa5212a634153ce8b9ebef404cd266b95a895b43c3ebbb308

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 15feaef4838daea57189a23b9a4b32b4fa27ec9283055a482a635f81c76d259b
MD5 e858cef7337926d07a862098c6349693
BLAKE2b-256 7fb7c6f77abfb412013e4ec3cf36930b1bb427bca311d60750cec27a5f42f968

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 83bc253ed2dac50bafda79ea2da392229dac0602ffe6218d38f32d0adf629492
MD5 8d38956714e5f194efb78a4ad4134454
BLAKE2b-256 fe93f15c4cb5dd7d38bb930e23600d671c3c3b5aeaf6aa4be28c5a6eea606870

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7800786fd4e5deee1e034dc7f1401658643a1db745836578d29f8212894436f1
MD5 fd6402be0f0ec8d84d5b32eaad6b2dff
BLAKE2b-256 523a585758f409d474812f803f3c0d62b92989c1740ce49729ad92de303cc43d

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a1e821bafc1d6c03d1a201008b31960d9fbfc3cc727f0a9171fdaaff299e75aa
MD5 caf2ae287da397ad4478044bf7d0127b
BLAKE2b-256 8d62276d4cf8c907cb9e6a0e84bff3a6ac5b8c472aee2309122cfd230f0a8ae2

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 46cd0b48690fc0581af50a71f31dc52b6933188977ebd863738675ecbabde926
MD5 d1c0d96b4fb867f25f5c609acfacf133
BLAKE2b-256 05b27669c5367de701bb24f90499bb2bc06fdb93ce618a018e6cdc3a040a407f

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 89cece99f3dd9e28b49ce1d8b1c7788ad4e01527b62db723d2d78572062cb3b5
MD5 39ad9e9c02545e3f684b6e1e26ca5075
BLAKE2b-256 df9c852abe5cbd1542cbd05e5dd2b6ee7cb0ee8052d1b164aa3807b91d31050f

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94a3008ff6bae4c746ee67b32fad83470d68e31c8019ecb44ec1584fa575e4b0
MD5 8dacb7885de3a34d466dfc7f9b2de30b
BLAKE2b-256 a45f4a29e16ba95c3d37558c8a240b1d12c706ab618e7808018ac8efacac8365

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5c7f4c02d0871e3fc6a13b3c79b0a91000ee894d4cc8b6ae7c514f991e707c5c
MD5 fee69c51c66cee3c73ed15adb07fe452
BLAKE2b-256 e54591f1727c035ffcdae55e7f7d02c6eb47d383ff600a97e78bd9e380c32b18

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7aa95caa83ccc6d4bc63e55a44fd7e8795f48dea6232eb70fcf117fb86b74eae
MD5 f6006fb46383f739690e7c4467adbfe2
BLAKE2b-256 347545d0878d56eefe78e4a4216782c063cb3b6dc56f38a85a5d0e45161d4cde

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4050b24fa7a5b741c42e9f5b94088d255f81b82c5cb30c4da96dc370dc964c4f
MD5 dfce1462f354448cb1b50fe411a961f1
BLAKE2b-256 f827dfbd515ad58313ac5cb5d720c0893c762aa38bc747cbbcddf50e11063416

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dfc761f0ea317d2706c0805128e44d7e3a6b9e98d2db163dc0a63b08f7d1a676
MD5 a4e338b427e581c720ee762b7642de08
BLAKE2b-256 f3e55364b75b6a80daf8f119dfcb6212f3ae9cf6c066a4d7df686775f33cac6c

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 859d83255de459ff33a2870b65404adabc4840a543a91c98239b1936d8022555
MD5 2836ff802cf3964249828b503d1fda41
BLAKE2b-256 7f0cadff44063ecebe3aac8bdc7b428e51402604597ac58ccb8563295b035a49

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8d5a4860b4f95b9f0cc25f5ebf02c8f3f6e44b2375c45ad911bb6a0fe1b720a
MD5 d308685845bc3c2de73824beba60514b
BLAKE2b-256 b274a5493982eb069727382121895dd23563898bdff7ed6215d25051a17a7351

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ffcfb75776fe16d47fc9c59cff01f789930409bff1d9f9156a4fcd85a8f90667
MD5 5de47d8227e9d191e41b31130253a30f
BLAKE2b-256 77228d1730757b10500f5e5512e2a3b734fc1aea581dc152e356dbc00dcbfdaf

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f001883f814e7c2708324e4ce31f1cae437e457823f5908ead4b88d16ab86343
MD5 38fe0e7857df430094b6058026d6374e
BLAKE2b-256 cc752993a938d1e58961dc0132a4cee5bda6912ecb424ea37200eb6e80a8d068

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e24e56170054555122bdf9ab5d9454a9d197a8a511f136dc28d9e815bf8925b2
MD5 c08950d54a22a6447742310d1d446277
BLAKE2b-256 92530e4910d8bb22771ef9e2e49a724d5cfb6a9ac398ed2a054ce6d69280033b

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ee5e73d38a6716fd71800a0296e276daa2f1d2a33d3e7fcfbe78a4433e57cf4
MD5 cf8e7dafdcfcf56c709636100a117821
BLAKE2b-256 3bc3d144029acdb087ef57de0961894ed1f07e6da8c6700b0cc3b26fc398045a

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ac261de4d5b5937b15dd096cb9fd459c5e0cd4a7e2829be5ac60effba074bb11
MD5 6c2c75740d1ae5c456ffee3d4cf84a20
BLAKE2b-256 122861b6fa7d0c9aebb3613fffff46f9c25f7df793704f3e62d550ca962744f2

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a89e42a32a78d104558656bb8041b14cb1ec960ca1ba341f177733f2a612fb43
MD5 6cbcc39612ba20cd04d8ca9948cad597
BLAKE2b-256 d778048994230b817357efdaa919cc51dac318b6e1cfc59dd8b22e5f5f31f8f0

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d1a3c318e97512d82f0e3d62643d465b9458e7a2f520a86d9289f483aec6a6a7
MD5 65b9b56bfd85f7e39ed2e0f7607eefb4
BLAKE2b-256 240a627a4267afd0c5f31a02132d54d5f1353505ef0b5705eef150aec29e38c6

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fbc67889fe41e14cdbe4989c346316cf8102d1543583503957b3120d7e1a5b97
MD5 b88af067fd8bd0859ff27a89b8d4efdd
BLAKE2b-256 2e1f6d047f6eca996326670df7002bf7589f7c0ad0cbc87eb03b86acd27060cc

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 922c51ac6b077455384fc91f3de7df5372a836a00064162d63f732bf5e598390
MD5 2fbcd6f3143bc7dc3230b0d04193cd00
BLAKE2b-256 afb733b8d693f6525aad0b01c2134a602a29e299f95e11cb174004e61ed4a996

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 7dd29b2e9593957dc833ded51e48eebbfe9711b6a748017dd68425487a70f6a3
MD5 58dccda01916e1c601563b79f52363ef
BLAKE2b-256 6d3a5b4cacdd52a166f8034eb3b0d79bfc1515fbdb79882591bf80c005a3ac43

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 82cee0086f8a28d4ffc845731bf2f6e6b82d90f3f4afa7b299247c86be698587
MD5 a3b297e87db507b12247b5c905cd6a10
BLAKE2b-256 60c0193830bd2c8ba5bbabc56ce2573780e6381f92f65a985ae1748636d77f5a

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0e3ca93e7a35a4f386977e29d68449a04fa9497d8f39e68cd7ef88c6530efb8f
MD5 cd5548288dbc739c1ff61f3211d594b7
BLAKE2b-256 976a400dc2ea11062ca3e93cc42ed32d173e86024f6cdb08f2ad633c2faa5e1a

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f60c438126b7288ec446224d585bd5872f47b72e1d23f96df9c18028d88d1cc4
MD5 0cd0269f6419f5ce4287d328209701ed
BLAKE2b-256 095650a2b6159f60c698cbcd38e986a96d9923afd5cf0cbe37bf2520b1c24c08

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 fc3260ee902ba3dddf0f1aa8fb7138e717f8b02eab1a7e0958ca8a029cedd19e
MD5 cfd95bb33c2404b2e64340c9af8b05a5
BLAKE2b-256 4ab359a3a811812d90b897ffc05a75629e2cf58330f7a7078fde241be372e8e4

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e68df7ca84d2df447bbc6fa4e4f72a77dafc63b14b893e437360d30db0052325
MD5 812942532ca2ab6b8783c6337b5cc5eb
BLAKE2b-256 51be96a372e658884ebebdb40ce992112dd8ca4a8bf7bb2e694023b5d2984706

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e161182761edcb90776279ead8aad20aec0d0d57902580acc06a4fe46aff20b5
MD5 5fd86c6feff529f97ca9904697411f7a
BLAKE2b-256 fca4524bbab1a2c79cd0293caca4014b626e02aa8d7feef392a1d792c1ba0d5d

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 62b67690361a21eef40d2303c22e7e43fdf30a70a8924fa52433e23cf85d1b6e
MD5 786bd601f1557c3ef92ef676193ee647
BLAKE2b-256 95e6736e10f06c4b28a9dae89bdb85d0d5d3df747c65d76b9e970da600328058

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 25cd4e393b7059c3ff99ccda0ca9bbc12f86603d03d12f9d4e4c3c4838abf6a7
MD5 5fe32805d59aa425913ab6f12067c0a4
BLAKE2b-256 ac1a5ca955e289023cc8f3b25a103f63e3c8cc3590a135413fa63a8fc7856a0d

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b37f1d24d7405f8a93476f432a82d21858ff0d5b45797718de8909ae98fcf37
MD5 1221fc64b1b872998314a864aef2281c
BLAKE2b-256 87b9e832ad836958550ef735714794c523fad442fdf72d3d29d092134b1ff1ce

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fed0c0bc7060a788686fe861eede660f12a75f7da7a3f5539dc5eebedb34e87b
MD5 e4494007a75d3c0286c29b31e6ac3f1c
BLAKE2b-256 f6b44124aa64456c6cd026f19397a32a4f7f51eacfd8c9e35ae06a78daf75821

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 589b702141e1511bb8be58067069e63f9d16dc9a9e50a906423c00b4084e5acd
MD5 da5fd6c1680373af0effd055a80ec8a9
BLAKE2b-256 7fedf57905216133e2452896648ecb725a4def7e9060c367808ed726e0f43e1c

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cae95f3943fd8b3ce1063ef90a67ead9a4c723ff5bb35dcc932f51847f41fca1
MD5 fcf9b35928a8139ff751119a7abd1c60
BLAKE2b-256 1795e024b2dfe71ef6256a0c142b04f3446dd043190a912c527991228a793874

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fae619b29972fdd7ab3d7e8df7d7312a6828ef46b6f145fd14360e6931462d45
MD5 6787bc2c10ce794c073fdbb7a076e2de
BLAKE2b-256 71fee3ca101857ab9ce81ad620767e8fd64477cec7ae29ecf1be068a26d79fe8

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 f2bbeae7380a968b3409801924c722a1c9e01dde63549eb587a355125e56eba6
MD5 e55ced4d7d377f7384957e3a9e905170
BLAKE2b-256 37759fa4fe709dfa76f51bc0e8feea5d38d2299b90c8f3e17cd50e16d81aee2a

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5fc84c07e8c5db41b092b1e7675e4d398c96b3a0c71d45b8a43f6238d9d9f2dd
MD5 6b1b23fbadf6df9b544876a49a2f7eaa
BLAKE2b-256 14a58df7dc3035688c94dcace99d12f8b138fcf3e4bc90caa016d1ed5d620dc4

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5b5ae6b06ab30b0c68ee753cd732036eefbdbb418bdbb144d86e912a3c94fc08
MD5 1f0fd47e7aa943ab4e540da96ffdda5c
BLAKE2b-256 f44f275165359937d79136b9c7cf99ca0b76e8fa4e42661a17926027ebb3badf

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0d02f55ae2ba49e14b17bef4fab4f53510a36c59b08d8e6a42558c6a7c7be1a4
MD5 a97942b070b0479fdd6fa6d697198d2f
BLAKE2b-256 6778fdafa7f8d2423f0bace2ae93ced6c6852ce3004ad82f5b85a484949216c2

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37294b1946ca2af2e7fac470eced1298c6b58c6bf3d3a5bc06f4995eca6c9c65
MD5 e1ca6e9c56343be5d99676885acab9c7
BLAKE2b-256 b53f0d94194e0f2186b4a19c3abfd26641933ef1ca6ce964619e88205d35f495

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3790e87a0775a9400870ae5720e2ac4ad33bc42d25c9903bb45a7ca5de07e33d
MD5 7652f23c3164ee20106c34122fcfc36c
BLAKE2b-256 b87485ab80c61b9b422bbe830ec71aa487190ae427e0ceabd418c1f9088fd25f

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 39237b3671b8b4e2d33204ea2db21738b1bfafe7aeed945016def27b5ab39832
MD5 686f9cb7231afe42b2db912fd659ad11
BLAKE2b-256 32f48dd242ccd0f5cebce422a8c859cd394f8e81175564dc229ef2610a0a1696

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 766cda51fc55ddddd6dfb6fecdaba3929bd1d121de7ac4c9b1ee13b312d05bd3
MD5 1c56cc57e526b5efaaf05fcb32c8fbbd
BLAKE2b-256 d8a7bbf83f95aa3569294c2092d0a688edf1f16da4e426bc21a53821e9917fe4

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9eccf556ea80b1ceef13bc8a85ea3ef00aa3d09a5388490bbefbb3d1689b2bc
MD5 3be33885a7a54bd780185e6925f021fe
BLAKE2b-256 dc7b35ed1148c22944fe59c589094ecc738379f04801e99afd516387af7ab67f

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 848089ba856819c6bc0fe912388d993c36ad6c68cc5d124c97b3348c3b4a6b44
MD5 169495529bb685fc18bb0ae3410924eb
BLAKE2b-256 21e0af83829d1d20c4ef3dc473b9de505dc6ac0b46dee7367465e7305d678be0

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b8ef20fecd8b03eb9c9017881267fefe3fc55facc4faa193e9f063c310863e72
MD5 846b6754767d56481d3de9528f085009
BLAKE2b-256 24f96a4bdcfbe45a04207084b2bea377269dd2a111d71b8c187c2c1d6deba77e

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10338968b55a84a27f08eaf5ab0df6051b35298c4bd8cba7671e0f89e9767897
MD5 a1b4e11f13d1ae158b37a9f10eb0547b
BLAKE2b-256 0f29eb35adebd86e3c8399cc90886d19e06e9f4e87742a416ad6749076957987

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d6566c3bffd6ecc91250f6fa08869090d0b51444c07739ddc2d4818d114127b3
MD5 9dc7c24fc0fc872c8158f1623ded8d13
BLAKE2b-256 79366d558951629352ccc056f1fa630b356d81d9defedf08ab16a2b270c7d813

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9dcca9643cd7ee47108d5f4983aa390727976f5402c5513990cbe2798243f64c
MD5 d815248e4588f938e0c9887fb870e2f7
BLAKE2b-256 b4b4934d40151f899438ca4405438c810a8272ba4d1ea9d81fcf6359fee24f22

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c4f1233fe98d5ffe71c9bbf1698da761c2a2bff0e05b1949b070ae7135d145e4
MD5 77838c9191986fecb1d3917753e7f158
BLAKE2b-256 5b4f77f9e48659cb2792161f6ca49181e62ce65a6bc7593ea86421e7c4bf9f4d

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3d4816f28bb98820cfa980f7e44bb8781c51505bd8a15083d0aafb7c3b88a974
MD5 64351e850d088fc3220848dc7f3b2b06
BLAKE2b-256 8ec04c0ed0ce62b7f5703c5a488865acf83e4d89e6d58716176685a41ac86810

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 04a832ccc18b016eae253750b54ba857e0417b40359f8c001732a0f1d372ccc6
MD5 a715977b89c581cfb7f5fce5ad6bd140
BLAKE2b-256 c136b5eec0d5aaad290751fdd2c887dd65a0fa4cb9b61e5053b785bd9d9639a8

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c0917dee6f2272cf281036266a13bbb3cbe9d989b5e46fd348a6c686d63bdf3
MD5 edc5d824d0edbafd5bcc6e5fce8f3a67
BLAKE2b-256 aa57216568e161aa7d4b59360a2ee98f8e1771107fa291703b1d63874b1dd9be

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6582c256aa3e96037174bdcc5deda126aac36fb30c5cc129de38b1b4a92c9e01
MD5 f0f98f545a3ccd4d1ab36c8ba29efdfb
BLAKE2b-256 a8b2b6a46e93823bd31ae3e83ad3a31a5f63d04cf528b4e6f7958f2dc448469f

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 49dffbf2f1c0d8604e80e26afc22a9474f9c0e9aa7afc0c583d4c105683ea20e
MD5 26a9fabd627965a2045f8beb5da2a100
BLAKE2b-256 ffd4c64b0fe5941ee6b15ecfd34afcf09b7a90cafa3d37a2a7e9c1baf939f570

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f8979348cad9078d8526128dd81f2161256fb5cf22e7cf3eb98493a71b1c0f8c
MD5 1ee62e3cce9bb657de1adc3229254800
BLAKE2b-256 7a95b437645b94a7165502d43a7c7d59faa03738a156cbb406150d111b28eeeb

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 90d6cbedbfa2a5ed9551edf0e15fa901a4d998cd9ce8f80f0e2451c0dd4f7c70
MD5 86bc16daca7bd1cbb3d7d8f99691f57e
BLAKE2b-256 0bcecb04dede37feadef58a00f903c8b719f50f84cfcd77c8ab360915544cdf2

See more details on using hashes here.

File details

Details for the file anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 fa4c9cc98eac7a2d06866680982a7fcdd7cf2ec0bbd254db84805e33d223dd91
MD5 3e67cd4d2694af8752e2bc9f2fcde701
BLAKE2b-256 a2f8a1a29120ff4fa079cf2d51bf4b65ff6896771b8f90da6b11298acde90caa

See more details on using hashes here.

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