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

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)

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)

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

Uploaded CPython 3.14Windows x86-64

dmsc-0.1.6-cp314-cp314-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp314-cp314-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp314-cp314-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dmsc-0.1.6-cp314-cp314-macosx_10_12_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dmsc-0.1.6-cp313-cp313-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.13Windows x86-64

dmsc-0.1.6-cp313-cp313-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp313-cp313-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp313-cp313-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dmsc-0.1.6-cp313-cp313-macosx_10_12_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dmsc-0.1.6-cp312-cp312-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.12Windows x86-64

dmsc-0.1.6-cp312-cp312-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp312-cp312-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp312-cp312-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dmsc-0.1.6-cp312-cp312-macosx_10_12_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dmsc-0.1.6-cp311-cp311-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.11Windows x86-64

dmsc-0.1.6-cp311-cp311-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp311-cp311-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp311-cp311-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dmsc-0.1.6-cp311-cp311-macosx_10_12_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dmsc-0.1.6-cp310-cp310-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10Windows x86-64

dmsc-0.1.6-cp310-cp310-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp310-cp310-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp310-cp310-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dmsc-0.1.6-cp310-cp310-macosx_10_12_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

dmsc-0.1.6-cp39-cp39-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.9Windows x86-64

dmsc-0.1.6-cp39-cp39-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp39-cp39-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp39-cp39-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dmsc-0.1.6-cp39-cp39-macosx_10_12_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

dmsc-0.1.6-cp38-cp38-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.8Windows x86-64

dmsc-0.1.6-cp38-cp38-manylinux_2_39_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

dmsc-0.1.6-cp38-cp38-manylinux_2_39_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ ARM64

dmsc-0.1.6-cp38-cp38-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

dmsc-0.1.6-cp38-cp38-macosx_10_12_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1a796e8544173191b4f2fde50f092304b1f82622066866c3d8a3f134c70392d3
MD5 1dc37564080e5d3dd9e7e0ce5736f246
BLAKE2b-256 9f53b0487e5654edfd9459afbbaf422e578b8a0c07163520550d78b86e706090

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 cf855348372b07f8d561ec85eb3b305c3c0c5378478d7a71ff8f2f1f561ef508
MD5 048f4cb874e1241165e8e9fab717f9ad
BLAKE2b-256 06ea026fb6b9ec39c0cf5f7ab0f2e64000e9f24ff06bb0515b3b506dca374f6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 4e37aab4e13672738806e60b6fd8280db33180a94a35390414bd26fbc3f35c4a
MD5 c3915ed0c0eceb2009e4bed8a2a0a914
BLAKE2b-256 17303b959f79fb24f796afb053e86e05bcf095a370f07e93cfbb0cb5dc60095a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08a291cbf1313d8090cbd02f3c7801d563914e22defb3b1d23f94612d51473af
MD5 200fb03a2204b5395af058caeb869137
BLAKE2b-256 2084bbdc639d7e1d865ebabea084b3b00cbed7be5fc7b6052d3ea4531ca2ed35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3d91e6d61206380ea70851bf4ed69ba409d06a3dc17f8ff5caf381083b912970
MD5 93bb557a62df19d610f5df2b13e5c28b
BLAKE2b-256 f409f1a5e4c7afcee10bb288abace81e7f9037c1e4fd31900d34885700ad72f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 6.8 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0aee66a2352313f593c97bc908f02c580fdc2d8f9f7bba945a65a0cc20d51c04
MD5 3e684a6940569ad0fa9e677bd07148bd
BLAKE2b-256 2cb26e415bf419a23c70789a456bf86c44dab3143eec9d2aaf438bee55652871

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 97f1f61fcc0716c3b45ec65d92749ae2d4ffbced9fb1f90ef9b694d1beafc48f
MD5 e3dcf8219a4a897a65c58f271b28b007
BLAKE2b-256 9e2907e05163df9fc548719804790246e6d63559718a99955601614206d4f777

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f1322204259a9f7142abef78978009330092d0883d540ce155b37fcc9c01dfe4
MD5 106164b6ee37a7540929bdc2d52361a7
BLAKE2b-256 44fd0f4348942485f0e4b2c69f97c476246839922bcbd06e8df96abc7053b858

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c5d38b84075dd532cf132e7527df07d5c6327af1b6f3fb95337d41ee778c4bc
MD5 e34400ac15b01cc60969202218a2ebbe
BLAKE2b-256 bb7d0db999109c93d2558ff90a7c9ff1c525ae4931b3f891230e3ca8a62ebfff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 78297dd8169b2885ea0e8ad8bc847d3344d234b87972b4d8b3c6380115461e7d
MD5 b90f423c322b443b9c5e85158c61632e
BLAKE2b-256 ccc42d09e7773794fe6120fa41603ddcacbeed916ed2b1c8e1b466f75be87acc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 6.8 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 60409782d16714fa47ece8a153369119101c145babe0c62e22b188883fc1d36b
MD5 4291e431f9a624e5c1af41ae05f1e7f6
BLAKE2b-256 f03dd248f537e0780814e428056842baf867f9d650ca4cf84d0e54a60a6c88b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 66fad2d47dabe423e16d99735641ad54937794428159d4090174edce173f5411
MD5 9097fcec49ed6682bc087fb99325af7a
BLAKE2b-256 51eee2b8387697123794e2822294086503d9f42fb55c45338b6db6e58e7ea76b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c02db60fbe7cda62d95def2d820740bd952af4c4c5d464fe48942e0abe43b60c
MD5 f2c2065f00df1a648c60b66b941853e6
BLAKE2b-256 2b3fa877bf96a80d96edd53c00a897af818959a8e77ba9c7a31180112ca53167

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 671c2b8d2f5066d098f72f8197837e5b6867c74c4ead2f22904f1a3d392e9626
MD5 27cd4a22098ad7488753e38e56574915
BLAKE2b-256 8f108bb89c1b4d5e7c6c16e9d8ce4d7400c7e5cb178819e4c70788414260757c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 65ab4a7bd5285fad718f0c8aafb89c9094ebad22d980c8855073331689345709
MD5 9121027e109a1f7d56e5dca0c302231f
BLAKE2b-256 19863906a75d96a10a390f19eaec18daf81c07c233283a5ecfd0b335a292fe5f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 6.8 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 090585870fbb565b0803e70197e09b9897360cf23589d8836882c1570bec4255
MD5 554eef342cd5af10404ec7c7ad3ed693
BLAKE2b-256 4bee5389057a891b8077e17587de26c2f31085bcc8c3db7f0c146770449cfa78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e088f062f48b4693d53347b95834c25aed186abfde3bb76bf473d2d91adb23bd
MD5 104e84788f60842154010b4394046f9b
BLAKE2b-256 04500a6b817d8c32a54869baa4d00d109063192d8166c56c59492465810e92d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 8f93e5707a4a48bc51d5f3c38a77791d7f3b1bf0900f9a70df63df137e1fca62
MD5 a857ffaf0407610945ad3dd8f7e48a59
BLAKE2b-256 1377dfc053030731a3a5fd4f4625a43e270e5b944ebb680489e47cf57d932781

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d35afd95611bd4cb4d1bf7e2cb0a750e27b738c2bd978c28ff5013af5b36a4cb
MD5 4fc6aa5a602541dbd4f03f66a5c2d6a0
BLAKE2b-256 b9b5155cbb657daa6191f49c1d0d281ac20b679b7d1356cbad9e3a0a8e8218ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7befe5241a0f8217fe3b69d88626110048219964e710a0d41cb6996b14936718
MD5 84bf247255784e61a5c9f2c7058ae54d
BLAKE2b-256 4bfd408735ac77387788e4b5f887910290384c62eaf0c6cbdfd9f66de9f5af2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 6.8 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dcde4ad6b439638fcfe312b584d5917cd4ea1fff6491a9714e432d399096aeaf
MD5 90d210daece0d265071f3af7b9477e43
BLAKE2b-256 1edb6470843523c8bf4bebc67606c8cf306ad17b030ebd1d09de43391699fc3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 df0e87f606eb5ea3334df8c21891112ca089e5b2de10006c2e35be2ba0f2cb11
MD5 9c47d8cbeab7f6719c737b01b468e370
BLAKE2b-256 f6c91de3ddd4d1906a96fb30a55a2866eb9cdfed35078b5f124ff91d496fc039

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 51e16b89511f9b356a5d69cfe83f1a0126adbebad496955eae53cae2ec253729
MD5 aeedfe3c0bdaa0334947513375a3688b
BLAKE2b-256 d1f7383c1d2cdb25db25c9302dd11012849b858dbb714dedce34c4024260bfa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29af678dc403c3825571caebdc7c3f1b3184fbffd4e3c85c345ebe1214bbe13e
MD5 f8c478de31459b0d89c4b9e7078e52f0
BLAKE2b-256 9e67625341cae27a831565f2c45fcc36bb4822bd98f07767e09fe1a6d47d87a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 65e063f9bfe7525da8b606de0fbabc2041e8d225f67a04ff272bf02a0ad3c033
MD5 96ac7f71ed1c798417b7f2e2d662ab3d
BLAKE2b-256 0545543ecdd80171bce7567702731bbfe979fec25ab1428419e0077b5b9f9989

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 6.8 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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f0c9b7e5fcb4a0855ca20fc138fd84111f960f5819fb6329c734c4b77be41902
MD5 15debf55122608d7db7cd52ad21a0a64
BLAKE2b-256 d34ad10a4c2715db53f2be4619d73a584fcc0c92899354096e83282894badb5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 0898c3dc92a3bf58e907216cb06b3f73ad005a16bedcbebad9f93789579dbeb1
MD5 5d2f77d47653c604bdd7a0fa4d0c25f3
BLAKE2b-256 eabf46425de7560dd46a3964d8bf044ef51dba07c9318f317b25ad86ea528020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 5491b48b267cfecb622df4268fc116fbd86d67de621465c7872c1b3245b4289b
MD5 5f800d61aba64fa73d7a179019596683
BLAKE2b-256 3004d70ec5e902a1c3d2038ccc509d435aed406268e3431413bf79ce38bc63d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 9.1 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.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7871d43208d1d71275c6e741c460bb8da83f6f3d54a98f0932b6b069f10955b
MD5 98fc5b22cd60551f39545d46cabc5515
BLAKE2b-256 f0d7bd14dad04bcb055a8aeb5218dffe80554a8fd65c1aae3adad729a561512e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d10706b7100d51594496361b10ac46e4501a50bd6586c8689db1c67a6cabfbba
MD5 735c8a3db648d99113c23b163c9e9048
BLAKE2b-256 ae7241f8a1e7ea65be5546ba4f6e276583648fbbbd2976e74860f5a71fc2f1df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 6.8 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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d94af00cb7f5d0b0f0b5f2a706de5f1cab818d4939936c828a1e0049ea841a01
MD5 3b050ce35310ecd236f277f093b997db
BLAKE2b-256 a257e1b60f18bd0443a1f6117533c9899e686995e7d3605ea75919edbab54bc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 cbc5ffc03b310afe263e5b1b7a347f06037adc2cb063cdbeb20de3c0bdd04582
MD5 967fa79e421fe4c786e883cb2b1e4791
BLAKE2b-256 4d06e15a5b6bfa9c0b2593384568030d77d5ac27408d3bc1492dbfe423f6d979

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp38-cp38-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 392e4ffe00f519f9430ae80a3e3a890dfb9fa5a336171ea403aa4019a002c3e7
MD5 0548be522f5485b03693b2ba1d375ef1
BLAKE2b-256 201d9a26ffca6ae9a2682a6661f9a5b6414169e555310ff241f28fcb933fd561

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmsc-0.1.6-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 9.1 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.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c55003141981618d0329671e095c06df26906c1db14a5796f7389efb7ef1962
MD5 4a31bd10290aa43dcbaeb9c41fb965bb
BLAKE2b-256 936b50b3f6c2b7069bf760e47c3e0dabbfcc195271f49f65a4bf93d185080cfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dmsc-0.1.6-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ad39436607a0df1968fe84d96db0ec476f34511d915b7bc2e90586057de6b883
MD5 cf1b22eff4a8d123e5da21fcb146a3f0
BLAKE2b-256 d72d727648f3a7b837140af9acfc6c0ec2ad98d4f7e5aff3b6cee514b879b5e9

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