Skip to main content

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

Project description

DMSCDunimd Middleware Service

English | 简体中文

Help Documentation | Changelog | Security | Contributing | Code of Conduct

BiliBili X Gitee GitHub Hugging Face ModelScope Crates.io PyPI C API

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 18 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 (requires grpc feature)
hooks Lifecycle event hooks (Startup, Shutdown, etc.)
log Structured logging with tracing context integration
module_rpc Inter-module RPC communication for distributed method calls
observability Metrics, tracing, and Grafana integration
database.orm Type-safe ORM with repository pattern, query builder, and Python bindings
protocol Protocol abstraction layer for multi-protocol support (requires pyo3 feature)
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 (requires websocket feature)
c C/C++ FFI bindings for cross-language integration (requires c feature)

Note: Some modules require specific feature flags:

  • grpc: gRPC support (--features grpc)
  • websocket: WebSocket support (--features websocket)
  • protocol: Protocol abstraction layer (--features protocol or full)
  • c: C/C++ FFI bindings (--features c)

🚀 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)
  • Automatic span creation via #[tracing::instrument] attribute

📊 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

Build Dependencies

Some features require additional system dependencies:

Dependency Required For Installation
protoc etcd feature (Protocol Buffers) Protocol Buffers
CMake + C++ compiler kafka feature (rdkafka) See instructions below

Installing protoc

Windows:

# Using chocolatey
choco install protoc

# Or download from GitHub releases
# https://github.com/protocolbuffers/protobuf/releases

macOS:

brew install protobuf

Linux (Ubuntu/Debian):

sudo apt-get update
sudo apt-get install -y protobuf-compiler

Linux (CentOS/RHEL):

sudo yum install -y protobuf-compiler

Installing CMake and C++ compiler (for Kafka support)

Windows:

# CMake is usually installed with Visual Studio
# Or download from: https://cmake.org/download/

# Using chocolatey
choco install cmake

macOS:

# CMake and C++ compiler (Xcode Command Line Tools)
xcode-select --install

# Or using Homebrew
brew install cmake

Linux (Ubuntu/Debian):

sudo apt-get update
sudo apt-get install -y cmake build-essential

Linux (CentOS/RHEL):

sudo yum install -y cmake gcc-c++ make

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::prelude::*;
use dmsc::observability::{DMSCTracer, DMSCSpanKind, DMSCSpanStatus};

#[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)
}

Or using DMSCTracer directly:

use dmsc::prelude::*;
use dmsc::observability::DMSCTracer;

async fn get_user(ctx: &DMSCServiceContext, user_id: u64) -> DMSCResult<User> {
    let tracer = DMSCTracer::new(1.0);
    let _span = tracer.span("get_user")
        .with_attribute("user_id", user_id.to_string())
        .start();
    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
libloading MIT
zeroize MIT/Apache-2.0
secrecy MIT
data-encoding MIT
crc32fast MIT
generic-array MIT
bincode MIT
typenum MIT
html-escape MIT
rustls Apache 2.0/MIT
rustls-pemfile Apache 2.0/MIT
webpki ISC
rustls-native-certs Apache 2.0/MIT
bytes Apache 2.0
tonic MIT
prost Apache 2.0
tokio-stream MIT
tower MIT
async-stream MIT
tokio-tungstenite MIT
tungstenite MPL-2.0
num-bigint MIT/Apache-2.0
oqs MIT/Apache-2.0

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.7-cp314-cp314-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.14Windows x86-64

dmsc-0.1.7-cp314-cp314-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp314-cp314-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp314-cp314-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dmsc-0.1.7-cp314-cp314-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dmsc-0.1.7-cp313-cp313-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.13Windows x86-64

dmsc-0.1.7-cp313-cp313-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp313-cp313-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dmsc-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dmsc-0.1.7-cp312-cp312-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.12Windows x86-64

dmsc-0.1.7-cp312-cp312-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp312-cp312-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp312-cp312-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dmsc-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dmsc-0.1.7-cp311-cp311-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.11Windows x86-64

dmsc-0.1.7-cp311-cp311-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp311-cp311-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp311-cp311-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dmsc-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dmsc-0.1.7-cp310-cp310-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.10Windows x86-64

dmsc-0.1.7-cp310-cp310-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp310-cp310-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp310-cp310-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dmsc-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

dmsc-0.1.7-cp39-cp39-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.9Windows x86-64

dmsc-0.1.7-cp39-cp39-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp39-cp39-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp39-cp39-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dmsc-0.1.7-cp39-cp39-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

dmsc-0.1.7-cp38-cp38-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.8Windows x86-64

dmsc-0.1.7-cp38-cp38-manylinux_2_39_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

dmsc-0.1.7-cp38-cp38-manylinux_2_39_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ ARM64

dmsc-0.1.7-cp38-cp38-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

dmsc-0.1.7-cp38-cp38-macosx_10_12_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 45112df44202bb58d0bd84d4ee6210d6bf66b96ceb152c1d8924b435b471d432
MD5 5bdbadff2e35108017693b0b1a066b35
BLAKE2b-256 5f35a8e39511dbaf4ea4efa838d904b7a42e6352ae221367695decac97e23102

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 287b5dfacf61e9c3a4271c1900c14bb9a7c14abe4abb15dcde5206f29686ae1b
MD5 9dd2553825cb0cfc2200207deee6bf18
BLAKE2b-256 077e4ad134ca214c2d642a28fc03dabe495d3f49de4f9b9e8415238ddefbb487

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 29e502ab3e28fc5ce22608805b08b83aec4265a2ba9c428f631e5e3b87d322ed
MD5 6671d81a0b526eb7322f752cebc8f13f
BLAKE2b-256 81638bd8139f540b89307c18115a53f19f0b2e4f153969b55e68999889aa5848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76a4c4d0b23a0429342f442fb7b121fdf898a9b4e98e46c6e3425926f8dc4e37
MD5 60e5d55c7825ee6b84388e69745323b8
BLAKE2b-256 a9125946fd40901be31b50d057dac4ad6a9f482a0b621e15385a8d46b0d9147a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 92d8a405c8f7895664660ee5af49753b62557510ee61b7aff186d625eb10a59c
MD5 17282c1efe8d2de4582bd37ba497e7df
BLAKE2b-256 7708f2d159e5e2862e38759500d1d2342ea5abe84071c7c52726f7f56e49f635

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cf8ff236711a5500e91e7c245873d1508da896ddc96ab8e3962f5b03ba810221
MD5 1526d2aa8ddd48f51701bb74b0c07381
BLAKE2b-256 91d5fe7b65b3a5b14021cf95786914a86fc180ae6c204aacadff0ba0feacf284

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 3977bf65995346b9ac85b7a6b005d2251f88fe1e2df592abfcbdbf6d1a36fdae
MD5 d9f871b7a7dc8895ce1113bbc9c5cddb
BLAKE2b-256 5776ae625158b8344c82ccaf586e537b6bd305abb3f5b11db288d1ee0ba66562

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 90df9df5d6654bc81429ad79f4a9e904b47054fa221e6456d78461403e74289b
MD5 ab28b2cc398c157a28d5067004b6c1f2
BLAKE2b-256 1335272897b8017eba7875cf2d07629d656451021c46f5028b35160d5ecacbd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87a18912134c301c52974f1f6ab0323dbd951c336946e628e10b5b3acaf64a02
MD5 6e51818bf6c7a51eaead0f3391f00d2a
BLAKE2b-256 149d8304857012f4a29f261a62b350a625641170e292942ad45c1e669268bd6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 89674945a54845f6b875fae1f4355dfbd19c3f85472bdac839e19b3e7639335d
MD5 dffc8d6d63094ff0c6dc9189f8f3b62c
BLAKE2b-256 07bf77dce0f18461d279801258b1ef38b44146b452baea67ce0d9ea6a4ba3f9c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b5221f57f84436337a9598646febfb6bc249c98f6c7a12b1b1c86b77c374cb5d
MD5 df25be99630cc71c69cd8cad0fa2aec2
BLAKE2b-256 1bff289d6a9eab3577430c7c54750f37a517709c299409030b6eecfcc1b3d4ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c55499bf1a879e42ed2f231c7e145fa5f5439c3f7549320eb57c4283f3d9cdcc
MD5 a7816a8ba1c1a1b84b0a64fcd3474a30
BLAKE2b-256 4018881448406d48d64839ab85d49c86f9e9e900dea4f02278a24d4a89f3c354

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 e29bb95540641077f56d3ef628780f057d0d548ed6fa9d5bc904837d5ccd49e3
MD5 86b4fd9565163e052995d12441766017
BLAKE2b-256 6f3cdff2da7b3476f846a70814bf370e2ec50c1183f29e0e57e5d34d9b05e922

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68dbc687cb8aa39c8a5a4c46a5e4ecbe96f9fba9900757b63005912ba97bfaab
MD5 f946e8e8f26a7f7a9bdcc4228e5dbf47
BLAKE2b-256 e8722137655c778dd2c26510fc3b35c1cf7e8cf4cc91a6703235fcbc6b48a45a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5ca1603c6ac4fe1f179467c8ce7e03c8facc105f30bf658cee92ec8975a98f37
MD5 a1606146d5a17d411c3000a6d9c7d65f
BLAKE2b-256 29f49786a0b8d458b5fb20ebd78b551bf40c766345edd08f71ccb7683fbef28e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7201a5d95921478f4a5d388fe2aa22a0edb1527b621186f0bebbbfe10470cecd
MD5 0d702000347566b0cd145c3afe488f3d
BLAKE2b-256 f595754a3e2519b0417066844b8d5d0a3ff82494fdbf6106587185860b89b562

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4253f42a2b176264b78ca912541ea7bbf8284e57ad5c8b596b5d3a2e6c76c696
MD5 e8828743cf2dffa50cee79e3321e4118
BLAKE2b-256 c3cb3b4e26b194530c3239a4c8027d8cc7341545826337731dd02e7c72f3e8e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c6b39cebdd2e19dbdf05901a4fd13d4f289fc6c1094ba0cbe5596aad5bcf008b
MD5 2c5bc5e76122c125d0f423482722cfcc
BLAKE2b-256 0ff551762541a5dd56a8711bb1aa27806088fa5e86d0614e94326cfa91ac2efb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 475f80a25d9115fce41113fdebbdf1ea457c3f859b38847d36e0f0588a4045b6
MD5 067440a4549c5f8d884fff08f2635e63
BLAKE2b-256 b4ac9b8c925558bd54dfc158e7102659553f6b186301711231d7aefe490c288c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aaa959ac294c56e1bd9bed2b2f37db759c9b4e5839e9292f696eefe636100c55
MD5 db8dcd03c17f77e4e0f1c23d54450336
BLAKE2b-256 e04c701a47f4855aeff1d7a18bd556c88d1f95c1dc7bee5905097565763738e8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ede162f1c78efeb7c6bf9ee4c27c73cb648ecc26cc5b7c9dd16415e959462df9
MD5 8a96666cd9025c47d17ed1f40320c6a3
BLAKE2b-256 700be57015b5032ba15013dddbb680aab39da55864fa53b52dd10c8e12a3aacf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 925b823c6f21d17fdabd6eb7121e75f82f201a1a997e1566cb89c4136b102ee8
MD5 1b8c4613b4fd157c74efbabdf5bef3fa
BLAKE2b-256 8320f6df580e5f476ff2271de02308d3e171c830b1632ecfb12ad5e8cbc89269

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f1cc17870f230b7f9278edd58a1cda5247a517a75139ce4444bf415a67f2aaca
MD5 c5ae4a52d13b504c90575210324802b8
BLAKE2b-256 169d5988e4d261b2e7bd68062bcf9a01747a2b143e1d45a5ec9a7b9845bab5c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 667f9051065be401cd0f69bfdd890742de7516e2110e3de72194baeb04fd022b
MD5 e7b2a21d2d6c86b507441b341e3da77a
BLAKE2b-256 785a68cc40a17742c0cdfe89a75cdfd31849d911a65b9efc5e6415c7e0c1cd5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 857edbb04fb84c2fe5394a4dc5f32bbdccb33f210d3a691d59c0dd4cbbafde52
MD5 ed0bf912e5f2034837ae3f98c6d0c9e0
BLAKE2b-256 61127160c6562031f767db70e2f2db63a2352e385073de7f9b33ba7253a433ed

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3ce4cf23d7aa2f8d29b26ee4cbd4e3e60f311813295e57fac17723470ad82253
MD5 62f8ad102412a2699f9a455d67f1aed6
BLAKE2b-256 ce8bd355dd8afcabec272e8fa956154867266f8eefd583292329dbea5d08e2cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.7-cp39-cp39-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.9, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for dmsc-0.1.7-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 9a5fe17b7ebd36ef363713db83a85ef75e025e84bb11fef46b9e72d28dc8cf0d
MD5 3af4013efd52c432ec1d30ec5a3fd280
BLAKE2b-256 88c3aef5c64eb9b7771d512837066d2be0da0ab33da78c161cb3aaeaf8f94b61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 6495cc6098c01e3ada546ac0bcca19af63aa5722a00a650abc0cbb6af0171878
MD5 c1e703287c6abb599d7402e9a3c04da3
BLAKE2b-256 a9bf3f3acada74b62bd74c5cdce400fc085e5da444e442d925ea6e102be21e82

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 72507ab46622f86dfb06f3307a56501ff27cbfd3f6dc9fc745c99ee7c6448868
MD5 0166fa92198bbb428058cc3064e63c5b
BLAKE2b-256 e9ed27d77098a1cd5fdbbbd9626672e0465e1fadadfb103d18b2ca3a3632d874

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7fa6abbf4057cb7ca84e823a6de9b843ecf5ee85556ffc2f89793f6002e5f323
MD5 dadab776e12b3ef05f41029761f53a3c
BLAKE2b-256 b12d459279817b33bff8d539dcb487379df6b573e21fc32e9935a9b028827ed6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 92eef8f6c88dbc2ed5b57c2b984d059d2c9f21c6e085cba5fb115c1382fb19ae
MD5 15412117924d8c92a0338c396525da16
BLAKE2b-256 8a6c3dfd8f14f87230893d1c19007093d3705db36d71280110b3c8242fb8d63b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.7-cp38-cp38-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.8, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for dmsc-0.1.7-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 dfbec394ba22ddab88491117785cca1bc64b7fb72519af8eddf8d6d91239a52b
MD5 074b68f90667ed396373a0ff3de0e473
BLAKE2b-256 e4f56e591307cb70e589f20541755b9320d4b342ebfd47e93bd27441f0320642

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp38-cp38-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 fbabdbf96dbca04c0ca191d62cc6e1b84366246142288c69a5895fdb90fe1ef9
MD5 64ece2c8344d8dca0ed0551d54317d7f
BLAKE2b-256 3f05d6a4ab5c877fea493587a5324c52f649490f9edbefab31c90d956d808f0b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dmsc-0.1.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d0d642cea9005ed50dbb7f83a09120ea1141074d419b64b1acd7bab219455f7
MD5 4ddcec706fa0e7de6d7ad96b98de15f3
BLAKE2b-256 d281419f442b2b6722612349d42edb041d322170711b99dc8f096d096f7bf402

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.7-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c94b1b80bc26c8a15cfba158b5b23ad18fbde59edb0412e3b19eb55db925406e
MD5 4deb5d5240079334f708cd1212375cca
BLAKE2b-256 eebbef684497dce4dccb53433795cf459bb7a385b131254c1123e53776956f8b

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