Skip to main content

Dunimd Middleware Service - A high-performance Rust middleware framework with modular architecture

Project description

DMSCC (Dunimd Middleware Service)

English | 简体中文

Help Documentation

BiliBili Gitee GitHub Crates.io PyPI

DMSC (Dunimd Middleware Service) — A high-performance Rust middleware framework that unifies backend infrastructure. Built for enterprise-scale with modular architecture, built-in observability, and distributed systems support.

🏗️ Core Architecture

📐 Modular Design

DMSC adopts a highly modular architecture with 17 core modules, enabling on-demand composition and seamless extension:

Module Description
auth Authentication & authorization (JWT, OAuth, permissions)
cache Multi-backend cache abstraction (Memory, Redis, Hybrid)
config Multi-source configuration management with hot reload
core Runtime, error handling, and service context
database Database abstraction with PostgreSQL, MySQL, SQLite support
device Device control, discovery, and intelligent scheduling
fs Secure file system operations and management
gateway API gateway with load balancing, rate limiting, and circuit breaking
grpc gRPC server and client support with Python bindings
hooks Lifecycle event hooks (Startup, Shutdown, etc.)
log Structured logging with tracing context integration
observability Metrics, tracing, and Grafana integration
orm Type-safe ORM with repository pattern, query builder, and Python bindings
queue Distributed queue abstraction (Kafka, RabbitMQ, Redis, Memory)
service_mesh Service discovery, health checking, and traffic management
validation Input validation and data sanitization utilities
ws WebSocket server support with Python bindings

🚀 Key Features

🔍 Distributed Tracing

  • W3C Trace Context standard implementation
  • Full-chain TraceID/SpanID propagation
  • Baggage data transmission for business context
  • Multi-language compatibility (Java, Go, Python)

📊 Enterprise Observability

  • Native Prometheus metrics export
  • Counter, Gauge, Histogram, Summary metric types
  • Out-of-the-box Grafana dashboard integration
  • Real-time performance statistics with quantile calculation
  • Full-stack metrics (CPU, memory, I/O, network)

🤖 Intelligent Device Management

  • Auto-discovery and registration
  • Efficient resource pool management
  • Policy-based scheduling with priority support
  • Dynamic load balancing
  • Complete device lifecycle management

📝 Structured Logging

  • JSON and text format support
  • Configurable sampling rates
  • Intelligent log rotation
  • Automatic tracing context inclusion
  • DEBUG/INFO/WARN/ERROR log levels

⚙️ Flexible Configuration

  • Multi-source loading (files, environment variables, runtime)
  • Hot configuration updates
  • Modular architecture for on-demand composition
  • Plugin-based extension mechanism

📁 Secure File System

  • Unified project root directory management
  • Atomic file operations
  • Categorized directory structure
  • JSON data persistence
  • Secure path handling

🛠️ Installation & Environment

Prerequisites

  • Rust: 1.65+ (2021 Edition)
  • Cargo: 1.65+
  • Platforms: Linux, macOS, Windows

Quick Setup

Add DMSC to your project's Cargo.toml:

[dependencies]
dmsc = { git = "https://github.com/mf2023/DMSC" }

Or use cargo add:

cargo add DMSC --git https://github.com/mf2023/DMSC

⚡ Quick Start

Core API Usage

use dmsc::prelude::*;

#[tokio::main]
async fn main() -> DMSCResult<()> {
    // Build service runtime
    let app = DMSCAppBuilder::new()
        .with_config("config.yaml")?
        .with_logging(DMSCLogConfig::default())?
        .with_observability(DMSCObservabilityConfig::default())?
        .build()?;
    
    // Run business logic
    app.run(|ctx: &DMSCServiceContext| async move {
        ctx.logger().info("service", "DMSC service started")?;
        // Your business code here
        Ok(())
    }).await
}

Observability Example

use dmsc::observability::*;

#[tracing::instrument(name = "user_service", skip(ctx))]
async fn get_user(ctx: &DMSCServiceContext, user_id: u64) -> DMSCResult<User> {
    let user = fetch_user_from_db(user_id).await?;
    Ok(user)
}

或者使用手动 span:

use dmsc::prelude::*;

async fn get_user(ctx: &DMSCServiceContext, user_id: u64) -> DMSCResult<User> {
    let _span = ctx.tracer().start_span("get_user")?;
    let user = fetch_user_from_db(user_id).await?;
    Ok(user)
}

🔧 Configuration

Configuration Example

# config.yaml
service:
  name: "my-service"
  version: "1.0.0"

logging:
  level: "info"
  file_format: "json"
  file_enabled: true
  console_enabled: true

observability:
  metrics_enabled: true
  tracing_enabled: true
  prometheus_port: 9090

resource:
  providers: ["cpu", "gpu", "memory"]
  scheduling_policy: "priority_based"

Configuration Sources

DMSC supports multiple configuration sources in order of priority (lowest to highest):

  1. Configuration files (YAML, TOML, JSON)
  2. Custom configuration via code
  3. Environment variables (prefixed with DMSC_)

🧪 Development & Testing

Running Tests

# Run all tests
cargo test

# Run specific test module
cargo test cache

# Run with verbose output
cargo test -- --nocapture

❓ Frequently Asked Questions

Q: How to add a new module? A: Implement the DMSCModule trait and register it via DMSCAppBuilder::with_module.

Q: How to configure logging level? A: Set logging.level in the configuration file, supporting DEBUG/INFO/WARN/ERROR levels.

Q: How to enable metrics export? A: Set observability.metrics_enabled: true and configure prometheus_port in the configuration file.

Q: How to extend configuration sources? A: Implement a custom configuration loader and register it with DMSCConfigManager.

Q: How to handle asynchronous tasks? A: Use DMSCAppBuilder::with_async_module to add async modules, the framework handles async lifecycle automatically.

🌏 Community & Citation

📄 License & Open Source Agreements

🏛️ Project License

Apache License 2.0

This project uses Apache License 2.0 open source agreement, see LICENSE file.

📋 Dependency Package Open Source Agreements

Open source packages and their agreement information used by this project:

Dependencies License

📦 Package 📜 License
serde Apache 2.0
serde_json MIT
serde_yaml MIT
tokio MIT
prometheus Apache 2.0
redis MIT
hyper MIT
lapin Apache 2.0
futures MIT
yaml-rust MIT
toml MIT
etcd-client MIT
sysinfo MIT
async-trait MIT
dashmap MIT
chrono MIT
uuid Apache 2.0
rand MIT
notify MIT
jsonwebtoken MIT
reqwest MIT
urlencoding MIT
parking_lot MIT
log MIT
pyo3 Apache 2.0
tempfile MIT
tracing MIT
thiserror MIT
hex MIT
base64 MIT
regex MIT
url Apache 2.0
aes-gcm Apache 2.0
ring Apache 2.0
lazy_static 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

dmsc-0.1.4-cp314-cp314-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.14Windows x86-64

dmsc-0.1.4-cp314-cp314-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp314-cp314-manylinux_2_39_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp314-cp314-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dmsc-0.1.4-cp314-cp314-macosx_10_12_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dmsc-0.1.4-cp313-cp313-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.13Windows x86-64

dmsc-0.1.4-cp313-cp313-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp313-cp313-manylinux_2_39_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp313-cp313-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dmsc-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dmsc-0.1.4-cp312-cp312-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.12Windows x86-64

dmsc-0.1.4-cp312-cp312-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp312-cp312-manylinux_2_39_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp312-cp312-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dmsc-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dmsc-0.1.4-cp311-cp311-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.11Windows x86-64

dmsc-0.1.4-cp311-cp311-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp311-cp311-manylinux_2_39_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp311-cp311-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dmsc-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dmsc-0.1.4-cp310-cp310-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.10Windows x86-64

dmsc-0.1.4-cp310-cp310-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp310-cp310-manylinux_2_39_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp310-cp310-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dmsc-0.1.4-cp310-cp310-macosx_10_12_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

dmsc-0.1.4-cp39-cp39-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.9Windows x86-64

dmsc-0.1.4-cp39-cp39-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp39-cp39-manylinux_2_39_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp39-cp39-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dmsc-0.1.4-cp39-cp39-macosx_10_12_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

dmsc-0.1.4-cp38-cp38-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.8Windows x86-64

dmsc-0.1.4-cp38-cp38-manylinux_2_39_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

dmsc-0.1.4-cp38-cp38-manylinux_2_39_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ ARM64

dmsc-0.1.4-cp38-cp38-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

dmsc-0.1.4-cp38-cp38-macosx_10_12_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file dmsc-0.1.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 25205463e0cc73a4a9060de537b015d59dcfe421062a42ebf5a13605e64e4483
MD5 ec957d3993a549ee5158a5f0f268f3f4
BLAKE2b-256 a72cd7ae0b06388b6c43a9aee27108257b0f3351ac6b315749af33264c662e09

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d84ceaf69a64473bf44a461712b7cd7998333070369762836d1865a2763f2643
MD5 a516685a1097ea559b06e3805d7d949e
BLAKE2b-256 289f403a7dde453490a4fb77a1a37f7b6023f09721743108815ab255b82da0a9

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp314-cp314-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 8093e54339c13e8a70f93e2a5980ab4e1183597848d5771a8252ab4afa20b0a9
MD5 b5511455815da76b4873c40a83661246
BLAKE2b-256 23f6c1593a0ae66c76585821139f114743485db5a76a88f097b0e22895ead8b3

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ad2f374fdc21d4e33dca69d4ea7ef8265037e7a97f46d43dba3ed90d1e0ff18
MD5 cea714c24247a5b70bfd4c9877173da1
BLAKE2b-256 10836e9ae0338735c60571c37c51c1dee1ec1bc3116900344321344117d30bc0

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f5e44afdba19101f62300d8d0f6e6b0a1037b8a88a773da49c576f5ea90a3363
MD5 7e5f914939f948801449c82d0603c400
BLAKE2b-256 4ce9cfbe8093e6822181c865e0efeb1e940db69898ce95486f85fbb0600db538

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 75319cc7a1f34b0181f66e94e6b2402f7a72f9396ca057d5f47bc0d7cd4f11f6
MD5 5d70d8f0b670f5e22179687bbf6c926b
BLAKE2b-256 8d2c397f8f0a2fd2ddfb6dfc0a75058fc84842c3a1beedcb4b47ed7d5287aa82

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 40f8778d5eb6e0abce738883f00732e26283a35ee2be5294966e8b716c3f457c
MD5 780cd7819bcc0c439de5a3a04ac8a191
BLAKE2b-256 ec144784e9a34e31506c8e7d126e2519ecfe6e78dfd7f08081a1ccda640a415a

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 612d337b4f8d99ea58b6645414393c296f715c74d650bbb4fa76c1dd211d4f19
MD5 45ea1898945d4a6a770c7b98381e0072
BLAKE2b-256 7c6bf56931d6894c0c3644367659752044389269239e006c36f9be16db3a9ef8

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd224573ebe431035c01836c9d7b7715b7e91fc03d80100095f6690b50775ba5
MD5 f23b035c20ac78ffca7de2e38d303f45
BLAKE2b-256 157cd0386b5cbd6668382d330bc0d1e8e41ca5a7d3781d224f44d314ec45d2c6

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f83a8686ad0c564cd221469c331e57ad3d790587fef35531f905449d88c7b63b
MD5 bf9240d779bc353c8de8652090e9dc27
BLAKE2b-256 67cc0fa90563a9a7fc1e318af0b1236b1f5b33423e972a0b25fdc5ea56fefd69

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cf10bda84fac198f9ea48cc75724eca8170d911776dd007e2349b50088ba638a
MD5 e43f045ba7775eafb3a8eeab10479729
BLAKE2b-256 6bba0ce7c31b88433e90f4581688fbe40bab170c3b87eaeeac8006aab216b67b

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 eaa5f0134ac27b296ecb725042aeaf95e5977ed2f02a860d5714f003ba83cd34
MD5 43eef279e2c123921312ec06746f0842
BLAKE2b-256 3deb4f101a336c6516c78154402da04465913b81262dc3745f01ea57b6a5d69e

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 b888c24b8a999ec4c175a9e1a27ba5434ce528906f95272e599ea34d4f89bf6a
MD5 5af2d74fece54d1dcbf4996e7e2ff327
BLAKE2b-256 2a1ffe34d407a001db873c2b5f13b853cfc180f10571bf51442c80a1e3fb198e

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19b0c3dfe940751cd770a5c03a354e288d46a40f1936c557be427b619ce677e7
MD5 9476e136c328d22f18bf436548317dcf
BLAKE2b-256 3959ad6ff28904ba6194b954f77a830b29a3493796e169dd12bd50e226628a6e

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eeabf5b9cb8651eb7bb13090c5e191ce236baaa5f69042baea31e52e84adfdb9
MD5 83ee5bdbf95bb6bd7b44e4a99f5ec627
BLAKE2b-256 7f6110888bd3040d22218244d239f8b873858b27cbc34e41155622a9d4e39c08

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8ae8bccb50ebd7863d7a3ee63187fcb9ae009606671574dd88c977a2ec7bb7b8
MD5 1054bc284ea866f0f0ce21d5a41b7bf9
BLAKE2b-256 2c08fe6195f48a3c6f96a0bee27f70e102938776507a110faeb4713b5a97dff8

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5d4476b5c9e7f8562d4cd5fac7be580e999273107c29f48fd32c627bbe3843cb
MD5 e1d0e25a9125c99029d6eac6ef6039eb
BLAKE2b-256 61cd8c04b2ec40bb8c018aee570ccd4fd1c16f4e83d0775b1c640db8784c49b0

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 7d8fa31746b77057d28a7c3c9ee20a8b82d7d8df68b38f3b66a35e8c8532c566
MD5 7db6ba499f0c9488a90c50aa32d06411
BLAKE2b-256 02d9f522dd97872a28da6ad2b0fa9998678a582552b339b809361269bceb884c

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad63c60dbd7f8a82806305dcfdaa865d654199cf2c584c0cfab9383a0da6d399
MD5 08baf641010279ed6f63910ae8957e77
BLAKE2b-256 aae95730a04b3e3205b0241b7978f7c747c669cdcdbb4e9ce996f6da2ad63be6

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 73ad009fe530bc58c848c5bc52bd5ca2c49abdc5066f61d8b347b4118b09cb3c
MD5 7a7ed38c03b4ac6718d7ac711a805488
BLAKE2b-256 515e1058f1afcd3a37f98a4ccd0783eb84ffc3ee789aa119b2cbdc8a5e6e71d8

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4ef97e74e5ca9a91896045ce4a421ad7abb31afe205ae5cd6ba0c616e041c8bb
MD5 9b0ea37add1d998edc03209f02ef0fa5
BLAKE2b-256 d7d63c366df0e3102013f36da492eefdc658fe0c7909eb4c3e8daba33ac10aa3

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 90173b667a403031d8c087e3e8564633f6fd3a1596205b17c93cfb3f221bb64c
MD5 bf253ef6db409511abbde8e0b1d315af
BLAKE2b-256 7d22e7d6d31ce57c705dd36412f30e300ad064f52358fd8050b5250d1122b919

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 aa43587a94f6300f765fc4cf8e22c5696f575e2429fc828205d15cc844276fe9
MD5 33c6ca578624f386164fd8ddbeb70aa2
BLAKE2b-256 a9571d1d4fd76533f35f64b770daabbb3180d7cd55296b06ac3df5f655cd4778

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b92a5c6cf7dea237599aa54652adc5bbdf7f15777a6bcb962050f72c51bc08b1
MD5 e7401c73846c6c9347d47511e4d9a7a5
BLAKE2b-256 04f3f22893b9fec292ec4e3584c00620a8809f373687ae3a6ece4abfaf50fc8f

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 12964377d76b01a87e93737cd166442929b2040aab22cde9f5e9c454e3818b05
MD5 b12404949fc1aa69a3a71d3e32848dc7
BLAKE2b-256 ba9d46b7429729e114ebaff4394021c62448d81458ca6f7caa26350b744328cc

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a9babceadbbd94a7242df220e29cd16450423f7667cf76c0660c8cb9e2c3f5cd
MD5 bd6e65106f2b1e56edbb87849ac818a5
BLAKE2b-256 e3af16b83437faaa77650cdd78cf13c67e1feded26543badea220accc1c070b4

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 177b70c1e1dd25a8d5a85eaca849813ea4f551ea509156a228df63222cd31579
MD5 4999acf5a5d716b606f72eb1f184122b
BLAKE2b-256 5b3d4672b601ba1140d73730951403279d7333507b1082acce3cc2a19fba2a70

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp39-cp39-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 318be4742bd41c4f22ba42e6be702da4c757625dcd266c1f7abc1e00b8a383e1
MD5 3994dd1b78a5786afe41ef303ba22591
BLAKE2b-256 6b4c77b77ad98697fc361ce778bbc8edf3a533f0fcff0e1747e8031d464e466c

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b963d6bce941da6a3c2b68d22b0b8b3b84812b794ef8899af179f4742bb35ae4
MD5 cbba8228a6f7e4f57792da57d5bff1c8
BLAKE2b-256 f4b534aae56587011eb7d167af2fd6422e33e5fac4f7bb70ff8a2b9f96a1f8b8

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ca67f90c7d0faea5f1e7a1a2cb5c387e805ed216ad156b1ecdef756e5e8ac6f5
MD5 52565268f47df57c396d95f310a32e12
BLAKE2b-256 54cd31f51185e7411ffea6ac073db866d7e4c5cd35c861671f7c66808d1d66aa

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cbe9ecb9b266654963644cc46008445a05b9a0e61b4d2c437f294815d6afd270
MD5 73e06075d14ea1d6bffc15faec5d617c
BLAKE2b-256 5a3e5e59b36143a08d603d18b968ee57014a4482201bdca355205ec81df8222f

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp38-cp38-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 88ddd68c71a1bead5f2fef3b4549c2652ca63ad863b871a5ba765542cb2c8db6
MD5 8890179cd5bf43c0e33db928dacbfff1
BLAKE2b-256 5bc6d71a260f2f010958d6e4547b51215e656cbe939bd616b3d0a16648b83988

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp38-cp38-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp38-cp38-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c17588baff554b85815a3bfebb93b7996f67e47c6563a27b4deea4eabbee8234
MD5 157a15757dfbe71c78d8fa5a93dc267c
BLAKE2b-256 7b5ef68d99fd2ab0919c637b3059d226fb37d8e020e827b77ab7c3b003bc3c9d

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dmsc-0.1.4-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for dmsc-0.1.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 548e7c4d0b1c4e86ab905bfba1c8a0c1ff6c326c9f1e0c6e0a8fe0f7e98ea27c
MD5 1e72a357ab10c818588dae97d362c27d
BLAKE2b-256 cdeea4443946c69a2a040353356a08b6f907786351ef352cb6edadde8ace986d

See more details on using hashes here.

File details

Details for the file dmsc-0.1.4-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.4-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 212e4d3c26bd290882da20bcfd6fd74034370b505dce696006d043c9f80801d4
MD5 794c1a67dc3ee64dafc11bd92c9be09c
BLAKE2b-256 378cd43d1d51b251936febe21d13fdb3b8cc44270457160ecde9bcb5759d1c20

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