Name | mdtt JSON |
Version |
2.0.2
JSON |
| download |
home_page | None |
Summary | MDx Dict Trans ToolKit |
upload_time | 2025-09-01 07:03:03 |
maintainer | None |
docs_url | None |
author | Libukai |
requires_python | >=3.13 |
license | MIT |
keywords |
mdict
dictionary
mdx
mdd
pack
unpack
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# MDTT - MDx Dict Trans ToolKit
A modern Python 3.13+ tool for packing and unpacking MDict dictionary files (.mdx/.mdd) with advanced features and intuitive CLI interface.
English | [ไธญๆ](https://github.com/libukai/mdtt/blob/master/README-zh.md)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://github.com/astral-sh/ruff)
> **Version 2.0 - Complete Rewrite:**
> - ๐ **Modern Subcommand Architecture** - Clean CLI interface similar to `git` and `docker`
> - ๐ **TOML Metadata Management** - User-friendly `.meta.toml` configuration files with auto-detection
> - ๐ **Rich Information Display** - Beautiful formatted output with JSON/TOML export options
> - ๐ **Comprehensive Testing** - Full test suite including unit, integration, and real-file testing
> - ๐ **Enhanced Query System** - Smart output file naming and custom file specification
> - ๐ **Format Conversion Tools** - Built-in converters between text, database, and MDict formats
## Key Features
- โ
**Full MDict Support**: Read/Write MDict 2.0, Read MDict 3.0, supports encrypted dictionaries
- โ
**Multiple Output Formats**: MDX/MDD files, SQLite databases, plain text, split files
- โ
**Intelligent CLI**: Context-aware commands with comprehensive help and error handling
- โ
**Metadata System**: Automatic `.meta.toml` file detection and generation
- โ
**Advanced Extraction**: Split by alphabet, custom chunk sizes, metadata export
- โ
**Developer Friendly**: Modern Python 3.13+, uv package manager, comprehensive type hints
## Installation
### From PyPI (Recommended)
```bash
pip install mdtt
```
### Development Setup
```bash
git clone https://github.com/likai/mdtt.git
cd mdtt
uv sync # Install dependencies with uv (recommended)
# or: pip install -e ".[dev]" # Alternative with pip
```
### Requirements
- Python 3.13+ (required for modern typing features)
- Optional: `uv` package manager for faster dependency resolution
## Quick Start
### View Available Commands
```bash
mdtt --help
```
### Extract a Dictionary
```bash
# Basic extraction (outputs to current directory with .txt and .meta.toml)
mdtt extract my_dict.mdx
# Extract to specific directory
mdtt extract my_dict.mdx -o ./output
# Extract as database
mdtt extract my_dict.mdx --db
# Extract without metadata file
mdtt extract my_dict.mdx --no-meta
```
### Create a Dictionary
1. **Create your content file** (`my_dict.txt`):
```
apple
A round fruit that grows on trees.
</>
banana
A long curved yellow fruit.
</>
```
2. **Create metadata file** (`my_dict.meta.toml`):
```toml
[dictionary]
title = "My Custom Dictionary"
description = "A simple English dictionary"
```
3. **Pack the dictionary**:
```bash
# Auto-detect output filename
mdtt pack -a my_dict.txt
# Or specify explicit output name
mdtt pack -a my_dict.txt my_dict.mdx
```
### Query and Information
```bash
# Query a word (displays result and saves to apple.html)
mdtt query apple my_dict.mdx
# Query with custom output filename
mdtt query apple my_dict.mdx -o definitions/apple_def.html
# Query phrases (automatically creates safe filenames)
mdtt query "can't believe" my_dict.mdx # Creates can_t_believe.html
# Show dictionary information (rich formatted output)
mdtt info my_dict.mdx
# Export information as JSON or TOML
mdtt info my_dict.mdx --format json
mdtt info my_dict.mdx --format toml
# List dictionary keys with filtering
mdtt keys my_dict.mdx --limit 100
mdtt keys my_dict.mdx --pattern "apple*"
```
## Advanced Usage
### Working with TOML Metadata
Create `.meta.toml` files for automatic metadata detection:
```toml
[dictionary]
title = "Oxford Advanced Dictionary"
description = """
Comprehensive English dictionary with detailed definitions.
Perfect for students and professionals.
"""
# ๅ
ถไปๅฑๆง๏ผencoding, version ็ญ๏ผไฝฟ็จ็ณป็ป้ป่ฎคๅผ
# ๅฆ้่ชๅฎไน๏ผๅฏๆทปๅ [advanced] ้จๅ
```
### Multiple Input Sources
```bash
# Pack multiple files (auto-detect output name)
mdtt pack -a part1.txt -a part2.txt
# Pack with explicit output name
mdtt pack -a part1.txt -a part2.txt combined.mdx
# Use custom metadata
mdtt pack -a source.txt -m custom.meta.toml
# Pack media resources (auto-detects .mdd extension)
mdtt pack -a images_folder/
```
### Format Conversion & Import Tools
```bash
# Convert between text and database formats
mdtt convert txt-to-db dict.txt dict.db
mdtt convert db-to-txt dict.db dict.txt
# TBX (Translation Memory) to MDict conversion
# Convert TBX/TMX translation memory files to MDict format
python tests/script_convert_tbx_to_mdict.py input.tbx output.mdx
# Features:
# - Automatic metadata generation from TBX header
# - CSS styling for professional appearance
# - Support for multiple languages and terminology
```
### Advanced Query Options
```bash
# Query with automatic HTML output (creates word.html)
mdtt query "hello world" my_dict.mdx
# Query with custom output file
mdtt query apple my_dict.mdx -o definitions/apple.html
# Query encrypted dictionaries
mdtt query word encrypted.mdx --passcode mypassword
# Special characters in queries are handled automatically
# e.g., "can't" becomes "can_t.html"
mdtt query "can't" my_dict.mdx
```
### Advanced Extraction Options
```bash
# Split by alphabet (with metadata)
mdtt extract large_dict.mdx --split-az
# Split into N files
mdtt extract large_dict.mdx --split-n 5
# Handle encrypted dictionaries
mdtt extract encrypted.mdx --passcode mypassword
# Extract to specific directory without metadata
mdtt extract dict.mdx -o ./output --no-meta
```
## Command Reference
| Command | Purpose | Key Features | Options |
|---------|---------|-------------|---------|
| `extract` | Extract MDX/MDD files with metadata export | Auto-metadata export, split options, database output | `-o` (output dir), `--db`, `--no-meta`, `--split-az`, `--split-n` |
| `pack` | Create MDX/MDD from sources (smart output naming) | Auto-detects output filename, metadata file discovery | `-a` (add source), `-m` (metadata file), multiple sources |
| `query` | Search words with smart HTML file output | Safe filename generation, custom output paths | `-o` (output file), `--passcode`, auto HTML creation |
| `info` | Display rich dictionary information | Beautiful formatting, multiple export formats | `--format` (text/json/toml), comprehensive metadata |
| `keys` | List and filter dictionary keys | Pattern matching, pagination, sampling | `--limit`, `--pattern`, memory-efficient streaming |
| `convert` | Convert between formats | Text โ Database conversion, preservation of structure | `txt-to-db`, `db-to-txt`, maintains indexes |
### Special Tools
- **TBX Converter**: `tests/script_convert_tbx_to_mdict.py` - Convert TBX/TMX translation memories to MDict format
## Testing
The project includes comprehensive testing:
```bash
# Run all tests
tests/run_tests.sh all
# Run specific test types
tests/run_tests.sh unit # Fast unit tests
tests/run_tests.sh integration # Tests with real files
tests/run_tests.sh -c # With coverage report
# Shell integration test
tests/test_integration.sh
```
## MDX File Format
An `.mdx` file consists of:
1. **Header**: Dictionary metadata (Title, Description, Version, etc.) in UTF-16LE XML
2. **Keyword Section**: Compressed blocks of keywords with index for quick lookup
3. **Record Section**: Compressed blocks of dictionary entries (HTML content)
This structure allows efficient random access even in large dictionaries with millions of entries.
## Development
### Project Architecture
The project follows a modern, modular architecture:
```
src/mdict_utils/
โโโ __main__.py # CLI entry point with subcommand routing
โโโ commands/ # Individual command implementations
โ โโโ extract.py # Dictionary extraction with metadata
โ โโโ pack.py # Dictionary packing with auto-detection
โ โโโ query.py # Word lookup with smart file output
โ โโโ info.py # Rich information display
โ โโโ keys.py # Key listing and filtering
โ โโโ convert.py # Format conversion utilities
โโโ base/ # Low-level MDict format implementation
โโโ metadata.py # TOML metadata management system
โโโ reader.py # High-level reading interface
โโโ writer.py # High-level writing interface
```
**Core Statistics:**
- ~4,700 lines of Python code
- 6 main commands with consistent interface
- Comprehensive test suite (38+ tests)
- Full type hints and documentation
### Development Setup
```bash
git clone https://github.com/likai/mdtt.git
cd mdtt
uv sync # Install dependencies and create virtual environment
```
### Code Quality & Testing
```bash
# Code quality checks
uv run ruff check # Linting (pycodestyle, pyflakes, security, etc.)
uv run ruff format # Code formatting
uv run pyright # Static type checking
# Testing options
tests/run_tests.sh all # Complete test suite
tests/run_tests.sh unit # Fast unit tests only
tests/run_tests.sh integration # Integration tests with real files
tests/run_tests.sh -c # Run with coverage report
tests/test_integration.sh # Shell-based integration testing
# Direct pytest usage
uv run pytest # Run all tests
uv run pytest -m "not slow" # Skip performance tests
```
### Current Status
- โ
**Core Functionality**: All major features implemented and tested
- โ
**Modern CLI**: Complete subcommand architecture with rich help
- โ
**TOML Metadata**: Full implementation with auto-detection
- โ
**Test Coverage**: Comprehensive testing including real dictionary files
- โ ๏ธ **Code Quality**: Minor linting issues in legacy base modules (308 warnings)
- ๐ **Active Development**: Recent commits include TBX converter and enhanced query system
## Acknowledgments
This project is built upon and significantly evolved from the original [mdict-utils](https://github.com/liuyug/mdict-utils) by Yugang LIU. While MDTT has been extensively rewritten with modern architecture, new features, and enhanced functionality, we acknowledge the foundational work that made this project possible.
Key differences in MDTT:
- Complete rewrite with modern Python 3.13+ and subcommand architecture
- TOML-based metadata management system
- Enhanced CLI interface with comprehensive help
- Extensive test suite with real dictionary file testing
- New features: TBX conversion, smart query system, format conversion tools
### Migration from mdict-utils v1.x
If you're upgrading from the original mdict-utils v1.x:
1. **Update command syntax** to use subcommands
2. **Replace** `-t`/`-d` flags with `.meta.toml` files
3. **Use** `mdtt info` instead of `mdtt -m`
4. **Benefit** from improved help, error messages, and output formatting
## Reference
- [MDict Format Analysis](https://bitbucket.org/xwang/mdict-analysis)
- [Write MDict](https://github.com/zhansliu/writemdict)
## License
MIT License - see LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "mdtt",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "mdict, dictionary, mdx, mdd, pack, unpack",
"author": "Libukai",
"author_email": "Libukai <xiaobuyao@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b8/ce/57c3dc66075bc06121eb96565d097a903ced3afc8abdb019aa12def36e07/mdtt-2.0.2.tar.gz",
"platform": null,
"description": "# MDTT - MDx Dict Trans ToolKit\n\nA modern Python 3.13+ tool for packing and unpacking MDict dictionary files (.mdx/.mdd) with advanced features and intuitive CLI interface.\n\nEnglish | [\u4e2d\u6587](https://github.com/libukai/mdtt/blob/master/README-zh.md)\n\n[](https://opensource.org/licenses/MIT)\n[](https://www.python.org/downloads/)\n[](https://github.com/astral-sh/ruff)\n\n> **Version 2.0 - Complete Rewrite:**\n> - \ud83c\udd95 **Modern Subcommand Architecture** - Clean CLI interface similar to `git` and `docker`\n> - \ud83c\udd95 **TOML Metadata Management** - User-friendly `.meta.toml` configuration files with auto-detection\n> - \ud83c\udd95 **Rich Information Display** - Beautiful formatted output with JSON/TOML export options\n> - \ud83c\udd95 **Comprehensive Testing** - Full test suite including unit, integration, and real-file testing\n> - \ud83c\udd95 **Enhanced Query System** - Smart output file naming and custom file specification\n> - \ud83c\udd95 **Format Conversion Tools** - Built-in converters between text, database, and MDict formats\n\n## Key Features\n\n- \u2705 **Full MDict Support**: Read/Write MDict 2.0, Read MDict 3.0, supports encrypted dictionaries\n- \u2705 **Multiple Output Formats**: MDX/MDD files, SQLite databases, plain text, split files\n- \u2705 **Intelligent CLI**: Context-aware commands with comprehensive help and error handling\n- \u2705 **Metadata System**: Automatic `.meta.toml` file detection and generation\n- \u2705 **Advanced Extraction**: Split by alphabet, custom chunk sizes, metadata export\n- \u2705 **Developer Friendly**: Modern Python 3.13+, uv package manager, comprehensive type hints\n\n## Installation\n\n### From PyPI (Recommended)\n```bash\npip install mdtt\n```\n\n### Development Setup\n```bash\ngit clone https://github.com/likai/mdtt.git\ncd mdtt\nuv sync # Install dependencies with uv (recommended)\n# or: pip install -e \".[dev]\" # Alternative with pip\n```\n\n### Requirements\n- Python 3.13+ (required for modern typing features)\n- Optional: `uv` package manager for faster dependency resolution\n\n## Quick Start\n\n### View Available Commands\n```bash\nmdtt --help\n```\n\n### Extract a Dictionary\n```bash\n# Basic extraction (outputs to current directory with .txt and .meta.toml)\nmdtt extract my_dict.mdx\n\n# Extract to specific directory\nmdtt extract my_dict.mdx -o ./output\n\n# Extract as database\nmdtt extract my_dict.mdx --db\n\n# Extract without metadata file\nmdtt extract my_dict.mdx --no-meta\n```\n\n### Create a Dictionary\n\n1. **Create your content file** (`my_dict.txt`):\n```\napple\nA round fruit that grows on trees.\n</>\nbanana\nA long curved yellow fruit.\n</>\n```\n\n2. **Create metadata file** (`my_dict.meta.toml`):\n```toml\n[dictionary]\ntitle = \"My Custom Dictionary\"\ndescription = \"A simple English dictionary\"\n```\n\n3. **Pack the dictionary**:\n```bash\n# Auto-detect output filename\nmdtt pack -a my_dict.txt\n\n# Or specify explicit output name \nmdtt pack -a my_dict.txt my_dict.mdx\n```\n\n### Query and Information\n\n```bash\n# Query a word (displays result and saves to apple.html)\nmdtt query apple my_dict.mdx\n\n# Query with custom output filename\nmdtt query apple my_dict.mdx -o definitions/apple_def.html\n\n# Query phrases (automatically creates safe filenames)\nmdtt query \"can't believe\" my_dict.mdx # Creates can_t_believe.html\n\n# Show dictionary information (rich formatted output)\nmdtt info my_dict.mdx\n\n# Export information as JSON or TOML\nmdtt info my_dict.mdx --format json\nmdtt info my_dict.mdx --format toml\n\n# List dictionary keys with filtering\nmdtt keys my_dict.mdx --limit 100\nmdtt keys my_dict.mdx --pattern \"apple*\"\n```\n\n## Advanced Usage\n\n### Working with TOML Metadata\n\nCreate `.meta.toml` files for automatic metadata detection:\n\n```toml\n[dictionary]\ntitle = \"Oxford Advanced Dictionary\"\ndescription = \"\"\"\nComprehensive English dictionary with detailed definitions.\nPerfect for students and professionals.\n\"\"\"\n\n# \u5176\u4ed6\u5c5e\u6027\uff08encoding, version \u7b49\uff09\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u503c\n# \u5982\u9700\u81ea\u5b9a\u4e49\uff0c\u53ef\u6dfb\u52a0 [advanced] \u90e8\u5206\n```\n\n### Multiple Input Sources\n\n```bash\n# Pack multiple files (auto-detect output name)\nmdtt pack -a part1.txt -a part2.txt\n\n# Pack with explicit output name\nmdtt pack -a part1.txt -a part2.txt combined.mdx\n\n# Use custom metadata\nmdtt pack -a source.txt -m custom.meta.toml\n\n# Pack media resources (auto-detects .mdd extension)\nmdtt pack -a images_folder/\n```\n\n### Format Conversion & Import Tools\n\n```bash\n# Convert between text and database formats\nmdtt convert txt-to-db dict.txt dict.db\nmdtt convert db-to-txt dict.db dict.txt\n\n# TBX (Translation Memory) to MDict conversion\n# Convert TBX/TMX translation memory files to MDict format\npython tests/script_convert_tbx_to_mdict.py input.tbx output.mdx\n# Features:\n# - Automatic metadata generation from TBX header\n# - CSS styling for professional appearance \n# - Support for multiple languages and terminology\n```\n\n### Advanced Query Options\n\n```bash\n# Query with automatic HTML output (creates word.html)\nmdtt query \"hello world\" my_dict.mdx\n\n# Query with custom output file\nmdtt query apple my_dict.mdx -o definitions/apple.html\n\n# Query encrypted dictionaries\nmdtt query word encrypted.mdx --passcode mypassword\n\n# Special characters in queries are handled automatically\n# e.g., \"can't\" becomes \"can_t.html\"\nmdtt query \"can't\" my_dict.mdx\n```\n\n### Advanced Extraction Options\n\n```bash\n# Split by alphabet (with metadata)\nmdtt extract large_dict.mdx --split-az\n\n# Split into N files\nmdtt extract large_dict.mdx --split-n 5\n\n# Handle encrypted dictionaries\nmdtt extract encrypted.mdx --passcode mypassword\n\n# Extract to specific directory without metadata\nmdtt extract dict.mdx -o ./output --no-meta\n```\n\n## Command Reference\n\n| Command | Purpose | Key Features | Options |\n|---------|---------|-------------|---------|\n| `extract` | Extract MDX/MDD files with metadata export | Auto-metadata export, split options, database output | `-o` (output dir), `--db`, `--no-meta`, `--split-az`, `--split-n` |\n| `pack` | Create MDX/MDD from sources (smart output naming) | Auto-detects output filename, metadata file discovery | `-a` (add source), `-m` (metadata file), multiple sources |\n| `query` | Search words with smart HTML file output | Safe filename generation, custom output paths | `-o` (output file), `--passcode`, auto HTML creation |\n| `info` | Display rich dictionary information | Beautiful formatting, multiple export formats | `--format` (text/json/toml), comprehensive metadata |\n| `keys` | List and filter dictionary keys | Pattern matching, pagination, sampling | `--limit`, `--pattern`, memory-efficient streaming |\n| `convert` | Convert between formats | Text \u2194 Database conversion, preservation of structure | `txt-to-db`, `db-to-txt`, maintains indexes |\n\n### Special Tools\n- **TBX Converter**: `tests/script_convert_tbx_to_mdict.py` - Convert TBX/TMX translation memories to MDict format\n\n## Testing\n\nThe project includes comprehensive testing:\n\n```bash\n# Run all tests\ntests/run_tests.sh all\n\n# Run specific test types\ntests/run_tests.sh unit # Fast unit tests\ntests/run_tests.sh integration # Tests with real files\ntests/run_tests.sh -c # With coverage report\n\n# Shell integration test\ntests/test_integration.sh\n```\n\n## MDX File Format\n\nAn `.mdx` file consists of:\n\n1. **Header**: Dictionary metadata (Title, Description, Version, etc.) in UTF-16LE XML\n2. **Keyword Section**: Compressed blocks of keywords with index for quick lookup\n3. **Record Section**: Compressed blocks of dictionary entries (HTML content)\n\nThis structure allows efficient random access even in large dictionaries with millions of entries.\n\n## Development\n\n### Project Architecture\n\nThe project follows a modern, modular architecture:\n\n```\nsrc/mdict_utils/\n\u251c\u2500\u2500 __main__.py # CLI entry point with subcommand routing\n\u251c\u2500\u2500 commands/ # Individual command implementations\n\u2502 \u251c\u2500\u2500 extract.py # Dictionary extraction with metadata\n\u2502 \u251c\u2500\u2500 pack.py # Dictionary packing with auto-detection\n\u2502 \u251c\u2500\u2500 query.py # Word lookup with smart file output\n\u2502 \u251c\u2500\u2500 info.py # Rich information display\n\u2502 \u251c\u2500\u2500 keys.py # Key listing and filtering\n\u2502 \u2514\u2500\u2500 convert.py # Format conversion utilities\n\u251c\u2500\u2500 base/ # Low-level MDict format implementation\n\u251c\u2500\u2500 metadata.py # TOML metadata management system\n\u251c\u2500\u2500 reader.py # High-level reading interface\n\u2514\u2500\u2500 writer.py # High-level writing interface\n```\n\n**Core Statistics:**\n- ~4,700 lines of Python code\n- 6 main commands with consistent interface\n- Comprehensive test suite (38+ tests)\n- Full type hints and documentation\n\n### Development Setup\n\n```bash\ngit clone https://github.com/likai/mdtt.git\ncd mdtt\nuv sync # Install dependencies and create virtual environment\n```\n\n### Code Quality & Testing\n\n```bash\n# Code quality checks\nuv run ruff check # Linting (pycodestyle, pyflakes, security, etc.)\nuv run ruff format # Code formatting\nuv run pyright # Static type checking\n\n# Testing options\ntests/run_tests.sh all # Complete test suite\ntests/run_tests.sh unit # Fast unit tests only \ntests/run_tests.sh integration # Integration tests with real files\ntests/run_tests.sh -c # Run with coverage report\ntests/test_integration.sh # Shell-based integration testing\n\n# Direct pytest usage\nuv run pytest # Run all tests\nuv run pytest -m \"not slow\" # Skip performance tests\n```\n\n### Current Status\n\n- \u2705 **Core Functionality**: All major features implemented and tested\n- \u2705 **Modern CLI**: Complete subcommand architecture with rich help\n- \u2705 **TOML Metadata**: Full implementation with auto-detection\n- \u2705 **Test Coverage**: Comprehensive testing including real dictionary files\n- \u26a0\ufe0f **Code Quality**: Minor linting issues in legacy base modules (308 warnings)\n- \ud83d\udd04 **Active Development**: Recent commits include TBX converter and enhanced query system\n\n\n## Acknowledgments\n\nThis project is built upon and significantly evolved from the original [mdict-utils](https://github.com/liuyug/mdict-utils) by Yugang LIU. While MDTT has been extensively rewritten with modern architecture, new features, and enhanced functionality, we acknowledge the foundational work that made this project possible.\n\nKey differences in MDTT:\n- Complete rewrite with modern Python 3.13+ and subcommand architecture\n- TOML-based metadata management system \n- Enhanced CLI interface with comprehensive help\n- Extensive test suite with real dictionary file testing\n- New features: TBX conversion, smart query system, format conversion tools\n\n### Migration from mdict-utils v1.x\n\nIf you're upgrading from the original mdict-utils v1.x:\n\n1. **Update command syntax** to use subcommands\n2. **Replace** `-t`/`-d` flags with `.meta.toml` files\n3. **Use** `mdtt info` instead of `mdtt -m`\n4. **Benefit** from improved help, error messages, and output formatting\n\n## Reference\n\n- [MDict Format Analysis](https://bitbucket.org/xwang/mdict-analysis)\n- [Write MDict](https://github.com/zhansliu/writemdict)\n\n## License\n\nMIT License - see LICENSE file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MDx Dict Trans ToolKit",
"version": "2.0.2",
"project_urls": {
"Bug Tracker": "https://github.com/likai/mdtt/issues",
"Documentation": "https://github.com/likai/mdtt#readme",
"Homepage": "https://github.com/likai/mdtt"
},
"split_keywords": [
"mdict",
" dictionary",
" mdx",
" mdd",
" pack",
" unpack"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d6fa038cb3d4e0e41104485578d9c17d7f9d186f24330580647acb38d244c332",
"md5": "e7ab09d5a3db2a3d72d54366212e04b8",
"sha256": "98696f5cb11c05641a97843776abb3b9f9722d4204a4cb310b1739d102c429ad"
},
"downloads": -1,
"filename": "mdtt-2.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e7ab09d5a3db2a3d72d54366212e04b8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 52911,
"upload_time": "2025-09-01T07:03:02",
"upload_time_iso_8601": "2025-09-01T07:03:02.197536Z",
"url": "https://files.pythonhosted.org/packages/d6/fa/038cb3d4e0e41104485578d9c17d7f9d186f24330580647acb38d244c332/mdtt-2.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8ce57c3dc66075bc06121eb96565d097a903ced3afc8abdb019aa12def36e07",
"md5": "97024480e2da7d94364c9bf8b4c6bed6",
"sha256": "dd8ae4845fd6f75a2d1be9163b4a20674e914ce33aaca913942ef2d3ace9dda0"
},
"downloads": -1,
"filename": "mdtt-2.0.2.tar.gz",
"has_sig": false,
"md5_digest": "97024480e2da7d94364c9bf8b4c6bed6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 44495,
"upload_time": "2025-09-01T07:03:03",
"upload_time_iso_8601": "2025-09-01T07:03:03.469464Z",
"url": "https://files.pythonhosted.org/packages/b8/ce/57c3dc66075bc06121eb96565d097a903ced3afc8abdb019aa12def36e07/mdtt-2.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 07:03:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "likai",
"github_project": "mdtt",
"github_not_found": true,
"lcname": "mdtt"
}