为TinyDNG提供的Python绑定
项目描述
小型DNG加载器和写入器库
C++11中仅包含头文件的简单且有限的DNG(数字负片,TIFF格式+扩展)加载器和写入器。
目前TinyDNG仅支持无损RAW DNG和有限的无损JPEG DNG(不支持有损压缩)。
TinyDNG还可以用作TIFF RGB图像加载器(支持8位、16位和32位)。
TinyDNG加载模块正在使用LLVMFuzzer进行模糊测试,并且足够安全(不存在C++异常和assert/abort代码)。
(注意:TinyDNG仅加载DNG数据,因此您需要自己的RAW处理代码(例如debayer)来获得如上所示的已开发图像)
功能
加载
- RAW DNG数据
- 无损JPEG
- 基于liblj92库支持无损JPEG解码: https://bitbucket.org/baldand/mlrawviewer.git
- ZIP压缩的DNG
- 使用miniz或zlib
- JPEG
- 支持通过
stb_image.h
支持JPEG图像(例如缩略图)。
- 支持通过
- TIFF
- 8位未压缩
- 8位LZW压缩(无预测器,水平差预测器)
- 实验性
- Apple ProRAW(无损JPEG 12位)
- 无损JPEG 12位
- 语义图(8位标准JPEG)
- 解码Canon RAW(CR2)
- RAW
- mRAW
- sRAW
- 解码Nikon RAW(NEF)
- 待办事项
- 读取自定义TIFF标记。
- Apple ProRAW(无损JPEG 12位)
- 从内存中读取DNG数据。
写入
- DNG和TIFF
- 无损JPEG压缩
支持的DNG文件
以下是支持的DNG文件列表。
- Sigma sd Quattro H
- 未压缩的RGB 12位图像。
- iPhone DNG
- Apple ProRAW
- 无损JPEG 12位
- 语义图
- Black magic DNG
- CinemaDNG(有损压缩)不支持。
- Canon CR2(实验性)
- 由于CR2格式也基于TIFF格式: http://lclevy.free.fr/cr2/
- 仅RAW(不支持mRAW和sRAW)
- Magic lantern DNG
- 8位TIFF图像
- LZW压缩8位图像。
- 16位未压缩TIFF图像
- 32位未压缩TIFF图像
- OpCodeList
- GainMap
用法
加载DNG
#include <cstdio>
#include <cstdlib>
#include <iostream>
// Define TINY_DNG_LOADER_IMPLEMENTATION and STB_IMAGE_IMPLEMENTATION in only one *.cc
#define TINY_DNG_LOADER_IMPLEMENTATION
#define STB_IMAGE_IMPLEMENTATION
// Enable ZIP compression(through miniz library)
// Please don't forget copying&adding `miniz.c` and `miniz.h` to your project.
// #define TINY_DNG_LOADER_ENABLE_ZIP
// Uncomment these two lines if you want to use system provided zlib library, not miniz
// #define TINY_DNG_LOADER_USE_SYSTEM_ZLIB
// #include <zlib.h>
#include "tiny_dng_loader.h"
int main(int argc, char **argv) {
std::string input_filename = "colorchart.dng";
if (argc > 1) {
input_filename = std::string(argv[1]);
}
std::string warn, err;
std::vector<tinydng::DNGImage> images;
// List of custom field infos. This is optional and can be empty.
std::vector<tinydng::FieldInfo> custom_field_lists;
// Loads all images(IFD) in the DNG file to `images` array.
// You can use `LoadDNGFromMemory` API to load DNG image from a memory.
bool ret = tinydng::LoadDNG(input_filename.c_str(), custom_field_lists, &images, &warn, &err);
if (!warn.empty()) {
std::cout << "Warn: " << warn << std::endl;
}
if (!err.empty()) {
std::cerr << "Err: " << err << std::endl;
}
if (ret) {
for (size_t i = 0; i < images.size(); i++) {
const tinydng::DNGImage &image = images[i];
;
std::cout << "width = " << image.width << std::endl;
std::cout << "height = " << image.height << std::endl;
std::cout << "bits per piexl = " << image.bits_per_sample << std::endl;
std::cout << "bits per piexl(original) = " << image.bits_per_sample_original << std::endl;
std::cout << "samples per pixel = " << image.samples_per_pixel << std::endl;
}
}
return EXIT_SUCCESS;
}
写入DNG(和TIFF)
请参阅examples/dngwriter和https://github.com/storyboardcreativity/zraw-decoder以获取更多详细信息。
#include <cassert>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#define TINY_DNG_WRITER_IMPLEMENTATION
#include "tiny_dng_writer.h"
static void CreateRGBImage(tinydngwriter::DNGImage *dng_image,
const unsigned short basecol) {
unsigned int image_width = 512;
unsigned int image_height = 512;
dng_image->SetSubfileType(false, false, false);
dng_image->SetImageWidth(image_width);
dng_image->SetImageLength(image_height);
dng_image->SetRowsPerStrip(image_height);
// SetSamplesPerPixel must be called before SetBitsPerSample()
dng_image->SetSamplesPerPixel(3);
uint16_t bps[3] = {16, 16, 16};
dng_image->SetBitsPerSample(3, bps);
dng_image->SetPlanarConfig(tinydngwriter::PLANARCONFIG_CONTIG);
dng_image->SetCompression(tinydngwriter::COMPRESSION_NONE);
dng_image->SetPhotometric(tinydngwriter::PHOTOMETRIC_RGB);
dng_image->SetXResolution(1.0);
dng_image->SetYResolution(1.2); // fractioal test
dng_image->SetResolutionUnit(tinydngwriter::RESUNIT_NONE);
dng_image->SetImageDescription("bora");
std::vector<unsigned short> buf;
buf.resize(image_width * image_height * 3);
for (size_t y = 0; y < image_height; y++) {
for (size_t x = 0; x < image_width; x++) {
buf[3 * (y * image_width + x) + 0] = static_cast<unsigned short>(x % 512);
buf[3 * (y * image_width + x) + 1] = static_cast<unsigned short>(y % 512);
buf[3 * (y * image_width + x) + 2] = basecol;
}
}
dng_image->SetImageData(reinterpret_cast<unsigned char *>(buf.data()),
buf.size() * sizeof(unsigned short));
}
int main(int argc, char **argv) {
std::string output_filename = "output.dng";
if (argc < 1) {
std::cout << argv[0] << " <output.dng>" << std::endl;
}
if (argc > 1) {
output_filename = std::string(argv[1]);
}
// TinyDNGWriter supports both BigEndian and LittleEndian TIFF.
// Default = BigEndian.
bool big_endian = false;
if (argc > 2) {
big_endian = bool(atoi(argv[2]));
}
{
// DNGWriter supports multiple DNG images.
// First create DNG image data, then pass it to DNGWriter with AddImage API.
tinydngwriter::DNGImage dng_image0;
dng_image0.SetBigEndian(big_endian);
tinydngwriter::DNGImage dng_image1;
dng_image1.SetBigEndian(big_endian);
CreateRGBImage(&dng_image0, 12000);
CreateRGBImage(&dng_image1, 42000);
tinydngwriter::DNGWriter dng_writer(big_endian);
bool ret = dng_writer.AddImage(&dng_image0);
assert(ret);
ret = dng_writer.AddImage(&dng_image1);
assert(ret);
std::string err;
ret = dng_writer.WriteToFile(output_filename.c_str(), &err);
if (!err.empty()) {
std::cerr << err;
}
if (!ret) {
return EXIT_FAILURE;
}
std::cout << "Wrote : " << output_filename << std::endl;
}
return EXIT_SUCCESS;
}
自定义
TINY_DNG_LOADER_USE_THREAD
:启用多线程加载(需要C++11)TINY_DNG_LOADER_ENABLE_ZIP
:启用解码AdobeDeflate图像(目前仅限于瓦片RGB图像)。TINY_DNG_LOADER_USE_SYSTEM_ZLIB
:使用系统zlib库代替miniz。
TINY_DNG_LOADER_DEBUG
:启用调试printf(仅限开发者!)TINY_DNG_LOADER_NO_STB_IMAGE_INCLUDE
:在tiny_dng_loader.h
内部不包含stb_image.h
。TINY_DNG_LOADER_NO_STDIO
:禁用printf、cout/cerr。
示例
-
examples/custom_fields 编写具有自定义TIFF字段的DNG。
-
examples/viewer 带有简单去马赛克的简单查看器示例。
-
examples/tiff_viewer 简单的TIFF查看器示例(假设TIFF RGB图像存储在DNG中)。
-
examples/fptiff2exr 32位浮点(SAMPLEFORMAT_IEEEFP)灰度或RGB图像到EXR转换器。
-
examples/dng2exr 简单的DNG到OpenEXR转换器。
-
examples/dngwriter 简单的DNG编写示例。
Python绑定(实验性)
$ python -m pip install tinydng
支持Windows(包括ARM)、Linux(包括aarch64)和macOS。
请参阅experimental/python以获取示例Python代码。
命令行工具(实验性)
当从pip安装TinyDNG时,CLI命令tinydng
可用。
$ tinydng input.dng
模糊测试
- fuzzer 模糊测试。
资源
以下是关于如何解码RAW文件以及如何开发RAW图像的杰出文章列表。
- 手动开发RAW照片文件 - 第1部分 http://www.odelama.com/photo/Developing-a-RAW-Photo-by-hand/
- 手动开发RAW照片文件 - 第2部分 http://www.odelama.com/photo/Developing-a-RAW-Photo-by-hand/Developing-a-RAW-Photo-by-hand_Part-2/
- 了解存储在Canon RAW .CR2文件中的内容,如何以及为什么 http://lclevy.free.fr/cr2/
待办事项
- 移至C++11。
- 删除C++03支持。
- 解析Apple ProRAW中的语义映射标记。
- 添加仅加载DNG头部的模式
- 解析更多DNG头
- 解析更多自定义DNG(TIFF)标记
- 有损DNG
- 改进DNG编写器
- 支持压缩(LJPEG)
- 支持大TIFF(4GB+)
- 解码Nikon RAW(NEF)
- 改进Canon RAW解码
- 优化无损JPEG解码
- 延迟加载瓦片图像。
许可证
TinyDNG采用MIT许可证。
TinyDNG使用了以下第三方库。
- liblj92(无损JPEG库): (c) Andrew Baldwin 2014. MIT许可证。 https://bitbucket.org/baldand/mlrawviewer.git
- stb_image:公共领域图像加载器。
- lzw.hpp:作者:Guilherme R. Lampert。公共领域LZW解码器。
- miniz:版权所有 2013-2014 RAD Game Tools和Valve Software。版权所有 2010-2014 Rich Geldreich和Tenacious Software LLC MIT许可证。请参阅
miniz.LICENSE
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建版本
tinydng-0.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ede1315f980318f99f3102edbb1ee13ef71d148e9731ae2dfbcb450968cb7072 |
|
MD5 | b3dc6541b6ea20f51345b9e26879e283 |
|
BLAKE2b-256 | 2395b7fb9f81b34ceab28cd255974ef146f6a22ce1ff8f11c539cd0568172ccc |
tinydng-0.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 060a4fce1d8f1f6b5f2ba1119705b44e112a214a3d2386278c23dd4dc7021336 |
|
MD5 | f805a1d12fc8b3ae3e2abecd1bd22e62 |
|
BLAKE2b-256 | 01c0aa304fa1cbd636f163fe6d73afa64caf804fdffa4b0b50feff6adfc0006a |
哈希值(tinydng-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bad5f7ea4ec3f5d01d490082fe1b71f90008d9aaec446803308ce83e266acb8d |
|
MD5 | 7c2697c341a36db110b5d17089ecd8b6 |
|
BLAKE2b-256 | d87cd484f7c238db8bb1922b0840656a675e3a8ded6e4cc3a9bf1ca60f32b8c7 |
哈希值(tinydng-0.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 308b048dd1d10b58d0727c8c14f4570b3c6bf09f6d32f5dee8027a4fd83f3537 |
|
MD5 | e8b5d110285cf2866367f10b280377ee |
|
BLAKE2b-256 | 82eb5dbbdfd36751b5679227fd675ba9bb68df1c082939a57373b9a0751a6d75 |
哈希值(tinydng-0.1.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1f5ae4defee94871ba5f9c6594c56f534f30361008fca1388a4eee930819ef43 |
|
MD5 | 0ddb0eeae8ab2cf7add9ccceba6e8fbe |
|
BLAKE2b-256 | eddfcc0df37f3f429e6c62f19e4501d9c0fcb7a2df3845fac5f956c426e235be |
哈希值(tinydng-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e0aca1b4d11c42a6d064783501c62aa190fbec3d2e47fe1bff5c4e0e3cb2e7c8 |
|
MD5 | 2af7d9c1c2be4f4dfb94558746ffd115 |
|
BLAKE2b-256 | e75c1116323fe6b77b9de463e6d5265e5cecb9b8ca2b3d0fea07634b2ac67ac0 |
哈希值(tinydng-0.1.0-cp312-cp312-musllinux_1_1_i686.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 19811c194affe8b6a67f45e3ba63253275c44f5134ddfb050cc069f13e0413e8 |
|
MD5 | f7935fb88998563a070020a4d2bbbd3a |
|
BLAKE2b-256 | d7a12ec8938d7206d1cecedb965e2222794e8b9f556fec137f028f5a0b0d8b78 |
哈希值(tinydng-0.1.0-cp312-cp312-musllinux_1_1_aarch64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bacdf8dad3eb9ea403ddf995e23df3361724fcdcb83458560e7167dc4f965d48 |
|
MD5 | ed723b7c3c5cb5f91d2f52c08a0897c5 |
|
BLAKE2b-256 | b33c6c159046bc1049de38635e80a1cb38370dce00c7c79f53b21a5c531a00eb |
哈希值(tinydng-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ca23372aa5af633a1d38382de594d0b6f75d5415677ec845e21bab8bad4579f8 |
|
MD5 | 02c3acf1e2ddf722d75bbcf1eacd8b45 |
|
BLAKE2b-256 | 30752780ea60582214a6d97d6ce3495943a927c3cb5de69cb95379162cb3b000 |
哈希值(tinydng-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4339b456a0bed9b0f6764382168271a4d7ddf93b04e37103c4e4bbd5474688a8 |
|
MD5 | 56368052f6c43a841df2f708a3dc2104 |
|
BLAKE2b-256 | 17276779e1162a1bc12a0efec4548fb6a58d4eaaae8abb3f61c93b39a19a9246 |
哈希值(tinydng-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6100e443eb0836979b9189ae084a5071af30ad40b4052af7882359748708b602 |
|
MD5 | 99121d521df66f611d7f28c151d5ba9a |
|
BLAKE2b-256 | 3649124504222f7802593021d92c74b6822e78114218555d49c39d477897abc8 |
哈希值(tinydng-0.1.0-cp312-cp312-macosx_11_0_arm64.whl)
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2b14774414f6fdb27a21c5c95c9e7918a12a5874c02bed4df2aecf9f6ca10273 |
|
MD5 | e7ef1ce77bf934dbf767b5178a5eef94 |
|
BLAKE2b-256 | 0849c4e6280d2973872f9c2f6af515db933e7bc9275109f5cb9f51156aede184 |
哈希值 用于 tinydng-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 61a90c448059d26d3fca26a842632f13cbb9881d0e60958a88a5373efe6757bb |
|
MD5 | aac32146975915a9685ea3791b8e6375 |
|
BLAKE2b-256 | e0f42816c8c4dc1d7c02afb0859b6e44bd8000504cda16d40144b63b568f13c3 |
哈希值 用于 tinydng-0.1.0-cp312-cp312-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c19e45664d6ccf9119aa6e8706a83cc9645da63f0f5ecabfdd236583bb81f98 |
|
MD5 | 28d6872b8aab8776d9df19643467b9fe |
|
BLAKE2b-256 | f3cf7ce8975c6c5d0d73477807f6a7dc4fbcdf9df00f4cd03e31e3bd7b720176 |
哈希值 用于 tinydng-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e1db7780c0fd03547e03bd8148809339965ed25353792aa8ab126fd9b83026c |
|
MD5 | 3bc9042362fba543feebef41b09d0764 |
|
BLAKE2b-256 | 845fc53d0a71074e67a1a7b71c0859b38c9a8769443f9ab872d867359ee4889f |
哈希值 用于 tinydng-0.1.0-cp311-cp311-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | de8b4df4d01e72c192fb442cb949b9d959b8d1e4906ddb0b074b57574fa6c32e |
|
MD5 | 8afe4a6f264511651f4d91a4c4f17d2b |
|
BLAKE2b-256 | 5a76d564a5e0335741213f6e7c8b8d604b50223768f10281049c14b134ed063a |
哈希值 用于 tinydng-0.1.0-cp311-cp311-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ba4abc5fb2c7d0f1855183ed98346d262b40ac3038242b288945953918db46e1 |
|
MD5 | a74cc41de10482fec2acda49e9a0d8ae |
|
BLAKE2b-256 | cb02ad80edd613478a106450a02ea279eaad120597c1fe774bd744e4fc33af33 |
哈希值 用于 tinydng-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1410055de43b5d3d1bb6124c83d90f908d6ce6ab80748d00cc6cec4f5ef20557 |
|
MD5 | 6542994ccf4b20bdcabf910c5b12220f |
|
BLAKE2b-256 | 91708f86f1b848354e020cdcd05113058e4072e87852b5c2cdc134ed48bb451e |
哈希值 用于 tinydng-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 21210472b62d21438f3f4bf799fbcc7b55c77935c5839328265791c4a55829ce |
|
MD5 | ee07a17c62d0a037ad52d6fa55dfbe19 |
|
BLAKE2b-256 | 1826dd84d7d010a7c395f37ec6bd6d606977605e077105240de730e7d4745c64 |
哈希值 用于 tinydng-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51cb64d9cdece8be4272018a54078f42213d1471bc1409c99a5c35534e0bcb22 |
|
MD5 | 350936372a879e2b52d9bb5acf62657f |
|
BLAKE2b-256 | 3ac3dde7da99d3635742aa5cd30d6e308b859ef64caca7686134db8dd87ddfd6 |
哈希值 用于 tinydng-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e4a3af5f824092a48e02a6b6b13798c84eec83829cc609179f4ba3e65cdba9fd |
|
MD5 | a29f2f9f0ad7039193f9a05129ec1862 |
|
BLAKE2b-256 | 0f14f5172cb7a9c56319b603d959d8797b2f4b7a12fd3e748e34d5fcd0e1dcd4 |
哈希值 用于 tinydng-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 326316a2c3dffccd8e1b33808531495e184beacdeb92d9206c316773ff01ffc5 |
|
MD5 | 6bddb5d415505dbc4cf845c7ffddeb20 |
|
BLAKE2b-256 | 3eb3cd3015fb2a9e14fc30fe273931d305f9aedf64ab012c89c021a83773b3b6 |
哈希值 用于 tinydng-0.1.0-cp311-cp311-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9fc2c2bfb5d77da04beeadc643be7470e91031fe4e0e4273a50194a11e7dfdc9 |
|
MD5 | e012189c7b67ce1903b1615132d6cff2 |
|
BLAKE2b-256 | cdaefa33d02d7f8eb8e3e90062af5675868fa7a47bc56cd4dcd1e2eec1643430 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e5f84ffd101bfd7e91281a5db9df8f560e96e0ad8a7d0680e394eb7c82132f6 |
|
MD5 | b1a6a2c41dc6d21396f05e9ed02d4f32 |
|
BLAKE2b-256 | b65df1d375fca3132263ac63b2fae6d1cb215821403dbd7b4c25eb15a79ed7b5 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d0ff14469f6524afa04e198b649280dda97e0629984599aa46c20c11f50df99e |
|
MD5 | 31744ef074e2fc7638303467845ff806 |
|
BLAKE2b-256 | 91f27e2a49826abc02e7b83cc8767a1cc0515f9c8be741e97c4c07928db81c8e |
哈希值 用于 tinydng-0.1.0-cp310-cp310-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c8da5e8b0f23dcf849128962b2ffbabbd2cf6c38ee780a60ea3eda51a8d73b3e |
|
MD5 | d638834243dd0217e61125adaa52a6da |
|
BLAKE2b-256 | 5be9d3e52387fd29c24be5349ddfba20e717bdacb73f3eec41ebe53b8ab50030 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 47922e4fbc8fdc37f16d92efe25975aadf7c351c269139a5983e410189ea27e7 |
|
MD5 | 604b754146d1111319dc2858990de1f0 |
|
BLAKE2b-256 | 1739f8239f82667b655e78434f265b43eaa4683e14aadae8b4e92d5ad80f1472 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dc71709baaa6fd8d9fea97ce3267be7e54413169fc1aea7aa854e873aa8e6e6e |
|
MD5 | 9bc0ba2e4de6eb92ee9fcc6237bba0e0 |
|
BLAKE2b-256 | 770ad73bca294f93c5ad8f86b00d6d2cbce712047d5ab8d9a22937ac43a49b5b |
哈希值 用于 tinydng-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4f0df5717663784e1a964d529119ead8eb420c13702c865ba0fe3c95b1d34657 |
|
MD5 | 91d251497bff11b5944a7bd6195018c5 |
|
BLAKE2b-256 | 0a0ff62fd02b7d329bd2d86d2ea3afd4a6f528e3088b7330874acc0c20e2abc2 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8502e36bc342d63d9f348307b9133083978a0d99fbada0660be0824ffa0fff6c |
|
MD5 | ebce959f0f5af6cba577b205730496c0 |
|
BLAKE2b-256 | efcd81ab51ad651aa113c95d044ca65dc885edc334fd1f542b2bc5ce0c7ab271 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9660d78c91ab6a4b14dec1cf8c44282589b6dd3b24251d83d4dd6e817d96f423 |
|
MD5 | 2ce702bdf0c1afccc496cd8e1326d0aa |
|
BLAKE2b-256 | 7e819e3ae9d501a03a5c4817429b1735b06f214f9cd80c7fe1b95c8d879c4a58 |
哈希值 用于 tinydng-0.1.0-cp310-cp310-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93a432ce97796a5653fffa4495c8b1a412f8b619772e4d8c54cf563ba7303410 |
|
MD5 | e426a553002c16d864d0e4675f47ac58 |
|
BLAKE2b-256 | bdd245fb08b716f1ddcd2bb3c58c910e8d399edf288af82bfa169cbbc09ce3c4 |
哈希值 用于 tinydng-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e15758b394c22e8993bcecfcd305f9853c2f837d684388b069db65fb0402f741 |
|
MD5 | fbc5593d22b20db3ea189cd0d86a6a2f |
|
BLAKE2b-256 | bf27217cd01039b04e1eff005dc32142c43735aed874549ac0ec5d2a5885b95e |
哈希值 用于 tinydng-0.1.0-cp39-cp39-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 135aa09026d345e48e8ff3b8c68ab7d7ac5b980c5d352ab73ed5b5f4a3ad5613 |
|
MD5 | 8c171a04c24f6e9786ef3438d4aec25b |
|
BLAKE2b-256 | 41207dfd63e0e7e3dd1a588c72e31c46dcc527f91f77767f749488930c49b011 |
哈希值 用于 tinydng-0.1.0-cp39-cp39-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a6b056b0d04ec0ff88e3c5dd84975e73fca8b5b7c42c59c458968f3da4aba08 |
|
MD5 | 712b31a8666f5afae70d05ed40f12f34 |
|
BLAKE2b-256 | 16317b6e73b66a7a4e52aafca75073df0f7415d515e6ba025c4ceed027d2bfbf |
哈希值 用于 tinydng-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4fc56a9117d71fb4ec8b699c3573d5185df37dcdbfb6f6b5cb63b42cf7bd32b4 |
|
MD5 | 67f9d7652e7f6a067fa3a955ca26f8a2 |
|
BLAKE2b-256 | 24a5e3d3e165abfb9265554e0f4f12068da48a209722d7a1f81a687dec0f73dc |
哈希值 用于 tinydng-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f3d44a1a1941ebf4eeb14709fd9e7cda8ed007393eecc49c0e154531a4c41bca |
|
MD5 | 7574ac88c730ed9011cb73bb329ae201 |
|
BLAKE2b-256 | 32a8426d2341605a4355402aaad8b17a2dd31f990941fded3debbe7f2f4c3297 |
哈希值 用于 tinydng-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e98aa19bc039a2e448d8443185d84aa8c8795998fdc61215a9144f4b6f8c719 |
|
MD5 | 8cf6da20c9db23138eb003647fb7bfbd |
|
BLAKE2b-256 | 9c4f7f804f6ac4f9031d400ffa3fd22f5710db79b68bd5b90f82335e58f74a89 |
哈希值 用于 tinydng-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2ccefdcd818aa2875f5daefb134aa8152bba9318eff3553126b35befd536f837 |
|
MD5 | 7f6e27d9f5832e8b5593b2f0bc851efe |
|
BLAKE2b-256 | 13f7a3d2e427fd0c908c61d912a3094e060154906b2146b074af56b27ac510ee |
哈希值 用于 tinydng-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1200784474aef28559fede72410097dd855def2d4401ac2cdb10e66d0884b556 |
|
MD5 | 789f5ac98d4afa9cd3bf253d870f50ec |
|
BLAKE2b-256 | bb3bf12be7c4c12d0dcdb6452c908ac60a98cd960e6e8f7e0293f6c8c77350de |
哈希值 用于 tinydng-0.1.0-cp39-cp39-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 37ce150b075d53e6d8db522c0144fc78663cdd3e5e7c6ce527a367a8e34040e6 |
|
MD5 | c53ea80e1bc955893c6c93f18445e8e8 |
|
BLAKE2b-256 | 66873470f00214d4bb5818cbb6ae734630ba795fc4c6143ac2b150441978696a |
哈希值用于tinydng-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc3d7a8145aa6135763f8ed2c7d2b6b2e52bca99447cab51ed50a7e67cfda0bd |
|
MD5 | c25791634191746935a3b91197c3294a |
|
BLAKE2b-256 | 8a214e122fe0859e586326f14c6e52debc595782ad05dbde3c1d3bb24ee1823f |
哈希值用于tinydng-0.1.0-cp38-cp38-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0d905c580448f6fa31ad65758f3355068d556765335450ffbb0bc3992bd9ea1e |
|
MD5 | 4ee09e45055403aa2d6cb4899d72b37e |
|
BLAKE2b-256 | 48d3ecd41735e38a800ae83020d1363f12e8e4f635a46699d82a0473a12c6ffd |
哈希值用于tinydng-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c0c144a09415cf398f05239250acfef601521d74019a938eb0b626c8451528a6 |
|
MD5 | 65e702b3285a609c82a5dfade8b99d1c |
|
BLAKE2b-256 | 722d47d39feba0df848f442e81bc4372e148a9c344dc16b4dd9c0232af3dfc7f |
哈希值用于tinydng-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2804da4071b0041e0b6489f8ba23d05a56f7dfd2d8532277766839232c00dd99 |
|
MD5 | a108ca188c4c5fa34fb0404dd98d596c |
|
BLAKE2b-256 | be160e233367b9a3adb08297c66f9d00ebde7ae9e241a38aa74e835ab7b2c420 |
哈希值用于tinydng-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b47054d22068167f7b908a946f89fd3880b44df828f89d44a0c4845caece984a |
|
MD5 | dc76a6fa1c4be43dfa4c16570fe987c1 |
|
BLAKE2b-256 | 9820819573183247c9a44a1fe30872bbdb30b85a1274713cafd93a21f61eeb8c |
哈希值用于tinydng-0.1.0-cp38-cp38-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0cdff76886a0ca87347e1052c9a1511d7c13aed8d55574ecfe1c8878a098a223 |
|
MD5 | 91a2aa99dc96ba783ddc5286ead32686 |
|
BLAKE2b-256 | 76d2cc42438478d54ebe741c8baf6a431d6f3ad18b90bd1af778d951c96bfee5 |
哈希值用于tinydng-0.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4464acda48f4985890a1e0fc6b9a297b9fe47794933c338be5287c63d40d5425 |
|
MD5 | 7ba7719b547864498de996352b988161 |
|
BLAKE2b-256 | bead2882b064231718e14830a0c6b5da6a415e26985a9d22b8b4b7f27da01ba0 |
哈希值 for tinydng-0.1.0-cp37-cp37m-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 22e86d29fa0a769757c5b19c27795f0056e6cdd7e2e1f821e7181c81898efed7 |
|
MD5 | d7e16c88fbbd9b8f55806a79efaf983a |
|
BLAKE2b-256 | bebc5218a1e6c1cbf85f808a64e622fbc3cf7f7445c88c278af0f0355473505e |
哈希值 for tinydng-0.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a844dd3411a617f7ea73293c9b7633cf5712611dddaa257bde773aef5e950018 |
|
MD5 | feebbaf468d42d6da26271ea12e2606b |
|
BLAKE2b-256 | 5bef0defbb7bce39c28e44308f47d13f55348bba808d3721224c78ed8ab1436e |
哈希值 for tinydng-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34dfbc04072e39e6d0156bfefc36233640511cc7977c06e79b24ee553a699c90 |
|
MD5 | c726c3e5538be783670c76bc947aae14 |
|
BLAKE2b-256 | 6db57f6654350b96fe6edc6695f970a306cdecc9e59c9dd1b930b0d90fd86558 |
哈希值 for tinydng-0.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ad7cec89a936077ccb34a11eba9b873809ddd7cee28b81f8d898b86e84f4f67 |
|
MD5 | 12861c9ab3b835ec5aa3211ec38835b7 |
|
BLAKE2b-256 | e52318dddf4374e66866745044946edfb7702dbfa1eb9eab1e9761911233dbd6 |
哈希值 for tinydng-0.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b9ba7a22389eca23218e497aa8ed2d581d60901d14ebd52ee9d56ef4e70163bb |
|
MD5 | 34b8972d14ee4a454b91a6e5fc49c580 |
|
BLAKE2b-256 | 47a64b787a35bfdf0f73e35a3ae1bd6d6077454bb05c5ab04365660e5166e1d5 |
哈希值 for tinydng-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ba1980440fee67bf99edc0600f19bdc324a04d8e3ec6dd790b883c5c4669c265 |
|
MD5 | 54d4e8a8f0f2d4986dc0faece81d210b |
|
BLAKE2b-256 | 969fdf90446bcfed7f116fc6c0714031a30e683775cd0c9b62c7255c2b6c07e4 |
哈希值 for tinydng-0.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05baffa0a66aac33bbfd4752c87b4afc554fa7fd328e342f8a59083d50902a29 |
|
MD5 | 854d6a8b645b93ee25d6f816f7f43671 |
|
BLAKE2b-256 | 14804606724711019a70db2ffe44c73069a75172a576c13d5420d2e0038d394b |
哈希值 for tinydng-0.1.0-cp36-cp36m-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f8c4d01cac4feaf28bd9b2b7923551c9679abd0896a2d9a2e1ff16743c3dc270 |
|
MD5 | 060911d2206d522154ebc8399964c09c |
|
BLAKE2b-256 | 8fcd38998d0a0c9deaf6d3afaf1fd591c60e4b5c814edf3ca5c79950382daccf |
哈希值 for tinydng-0.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1e955cbb33085a3f4be7baa766494b5eaea45b3769b635934c048315bb310a78 |
|
MD5 | 60da7973ac839428ec3a31c2288321b1 |
|
BLAKE2b-256 | f7e37a4429dfd51333432a98298b4eb5f6310c45f85d1178e5bb6fbc9e714c2e |
哈希值 for tinydng-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e3559661aa886281534fc497b13f826bed397d1812359e05375776f74603eac7 |
|
MD5 | f82c6164ad68387d939fca19306430ea |
|
BLAKE2b-256 | ef3c559738813016e21d0d6a68684f7350fc0cb395148f9b03a869e3d65b001f |
哈希值 用于 tinydng-0.1.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | adaca1c5936080bb6c45b3c88ce8a362b721b601d6ab91af4806afb14b225f5f |
|
MD5 | c86c5a07be825197616a2d4e5f64eb08 |
|
BLAKE2b-256 | ecb092e0bb3df974b1c1712e439ac09515c2460e5478ef544bfca98e2adf3466 |
哈希值 用于 tinydng-0.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a65b781636fe3a05c0050f6269fb5327c871978af21facc3ec655238264b3659 |
|
MD5 | 28e33462976294c133f67b5cc8254edd |
|
BLAKE2b-256 | f2c4b7a7ccbdd993de0d2bb0889fc9505ae656e99cfd393ac550830ec7b330b4 |
哈希值 用于 tinydng-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | abe3f18aadc3fe1c78771d5e24d2a156947ab7704b573123c1f6034332d70b59 |
|
MD5 | bb318a9b38e17f840f8c6d5d057575b1 |
|
BLAKE2b-256 | 6183b8f4f8bc9f984bb9d6380d907bdd6bcc234c4524e10fe9b297ce985a0b1c |