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.3.tar.gz (57.6 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.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp313-cp313-win_amd64.whl (152.3 kB view details)

Uploaded CPython 3.13Windows x86-64

anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (262.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (280.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (246.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (282.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.3-cp313-cp313-macosx_11_0_arm64.whl (217.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

anomaly_grid_py-0.4.3-cp313-cp313-macosx_10_12_x86_64.whl (226.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

anomaly_grid_py-0.4.3-cp312-cp312-win_amd64.whl (152.3 kB view details)

Uploaded CPython 3.12Windows x86-64

anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (262.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (280.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (246.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (282.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.3-cp312-cp312-macosx_11_0_arm64.whl (217.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

anomaly_grid_py-0.4.3-cp312-cp312-macosx_10_12_x86_64.whl (226.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

anomaly_grid_py-0.4.3-cp311-cp311-win_amd64.whl (152.8 kB view details)

Uploaded CPython 3.11Windows x86-64

anomaly_grid_py-0.4.3-cp311-cp311-win32.whl (148.8 kB view details)

Uploaded CPython 3.11Windows x86

anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (282.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.3-cp311-cp311-macosx_11_0_arm64.whl (218.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

anomaly_grid_py-0.4.3-cp311-cp311-macosx_10_12_x86_64.whl (227.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

anomaly_grid_py-0.4.3-cp310-cp310-win_amd64.whl (154.4 kB view details)

Uploaded CPython 3.10Windows x86-64

anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (284.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.3-cp39-cp39-win_amd64.whl (154.5 kB view details)

Uploaded CPython 3.9Windows x86-64

anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (285.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ i686

anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (263.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (247.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARMv7l

anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (284.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.5+ i686

File details

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

File metadata

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

File hashes

Hashes for anomaly_grid_py-0.4.3.tar.gz
Algorithm Hash digest
SHA256 92f54f58cd05a6a531f04d27fe5205deec674920d0a1e771a67384843cc22943
MD5 1a97611d76a6e6cafead67b3e75956c9
BLAKE2b-256 2ad6a23e9513aec0d1b313a5dc0b4512fa68bd38ddf506e6ccd6e0ddc6ca4304

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 db40d8e284b1893c268573c6ddfaed2342cb8f8fe8274c71164fb81fa4d67449
MD5 e432efbabbcea457cb13a92f072c6d56
BLAKE2b-256 e050534ad3bfdfed476ae853ceff97ca782f7caeea7cc8df8fa523c64b98925a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 83f8b41fda3d5af1d5100f8610b2e913723b435c9eb9aaa82e71b2dafff48bab
MD5 c98a53a7fa140ef8768f60055252047c
BLAKE2b-256 20e90b4de0959a3965c4606b2283af3c08e33834d3ab2875373746ad3f074b22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c7bd9b03203390ea0d73e56325c430a432ce43347079fba102833b1deab9b261
MD5 79d0c11b127b04764ebb3a2048e72670
BLAKE2b-256 26a78a4006710660b05327813e076ef5c2050516a1832725e45289607af02fb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f5a61d534d14f256132a2917b15644b621a6f537b048a0551c98be8efa3beabe
MD5 c0b5e67d6c46932e0ed6af685538f540
BLAKE2b-256 d77ad643d333d2eca752441457ef1e230888e258e225d7b7f38384d6ee7e1e77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a90ad426491e651e396715bca479976e9ccf082d0ec604d5c689fc864a379059
MD5 6b5510b9ff420598f9a9bca1a75707be
BLAKE2b-256 11473bc4dcf5ca525cc004bbbc2767db4cdbcafe5699a000ea804f79ad81de2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1e3aa2808599f5dfb99ec247945dcd60b28f4e82f1f87d4ea4ac131273a93e74
MD5 8dad4b89d66792e0b0e55655a1011b0e
BLAKE2b-256 b15ce28da473e9f8bda6634e929bf9e91eb7c804180db3890bce3932266d4cf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f8475b62c3318243e9ff01d08b2518e5ec1f3663cf5bc4dcfe0d893cda7934f7
MD5 dd7253a56e3dc2b9f0882543077c3a8a
BLAKE2b-256 1cb607558afd73e2c084ff2eda5b7705940dbbef8e28ac74fe3771563a2a6ce5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 071599ec468085e6db7176c56a5f6d57d0efb79d5d74f0406ce514d27f98114c
MD5 36ac13fe139efae80be2ae98579a2080
BLAKE2b-256 b70e2cbb2438863a8c38ad8a9f709f7992ba442bac296ad4c6071513189674f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 62434b1938d1fba46243b1c704d309b4d9ee280c77b7f48979ee1bda4bd5de23
MD5 7afd988b15a22c087db89b9e9714340a
BLAKE2b-256 5fa13e42df5e5ad808e23cc85515fee73ccf3b195e8b82fdc98ad3046deb763f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 074481cc2e92fff55b14b13be39b89592c470a9d1e22024a4d1b52a5622a8192
MD5 40aad965167a5dcc9a71b7bb35d5bf81
BLAKE2b-256 825f12501801c153c3c42358b393a9f26a46b318a026caa630d1cd9ef7511e57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6de16f35cafc71cba7a242c42c7b6862513d3229c9d2f85d9963e2f21da8a349
MD5 d82b878309ae9b82285ce320e8fe8850
BLAKE2b-256 1c56d44df0ea55803f258e1341ab8a5c11c61337e56ee86da34d5ce24598da9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50fb88aa37fcd5da4bc7323478fea4465d6bfa48b330e0455f2cd6188d40f622
MD5 e7310e674f7f4d37e05753345ff0258b
BLAKE2b-256 bde2cd2f25fe7eeac0d7a87e0caad3412f5ce37bec5d9a05cb236ec539456d61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 15af67e7a0e22e97cb16f4b2d3aec3ef0b76c5cc268b885869811d4f796ba3db
MD5 f5798376660bc21f0b841caaf90ef1a4
BLAKE2b-256 a2f1c66708ef53de1044627bdac3075fa6658b713d937592f8f73d10f13d6497

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6ea8c6e3b9500371d57f5ebc3dfa7bfea14a165146964f968827d83c0b1aed3
MD5 c4840a9816ce72f0fd3b752acb61e36c
BLAKE2b-256 bdb643fe5af7a0a6035616cace26b83fe45b5919e94b1d41894bc18f8198dc34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2b603f3b7f4df6efd29ee3277b66fc19a619f295d5cef14a84b5d3b2271c2f12
MD5 0bf6375e174413a3be975ce4f23ee559
BLAKE2b-256 6b2336ab7755f98f1dc0078d5640005596dcccf246dc95ffa9c25b2cdd186665

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1abd2f5f2abeaad9fd140ef757dd09e9764d0580e2db2d374357dd0f18e89268
MD5 8376adb4d4ac215ddb335a949fd16eff
BLAKE2b-256 a073eb5f0c84a31d9d715fa242e55086aa0f45eec5f2e6048e0529bf1cad61fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7aa0b0561dc79b0b9795d94a1c6e5403641ce973a5e0cff8342c2aa5b923580c
MD5 8e1fccde9d44da0a71af0ad1df25d5a7
BLAKE2b-256 d6f5e4d299ec844e0189ee606240acebf698611e21c0f75e773505614288152b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d4af8af5c54cd07d05e41a89e36a3ed2fa44e767b33de4b2f7b0cf2f79688abd
MD5 ba1f94abedc9a93a74097103d42b3e91
BLAKE2b-256 3f8947d47b80fa953eefd846348fa460ba9341db242517de0bb6c5c95503dc95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 6a90a3384532eb6164c82b032252e75a7ce1b0917f82bfc5a8f475703b648014
MD5 2b30b65f15083f51b426d13b3f3fd924
BLAKE2b-256 6268158383659765083f487f01129838983f7c2e88a4b5598ef20d3041be545b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 325b127e9c8c958dc8bfd8dd98c81f90f8f8c8cc31ed20c14e15d06704dacfed
MD5 dd34559f052ddfb9d8c795c978b28c34
BLAKE2b-256 02ddf647f26846098c3c72a15be04bb763d821e246ea6c5b0f19732b689fbcc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dbf80b55c6cc7ae86e89e439c1cf6c83fd45c6d718458e523c1c685c5f53eda2
MD5 7cee76ee81d4bd324159d27bddeaaac0
BLAKE2b-256 6c1eb2b3028ca7fc2d517077c0118990f6af9a08f5c7c9db9e18b27c6f61274c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a3a643a7158384f0cc348973c597f19baae6f2633a5c028e6c68898b6d8a05c2
MD5 2d49f26a7500eb192a034c466ad320c6
BLAKE2b-256 c38f22b28b29b673cd65f89709b7d15f58e4f921cc21f223aa7a0ea372898be1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67ef75c4b160b85158ac32541aa4d2ada569daa787e0efc567440f557d9ad802
MD5 683cce2d72b0042ca97cc7846a3c7be4
BLAKE2b-256 ea760a2f48814271edd0b0fdcdd006514f033059a4414862bb9e487face7497e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 40b9daf8f11e60a8e369181dcac440eebcaeb171740af2f10c788638eb65cee8
MD5 11583a64733856e732c150b837d45f5c
BLAKE2b-256 7dd8adecbc1ad3e36da38ec2c35c5bc62f9b83c4b02b0440dd86f52e3e8d60ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f64e78eb023c93e5e3524aa040c3698fcfa9f77b2cd6a2c3bb484f5e03e44b82
MD5 bd59a050222e06c7715dff8c377ba8b0
BLAKE2b-256 b7d398b29d210291e1cc5e47241104b2f8b107ccaaff1d096b6bee9ea7873c37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1f879d9ce5f27febb9f27aea13747d03d33d67512f739d02a8d7a7588db39051
MD5 9799b61a9b6688bf41aacce3daa16319
BLAKE2b-256 1fac6a451d5847d9e4fbf68c997969a5074fb39cb9969e48b4603b7a98da4b30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 718ab4f43dc74730cd947592a1b1291aa0fcebdfbd912881f26effdda3906204
MD5 7232f7254e05825caa4e68533c56fdb4
BLAKE2b-256 be1bef86f45ff15fd40db7284551413e45f093d7d1c430bea1369d11e1bbda3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 69651445b6c3b20a3601776053793da616e0011b39ce30c90eb8d4418d2847fd
MD5 9100c82e811c872fa12b7bca25ca9ce0
BLAKE2b-256 333c345d86f223498d8f0fbc9f2be0df332639c325937d8daa4c52dec2ce7733

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d867410523d42eeb1fc1d0a5ed1e46022e49a9e2544b7a84dbfd929f8a42f781
MD5 2ab953aceae1a439c65fa3a1cfa2dbef
BLAKE2b-256 8a1c3915dd924b702a9583566316f4cb6c0467d8fc4b0e8de85c5d51bb0fa771

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 01cec2f439c38d65aebb5501b2c3c708a5c5fb6fff64eba38aac06aa855b2e7d
MD5 0217443a2654de0763949d609982390f
BLAKE2b-256 3bd5e8028b0f27e2d12e9d81bb88f9c5daefe891d0670cae06d282d42a45bdcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 22a0419af28f6a7b6220b79adb17e1c13e65fda1f4b276ba92f9f8767b6037a7
MD5 135e16741c04799ddffaf42d0d23c3aa
BLAKE2b-256 0623cf62ab58f43d812eaacfbecb64e0b8d492ef0d996e1c278e763abb5efe83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a36b4ce1cd08da45693318956dd52cc8b3c91fe1aef4cc0a965fe9980929d98e
MD5 fe55f321543710db3232c2000d923d77
BLAKE2b-256 eb0c2d52a4d2d5e06cf50132353ecba743360f9f1b3b4ecf28abcbb8a146248c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dadf66885950404bb24f6b04dbc60896948c3a279efaa483b95c13cd463af0ee
MD5 d69c242e4d5355446bf964a22903f38e
BLAKE2b-256 344f5bce1f3ffaab1a67d5aa02c73da8dc9f5a88964be94fc1ff916f94dab1f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ce8383d56f1d60013ad66fae83eca702d21c72c38d7cc5fe8cb40466ff37366c
MD5 82d0d651e364a6611e12bd1949ebe5b2
BLAKE2b-256 d2d424af2352d96037cc75f99e111792de53bc73e33d25d133885d6504b33a3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fad5e8b3ee71a9765c838360ab34a0b869da948822568f701dac90506403d053
MD5 6e0904559f33e69bc66f9e076c72493c
BLAKE2b-256 c393f567f4b6ce9bc1d349a9cb31722af9ab1f0077bff73fa5284348c978796e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9de4bf815180c4740ff25ee1a94622786e6e9e62865f7daf719e24263de219e1
MD5 9443ad49120965126318b37c54ef13b7
BLAKE2b-256 0ea236c8ad726e9123070e766b1ffb449002cdd75b3540c16ea724fd26759a63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee866462bb2e1886755d8e64aa73a92c1256cb8790c55a3f5ec93e5fc0557524
MD5 4772e2650901e23092775761a857a314
BLAKE2b-256 d92735c78a4fedfa14e270c78e9023051a032bf0c66378480be16073a9a7f869

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 92d17fa099f5f6d1634892c95340352cf337b26a91f5699a46a17b1daf18d4ad
MD5 b9f4cc0583082dff72a82eaac54abd39
BLAKE2b-256 10b1667800faae477ccb2051d27b92d5c2136b168d5b0d58a538f5962bf74b79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7a1ceb811e6d0536545cd76199c230a36a38c84b377aef8749d9a83f52ab4dc
MD5 3a1147ffceb260b75fa26d7024c27628
BLAKE2b-256 0ad9c6b6088ced190c77eef6feced263abf43ebbbfad60555076a7a5593291b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 edc78056438b63ce18a7074cd27d9fdc85316e7ec336ca831e8f420c93931449
MD5 20cc0a1ff4a26137e1f324006cdb21e3
BLAKE2b-256 c0660d8a4e2416b2670c705a90aedd498d14b990162206e4edb4bf5ebaa504eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bf906eabcd47c3ea97253e2ada6037ac50a7a4df06997aa29654975cce2d1dfd
MD5 ba22d7180a397be237f91fc08497b9c5
BLAKE2b-256 3781c7dabe1ee75809aa8e1c2d317ef8a066498f75ee3e0ac784980a7a72e1a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dca72d95f7c3252bc7941fa04cd7156cf9c9c9e3cf8208571d25dd1f533c2e7
MD5 ad808598970fa7cfa532a88058025bfd
BLAKE2b-256 b72125ebfb2af7effc810b87cf19328642c75cd5ca037e8e745e26f7e585fc22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a6f98092cc01bc251a6b61299769dae6cd0504cf316cca93a0b13de34736d825
MD5 43365a65c85ebc46d4c28b44e62c12bd
BLAKE2b-256 a55aaddc99a83b91c08c380d22bf125f3800c5ba78f92e302f38d1965480a054

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b4a96c5fadcda68b89b49791ddfca8d897f69ac38aec6e9c2b138a6a987b9f76
MD5 f21db755e5b753130790f2e14657d2aa
BLAKE2b-256 fe0ccbf39396ee19032bdd3fb933f083ee924ee8d59ce179ea3edc3097c4414a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 33dd3613467ae096cc064e84d2685d668d1da7bdc01847bfd964eddf8bc7ceb7
MD5 43c4cc981af1185d4ddcc76a192a97a5
BLAKE2b-256 d88239bafb7633cc2eced81c5a98b2474072f64a45556af21b0a29ed9fcf37de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 030fc4f773d5c660b74bc40714ff9b3e119213a33767f5775e4f869734f89110
MD5 53995aad0344fb73bd8ef2647d94e6a0
BLAKE2b-256 2488f84924ca2eaed52703b44d7a7efff109d0f6c1d9da48ce7281c24bb0e15f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 eef1aba537588feb4ac0433cbf261d370523d3c0dfc4a5cab33bae683243ff5b
MD5 a195a08c3eebef15916215b91950b200
BLAKE2b-256 530d8b7f2d8e634bca7fd9aa410a190dd6a98927f293a8e1d1e326391166f00f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2aea2efbf280335baf7da6801bbfb9b3a4fef7b5cc7ebfde55355d9590444444
MD5 d52ec1ab5508b72cefdb7ee35e31b236
BLAKE2b-256 2d615b2e048445a3b9cf66f5a2bd8bde19e0fdb82adb0512d42f96b6f8c9a172

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74ff6297e423353331f381deab2573401928df0a4dfa54f112d121a8798efef4
MD5 b5b73be96728e98116d04f3aae36f588
BLAKE2b-256 8513ecb6063273e7a2c95d19aeb47ccd9805823efed929276d8a14491fc4763b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 988d8de1d10cfa1d93b3ca7277997145b27ff4ab67d5f3c9e19a084dcd7505dd
MD5 7f27dedda45b3937e5ef9f4c5d38cba1
BLAKE2b-256 82c6840decc8b8e092c6380c2e1b07415a57077c120c549065722d990c7ba337

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 db2db044d807c0e001e36bdaf6ad36d6a5d2453ec445831602fbd345eb9c4043
MD5 ba359ab430804d46e5d1b5cca857fe2d
BLAKE2b-256 2c16b48faea8cc7d7409b930b8db79a03679370acf414da308526f77c2d33697

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 69a13e677a4adb8d96230defb7dbd585ff5df437dc7fcd142a640d66799b8fef
MD5 a9eb4637865e6a27bc360a853827943d
BLAKE2b-256 4270f313d5e7391044adf401baadb748051500b1c454aa9c6dbd66b249810ebf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a16b7b67370ddc2dfdd72af1dcf94b73757b5a077b9ea160afe54ad35ae9ac8b
MD5 3c9695a931c26458f3d6c80fef3f6990
BLAKE2b-256 b2e26e61c4eb1d297362bcbe109ead50f670cf190faa2533cac7ff2958936fa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2f50198df44ad53db55a1ec8c87df3f7fe78a107f1bdc76fb1d0c5453fdfc159
MD5 ee9ba5fa43f28ad12709dbcc64face46
BLAKE2b-256 17a4ed25314985ad9ba086c619d88e2420e0d065df0e19f83ccd5fe9d199e047

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd71205da33c962c221896a7e605d9b9509585cdf7fb3a4d313e30e50a2a9a1b
MD5 a0d92bfc1d236a877518c9cc0bf48810
BLAKE2b-256 bf498a4ad9aa0489443f6b632d31ac1d4c199fbd957282fbc1f653e17c593560

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 cf3a3623196bcba8ecab3c148fba878c96c26eeb747665f971868c71bb754557
MD5 bb903dde0632e5e922f6b089ed45f0b6
BLAKE2b-256 75f6f81fd91fa771444b872234391b3269a54e74ce968278ee9c6a8af68b9f9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bad25fa2caab278a07dbf8f94e1ab7497e2805871a7b050cfffc663e301ea652
MD5 3b6f2ca60d03aea3e78ddd7c06767977
BLAKE2b-256 4c20e82b14bccc1ecb8811a2a27df4bf750f1f0e8a2131493452aebc1122e38d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a6ba24818f0648804a98a78d95655784f4565970846f3ba93c9bb90738c7df41
MD5 85f4e5c9e31abb612ac942f6c6c731ea
BLAKE2b-256 d6f1d5018260716033ab1fda63df7cec6abd77771ceac16be6204b04756b2dbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b578f705b5071885592ea7d7f11611c9c6d4aed67f18fa60a70b43dd2569270b
MD5 8e7a7925049758d66c8793821502c93c
BLAKE2b-256 61872f78b0cc39260fb4ab9066fc0652f6172f8adfa00643f69c4730a415e225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anomaly_grid_py-0.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ae3056cee30c9bc81ac1d072478a17c3ff26730c4bb42a2cb3f07d10d7034e78
MD5 9186230ab442386b2e0bc8931c08409c
BLAKE2b-256 a18b79b96a08156e2c17b64fff833acf0331745efc1fca413ac1f312b24ec99f

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