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

Uploaded CPython 3.14Windows x86-64

dmsc-0.1.8b2-cp314-cp314-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp314-cp314-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp314-cp314-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dmsc-0.1.8b2-cp314-cp314-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dmsc-0.1.8b2-cp313-cp313-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.13Windows x86-64

dmsc-0.1.8b2-cp313-cp313-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp313-cp313-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp313-cp313-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dmsc-0.1.8b2-cp313-cp313-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dmsc-0.1.8b2-cp312-cp312-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.12Windows x86-64

dmsc-0.1.8b2-cp312-cp312-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp312-cp312-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp312-cp312-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dmsc-0.1.8b2-cp312-cp312-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dmsc-0.1.8b2-cp311-cp311-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.11Windows x86-64

dmsc-0.1.8b2-cp311-cp311-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp311-cp311-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp311-cp311-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dmsc-0.1.8b2-cp311-cp311-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dmsc-0.1.8b2-cp310-cp310-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.10Windows x86-64

dmsc-0.1.8b2-cp310-cp310-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp310-cp310-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp310-cp310-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dmsc-0.1.8b2-cp310-cp310-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

dmsc-0.1.8b2-cp39-cp39-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.9Windows x86-64

dmsc-0.1.8b2-cp39-cp39-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp39-cp39-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp39-cp39-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dmsc-0.1.8b2-cp39-cp39-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

dmsc-0.1.8b2-cp38-cp38-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.8Windows x86-64

dmsc-0.1.8b2-cp38-cp38-manylinux_2_39_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

dmsc-0.1.8b2-cp38-cp38-manylinux_2_39_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ ARM64

dmsc-0.1.8b2-cp38-cp38-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

dmsc-0.1.8b2-cp38-cp38-macosx_10_12_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file dmsc-0.1.8b2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5224d40ac1bc1c2ca1b5b19928027ce93e24b4d3221cfdae3f30edba3b927fae
MD5 c437d77bfe90f1843b176fd53b090c47
BLAKE2b-256 7622d8b5727430850caadce5e5c9906a5b64452225ab87bd96564318eb60499c

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 fa42388cf9d9826ff568288fe388a92eb79244df11dea860a809859f3d22f6ce
MD5 baa0ed5e87d20990bf8df64db187f61e
BLAKE2b-256 44fa3c1109492a06bbb7fc928a89f56f18cedfb8453477bd464c56dbe6a02627

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp314-cp314-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 e932ceb9b46d85813d16c181a4476ae074129b50c50174c0d8fe509b765c3ee1
MD5 fb47f8d91169e57aa59c12a2311b59ed
BLAKE2b-256 af739c57944fe3f3131f09bf68aec34707dcc76ad30fd2731a69aa936f371ac6

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f85205277ff8002419e181c78c5b211397062485aa07681d090102a5d826876
MD5 8b6a1eaf0b43619429046e19251b164d
BLAKE2b-256 7443b1bacf60eb16ef98f6282d5e27f28bbc61f2d96affbd4af161715b7510c2

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7ffc57c35820e82a81053c766a8a39d7d5ce8ef57eb9f83995b741bf8208565e
MD5 ccc8f030c8730a47893e7ed44835ee71
BLAKE2b-256 07322a489e328ec5b560d1b05524e5206e67eaba928cfdc9a866a6e6ea6bab58

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e7ed13fa44a6a225503978e484faa6cf4793796c30e39286e930a2d942352e9e
MD5 5a43ee177e1b02c2945b827bfcd64176
BLAKE2b-256 91a1115ac635394bef528cd71225ac6bfb00de6d5e1faece7f77f87106a66d8f

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 20ecb09540714a5a4e581b0b3fb884a3f99aa70709ec5cb59b130b74b7b960c2
MD5 729001ede149aab4fbd548ab01e6ff26
BLAKE2b-256 51b15b378b498a000635aabd7d701ad9700ff6677c405bff8513dc9af7a14033

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 a1c24ed74fea0127da6e1c9a2d73234842fff9161f4fedc0743caf45723767b3
MD5 fed93d3073970fcbba14e6453e4a8661
BLAKE2b-256 44abfe5f108c7b856dcc97e4765ff7bc00fd803df647ecb2bdd0b339b10fc5e0

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37980641057b2ecc6b3df8814793e4f61d9d585604c85a457db00bb573bb17be
MD5 2847e5eb8f83b37dae6cdf28d0969cee
BLAKE2b-256 b91f2a936fbba8d4440868ffea96ed9d9f040304d7cc228be14cd07846beb088

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 51b7f855c59aca1c59939f6181c213d0955ab3c1ae824a559815b3c98cf7f30a
MD5 755895d9ebda957b3c18f0e768cb726d
BLAKE2b-256 30c1fbd4b92b5fb877e1cdd6bf301d5fd69714fa9de63d49c60260823c7a4cc1

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 30a9a430d5e3e90a3ff972f353324b0f2aaca4571ebd4eb7c08a8c4841550f38
MD5 29bd66a319ac89ea09591b25eeb2a28a
BLAKE2b-256 666bf689d48799c8b79339e9aea2a94b36204a97546614248332e5b765efc3d2

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4090db06f76174b234f664c3f665ab7dfd0dc638bec021871f993a2196dfe4b6
MD5 a7675361e4cf95eb54b050ad6982d658
BLAKE2b-256 1fd46f50de95e4b1e5af5a7cd024712452f67ae4accc342bd0015f425def4194

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 6a295238b215a9af7e66ee9e6f9fb08f331a3781801bc22c4a04d0ea52622966
MD5 e0afc45d31a4f106cf01d7f54dcfe0c1
BLAKE2b-256 b0f683331d982b81366b4bc3d8fd9553e10b8f0b4a74ea4244013ecfe0fb41be

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3da261f9418a8fba008675bce718d77a67e7f4c46805cccf3904643000b2cda2
MD5 de19a207b38872159711f35e9daac45b
BLAKE2b-256 a7cbb8001f5ba96aa89415c5fbe129e20416f90c3b5367c508beb9982c416560

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a325c021e74e2835c2016c401b7e3d3c4caec05aa84a6832671a1d5d8e90ccb2
MD5 6b5e3b270f93821804c784cf8cd39af4
BLAKE2b-256 18c3c4b6d1eb2c7eb8376f9393b864acd10b430693e4badaa3f9392e291ff1fb

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 223b99676ec6af806c4421a35ddc05500ba3feed706162809e2374b2a68bf406
MD5 db399f60eb1d7597a54fc78756483c22
BLAKE2b-256 aa25273f889cc5d42a40728febec20c3e38d697ea327b8ce9fd12cad4e9a6fa9

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c58e3d0191966d6f408f2a9b956151511abff4bd37055a741b2296921c904bdb
MD5 51c655d0399745d809358246f60737de
BLAKE2b-256 c2cd3ae19100bacc7c0df537f4b7de70dfe323b527a0ffcb0d0dc4bc2b248dce

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 05875ab6f819cb5c10ec7e343a50c49e37dfa827c017b4678ccf82c690e025a6
MD5 665c1faef66856734763c10af5b30903
BLAKE2b-256 4411acc604ec9d8505753b85000714c90a7889ec0021b197198368eceaed53ef

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db86c07d7eafcab8a1b7ad66675cdd6a8d2a4beb4f99c54ff4d3943a7aeb44f0
MD5 09b006724598f34b63f0c18f9ed66888
BLAKE2b-256 ced38ab993eb2ea7390d3c30b819bf008f35a5b6cc4bbf723a556f05a47b62b4

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 26bb55717bd5d7ff03f46dc5ccd273879583509ed37af7a3b7f3b0d5646cd3bc
MD5 d96c3dd1757efb5c46491ed379f522b1
BLAKE2b-256 a931fb59a008812b7e6b0a505e05f911a26f9539013d844f2e2157cef4e75c8b

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 65c110e272721c5d0c53ac25d9ce1ecf2d496003121d5857e15460da1bf610e2
MD5 74efedf5ae2e437b307091aa0830291d
BLAKE2b-256 22f825deb15971f27e2b7160ef705f8c67287b5399cfe0779fd4c584bb1fa5fc

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 175926ff9036a54e4a3490675eb5010027482707dd34446d3a2050ac8ae57ab0
MD5 2ffb329b04f17d0c1c4dc0d418580d6d
BLAKE2b-256 9a819b653e3f1d5408bb2ad61a66d4e562890240ca275e9167a1717e5d14a06d

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 9ac3b77fa3706075502f4635a971460d95ba55f98d96a2ebf8a24e333eda3752
MD5 2bca5bcf1ca227b2bde5ca39d599cd25
BLAKE2b-256 ec0c82c5e2e85aa73328f1bb96c650a01a01cf85e35c2c2e6cedcd4444f47130

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78d9bb7bc472beaea056d4bc0e84f00a915687283031cd7ad4cd3f6f23a0a2f9
MD5 d3e023562a168685cee4cf25bbb56b02
BLAKE2b-256 e16515e88a613d137f40d20a016de5d79e37815e29edc28ca10bab1929b735c7

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 58ff0829769916f1cdc78ce3dd16aae2a3b3e263780866d461a924f85998d994
MD5 ff2730bacbd3b5440d8236475fb8f075
BLAKE2b-256 aa06c042b092ee42b87d98653ce361d48837c705baaf7713d6d881fe19f10fff

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3b28e3885087eab58669993cdceb4a88dc2d0e1b106e46a77ab09466c21dcb14
MD5 7f5c13b142435ce59e06769d422185ac
BLAKE2b-256 49eb015d6797295d8eba41ef088f779ce8e8ef41bc970b2719f78a7c4a3c5d9d

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5e7f1adb73ff39f1c2d5191c28f77a9d07158a0029b6b548cd56624e19fc287b
MD5 b628809cc607997142a2f8544aed39b0
BLAKE2b-256 80b1e9f0835841b018cd731b276e8dfe40a23fd5195ef8362bbadb2d3e12e317

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp39-cp39-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 bea3946ff8ab53933d908da3dbd1f733532ebd4e2f73acd3e229f1cda00021a3
MD5 1030cf4ae8e5d19b1b0d8c6438ad8c9d
BLAKE2b-256 d27f9490dd0757d4b92f9bc6431b390f28b09f77d70b9093ff8328a8917d9f78

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ca48c20a3b640c58014208732c9a1ec5eb55da0f5f5a07ac7900c2b2227a8ff
MD5 88f9965baf30fd735f10487595657fb6
BLAKE2b-256 98cc50151ee9cbc53922e26f7356ddadbacbf85ae823dcf08355c9953ad6754c

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 11360f0797752ac97bf1c832395b9efb2781536cc01c7fa787499bc496a22491
MD5 4563342a41b3328cf117cd0dbbe46541
BLAKE2b-256 3ee612511f00125905c98faac292c8caeb561e2bfa1f2f2252adc9a775a12354

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: dmsc-0.1.8b2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.8b2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 46158fee486495782fc4613b567301546e2472282b09c9f042e717a8108ea519
MD5 c4839d91a05433e8cfbc02c0cc45e8e2
BLAKE2b-256 3df701c9d0845ae95b6a6f9eabeea9eae2e484ba72581a2e95a17c722676fd4f

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp38-cp38-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b3f85eaef414c443bc88a8601816397fb3149e3a4f5d3b875de88cd92bdb517c
MD5 5ba5185834eb9a66449489896adb198e
BLAKE2b-256 cbf038cbe715d4f2b5b7b265b122dd05df0950c608e35efc13af7684d155b845

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp38-cp38-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp38-cp38-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 6374ca69a25a83272e624459cba57bb31d1838c614bc663a097efe6d3e458ba5
MD5 eed01fd35a7abf5cf64f9b3d0e97fc8d
BLAKE2b-256 c4e2c26b8913c6f7c909054b7d0a464db9871ce9b39b050286e8ef84a3865663

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8c2ca5c78153df1aff852f92e2a20e13b0ad805f4d414cbbfa981254dd61884
MD5 316fd451a0b10f21eaf1e5de4573ba31
BLAKE2b-256 c87f284a8672be06d9ee096cafbdb4b1a710936f212915df04827e2fe6c6e9bd

See more details on using hashes here.

File details

Details for the file dmsc-0.1.8b2-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dmsc-0.1.8b2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a32f16c6efa9b462d5e43d7ad6a3ebe9e60a0a6d0a89f3c177e5d9341bfaccbc
MD5 8a4625dadc8a7852e42900d3431634e7
BLAKE2b-256 2524cec34359e65dcdf675908f90c8ffbe34c10cbfff9d3ad8ff66669cfa4397

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