|sh-month| |sh-wheel|
.. |sh-month| image:: https://static.pepy.tech/badge/pysdif3/month
.. |sh-wheel| image:: https://img.shields.io/badge/binary%20wheel-linux%20win64%20macos--x86--64%20macos--arm64-green
SDIF for Python
===============
- Author: Eduardo Moguillansky
- Contact: ``eduardo.moguillansky@gmail.com``
This is a python wrapper to IRCAM’s sdif library
(http://sourceforge.net/projects/sdif/files/sdif/) to read and write
SDIF files. It consists of a core written in Cython and some other
utilities written in Python. The SDIF library is included in the package
and built together with the python wrapper.
**NB**: This software is released under the GPL v3 license.
--------------
Install
-------
.. code:: bash
pip install pysdif3
--------------
Build from source
-----------------
.. code:: bash
git clone https://github.com/gesellkammer/pysdif3
cd pysdif3
python3 setup.py install
--------------
Introduction
------------
Sdif files are used to store time-based analysis. A Sdif file consists
of time-tagged frames, each frame consisting of one or more matrices.
Read a Sdif file, read only selected matrices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: python
from pysdif import *
sdif = SdifFile("path.sdif")
# get metadata
print(sdif.get_NVTs())
for frame in sdif:
print(frame.time, frame.signature)
for matrix in frame:
if matrix.signature == b'1MAT':
print(matrix.get_data())
Write a Sdif file modifying a previous one
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: python
from pysdif import *
infile = SdifFile("source.sdif")
outfile = SdifFile("out.sdif", "w").clone_definitions(infile)
for inframe in infile:
if inframe.signature != b'1TRC':
continue
with outfile.new_frame(inframe.signature, inframe.time) as outframe:
for matrix in inframe:
# 1TRC has columns index, freq, amp, phase
data = matrix.get_data(copy=True)
# modify frequency
data[:,1] *= 2
outframe.add_matrix(matrix.signature, data)
outfile.close()
Write a SDIF file from scratch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: python
from pysdif import *
import numpy as np
sdif = SdifFile("rbep.sdif", "w")
# Add some metadata. This is optional
sdif.add_NVT({'creator': 'pysdif3'})
# Add any matrix definitions. In this case we add only one definition
# This is a matrix named "RBEP" with 6 columns
# Each row in this matrix represents a breakpoint within a frame
# Index: partial index to which a breakpoint belongs
# Frequency: the freq. of the breakpoint
# Amplitude: the amplitude of the breakpoint
# Phase: the phase
# Bandwidth: the "noisyness" of the breakpoint
# Offset: the time offset in relation to the frame time
sdif.add_matrix_type("RBEP", "Index, Frequency, Amplitude, Phase, Bandwidth, Offset")
# After all matrix types are defined we define the frames. A frame is defined
# in terms of the matrices it accepts.
# Here we define a frame named "RBEP" which takes only matrices of type "RBEP"
sdif.add_frame_type("RBEP", ["RBEP ReassignedBandEnhancedPartials"])
# Now we need to add the data. Since there is just one matrix per frame
# in this sdif we can use the shortcut sdif.new_frame_one_matrix which
# creates a frame and adds a matrix all at once
# The data is just fake data for the sake of an example
data = np.array([
[1, 440, 0.1, 0, 0, 0],
[2, 1000, 0.2, 0, 0, 0],
], dtype=float)
sdif.new_frame_one_matrix(frame_sig="RBEP", time=0.5, matrix_sig="RBEP", data=data)
# A second frame
data = np.array([
[1, 442, 0.1, 0, 0, 0],
[2, 1100, 0.1, 0, 0, 0]
], dtype=float)
sdif.new_frame_one_matrix(frame_sig="RBEP", time=0.6, matrix_sig="RBEP", data=data)
sdif.close()
--------------
Documentation
-------------
https://pysdif3.readthedocs.io/
Raw data
{
"_id": null,
"home_page": "https://github.com/gesellkammer/pysdif",
"name": "pysdif3",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Eduardo Moguillansky",
"author_email": "eduardo.moguillansy@gmail.com",
"download_url": null,
"platform": null,
"description": "|sh-month| |sh-wheel|\n\n.. |sh-month| image:: https://static.pepy.tech/badge/pysdif3/month\n.. |sh-wheel| image:: https://img.shields.io/badge/binary%20wheel-linux%20win64%20macos--x86--64%20macos--arm64-green\n\nSDIF for Python\n===============\n\n- Author: Eduardo Moguillansky\n- Contact: ``eduardo.moguillansky@gmail.com``\n\nThis is a python wrapper to IRCAM\u2019s sdif library\n(http://sourceforge.net/projects/sdif/files/sdif/) to read and write\nSDIF files. It consists of a core written in Cython and some other\nutilities written in Python. The SDIF library is included in the package\nand built together with the python wrapper. \n\n**NB**: This software is released under the GPL v3 license.\n\n--------------\n\nInstall\n-------\n\n.. code:: bash\n\n\n pip install pysdif3\n\n\n\n--------------\n\nBuild from source\n-----------------\n\n.. code:: bash\n\n\n git clone https://github.com/gesellkammer/pysdif3\n cd pysdif3\n\n python3 setup.py install\n\n--------------\n\nIntroduction\n------------\n\nSdif files are used to store time-based analysis. A Sdif file consists\nof time-tagged frames, each frame consisting of one or more matrices.\n\nRead a Sdif file, read only selected matrices\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n \n from pysdif import *\n sdif = SdifFile(\"path.sdif\")\n # get metadata\n print(sdif.get_NVTs())\n for frame in sdif:\n print(frame.time, frame.signature)\n for matrix in frame:\n if matrix.signature == b'1MAT':\n print(matrix.get_data())\n\nWrite a Sdif file modifying a previous one\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n\n from pysdif import *\n infile = SdifFile(\"source.sdif\")\n outfile = SdifFile(\"out.sdif\", \"w\").clone_definitions(infile)\n for inframe in infile:\n if inframe.signature != b'1TRC':\n continue\n with outfile.new_frame(inframe.signature, inframe.time) as outframe:\n for matrix in inframe:\n # 1TRC has columns index, freq, amp, phase\n data = matrix.get_data(copy=True)\n # modify frequency\n data[:,1] *= 2\n outframe.add_matrix(matrix.signature, data)\n outfile.close()\n\nWrite a SDIF file from scratch\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n\n from pysdif import *\n import numpy as np\n\n sdif = SdifFile(\"rbep.sdif\", \"w\")\n\n # Add some metadata. This is optional\n sdif.add_NVT({'creator': 'pysdif3'})\n\n # Add any matrix definitions. In this case we add only one definition\n # This is a matrix named \"RBEP\" with 6 columns\n # Each row in this matrix represents a breakpoint within a frame\n # Index: partial index to which a breakpoint belongs\n # Frequency: the freq. of the breakpoint\n # Amplitude: the amplitude of the breakpoint\n # Phase: the phase\n # Bandwidth: the \"noisyness\" of the breakpoint\n # Offset: the time offset in relation to the frame time\n sdif.add_matrix_type(\"RBEP\", \"Index, Frequency, Amplitude, Phase, Bandwidth, Offset\")\n\n # After all matrix types are defined we define the frames. A frame is defined\n # in terms of the matrices it accepts.\n # Here we define a frame named \"RBEP\" which takes only matrices of type \"RBEP\"\n sdif.add_frame_type(\"RBEP\", [\"RBEP ReassignedBandEnhancedPartials\"])\n\n # Now we need to add the data. Since there is just one matrix per frame\n # in this sdif we can use the shortcut sdif.new_frame_one_matrix which \n # creates a frame and adds a matrix all at once\n # The data is just fake data for the sake of an example\n data = np.array([\n [1, 440, 0.1, 0, 0, 0],\n [2, 1000, 0.2, 0, 0, 0], \n ], dtype=float)\n sdif.new_frame_one_matrix(frame_sig=\"RBEP\", time=0.5, matrix_sig=\"RBEP\", data=data)\n\n # A second frame\n data = np.array([\n [1, 442, 0.1, 0, 0, 0],\n [2, 1100, 0.1, 0, 0, 0]\n ], dtype=float)\n sdif.new_frame_one_matrix(frame_sig=\"RBEP\", time=0.6, matrix_sig=\"RBEP\", data=data)\n\n sdif.close()\n\n--------------\n\nDocumentation\n-------------\n\nhttps://pysdif3.readthedocs.io/\n",
"bugtrack_url": null,
"license": null,
"summary": "Wrapper for the SDIF library for audio analysis",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/gesellkammer/pysdif"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2c3096057d886fbbc835c5fba6b55028759393d238d7201bac4019f0ab14b60f",
"md5": "a6baabd419af4eb08983b970d28884f3",
"sha256": "454e8aa0d073dc8dd45ae0926cb48afb6b3e591fd0ebdf3693d4229a4d73e39a"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a6baabd419af4eb08983b970d28884f3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 537333,
"upload_time": "2024-07-16T06:43:49",
"upload_time_iso_8601": "2024-07-16T06:43:49.614546Z",
"url": "https://files.pythonhosted.org/packages/2c/30/96057d886fbbc835c5fba6b55028759393d238d7201bac4019f0ab14b60f/pysdif3-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f084d4aea16debd3590fb43e5d22e16086689c2a2a322ac251269f77c01e175",
"md5": "f36e3cae878030512215188c85d54f54",
"sha256": "a8f040158b0682b557deb06e02aae99e6096d7b0cbbc333860ccaa4d4f9d69fe"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f36e3cae878030512215188c85d54f54",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 520450,
"upload_time": "2024-07-16T06:44:18",
"upload_time_iso_8601": "2024-07-16T06:44:18.021414Z",
"url": "https://files.pythonhosted.org/packages/6f/08/4d4aea16debd3590fb43e5d22e16086689c2a2a322ac251269f77c01e175/pysdif3-1.0.1-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6dd54582a508b9eec0000f4c1410815590b1a07882eb8fef4d216fee581da154",
"md5": "dc4b5d5d1f971f1d38f414f001571cf9",
"sha256": "36b178101bef9f5a405f9e070b03a1a3f6bfe55dee02f68b4cf585c193ea638e"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "dc4b5d5d1f971f1d38f414f001571cf9",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1597341,
"upload_time": "2024-07-16T06:43:34",
"upload_time_iso_8601": "2024-07-16T06:43:34.221500Z",
"url": "https://files.pythonhosted.org/packages/6d/d5/4582a508b9eec0000f4c1410815590b1a07882eb8fef4d216fee581da154/pysdif3-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dbc34ecc9be8867a034bf64b4500e4b7a1c23ecdf145eb085340cb14c4b9c3c0",
"md5": "52cf94fffaad46d732e5e1ed3d5588be",
"sha256": "93c55c2ebfd58a0e60402118f4ef822bc88bcf18eb66f70a526a57fcdb2260ff"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "52cf94fffaad46d732e5e1ed3d5588be",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 446906,
"upload_time": "2024-07-16T06:47:04",
"upload_time_iso_8601": "2024-07-16T06:47:04.496433Z",
"url": "https://files.pythonhosted.org/packages/db/c3/4ecc9be8867a034bf64b4500e4b7a1c23ecdf145eb085340cb14c4b9c3c0/pysdif3-1.0.1-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "05a69173983e3e8e71a2d71ba2ca44dc76ac87c3356736c3537dc2cd12852e9a",
"md5": "c920e1d64af52c5d08566de55304564e",
"sha256": "a32eabfe64b9933f7ad6dc39ed258edd5d577550a11b230c0db6cc50f629d7fa"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "c920e1d64af52c5d08566de55304564e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 476938,
"upload_time": "2024-07-16T06:47:06",
"upload_time_iso_8601": "2024-07-16T06:47:06.533233Z",
"url": "https://files.pythonhosted.org/packages/05/a6/9173983e3e8e71a2d71ba2ca44dc76ac87c3356736c3537dc2cd12852e9a/pysdif3-1.0.1-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6bede85e844df5ce7a9239776a0dd63663e1faaeb659e14f2114219816a41120",
"md5": "a17b7f10fc9dcbd26bcc41cc34a1a962",
"sha256": "085bc799abf62a29c0f5dafdb536a341a35e901560b0ff0941c5368bfaf1fc9f"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a17b7f10fc9dcbd26bcc41cc34a1a962",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 539285,
"upload_time": "2024-07-16T06:44:23",
"upload_time_iso_8601": "2024-07-16T06:44:23.224988Z",
"url": "https://files.pythonhosted.org/packages/6b/ed/e85e844df5ce7a9239776a0dd63663e1faaeb659e14f2114219816a41120/pysdif3-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a4fde58cd4d4dbfa753f754477b3adb312fa2b0cf2c3acad6e5c60b8e7eb043a",
"md5": "ba359c409d44b534b5431b1cfafd7c0e",
"sha256": "1e3841e6f2cc6a7dd440be51a382fa764972d254d5c23716e0d978d0d2c78b3f"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "ba359c409d44b534b5431b1cfafd7c0e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 522049,
"upload_time": "2024-07-16T06:44:27",
"upload_time_iso_8601": "2024-07-16T06:44:27.569669Z",
"url": "https://files.pythonhosted.org/packages/a4/fd/e58cd4d4dbfa753f754477b3adb312fa2b0cf2c3acad6e5c60b8e7eb043a/pysdif3-1.0.1-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "10419ea2c36ea4dca08a8c72025b83c88355fbc5bc9969b9b7e75037d520ac57",
"md5": "2ed05e82e0da7cf322eef491a19e8b24",
"sha256": "55cfb05cea3db37a2d51b64fea9fa9fa69585822363c7d9ad9d1714600d6494d"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2ed05e82e0da7cf322eef491a19e8b24",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1669384,
"upload_time": "2024-07-16T06:44:18",
"upload_time_iso_8601": "2024-07-16T06:44:18.099088Z",
"url": "https://files.pythonhosted.org/packages/10/41/9ea2c36ea4dca08a8c72025b83c88355fbc5bc9969b9b7e75037d520ac57/pysdif3-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b26a5a058a6c10c70e8928a0b2833fb574d89308996c89a336b724f593f6c2e",
"md5": "0416c6461d79f4ecf3bc91e531a75665",
"sha256": "e1843fcb2116e07b5a73dd6d949624d700e25c82fc88b5d73c1d08464c687b6f"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "0416c6461d79f4ecf3bc91e531a75665",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 446858,
"upload_time": "2024-07-16T06:47:08",
"upload_time_iso_8601": "2024-07-16T06:47:08.305429Z",
"url": "https://files.pythonhosted.org/packages/6b/26/a5a058a6c10c70e8928a0b2833fb574d89308996c89a336b724f593f6c2e/pysdif3-1.0.1-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1fca4da9bdd185523e89ca21012cd6c74dde57af3c4022b33a5b0f1e0be08eb7",
"md5": "fb4e833f43ed65a618022c68194f78de",
"sha256": "ad7cb34a89693059fce3820052722cd5c7acecbf2ac4a5db59b9edf441866769"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "fb4e833f43ed65a618022c68194f78de",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 476864,
"upload_time": "2024-07-16T06:47:09",
"upload_time_iso_8601": "2024-07-16T06:47:09.965713Z",
"url": "https://files.pythonhosted.org/packages/1f/ca/4da9bdd185523e89ca21012cd6c74dde57af3c4022b33a5b0f1e0be08eb7/pysdif3-1.0.1-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "91b83197be00a3c9535f3369ab544682b99e7ef3213a1ae79c4449033d92f666",
"md5": "242640544bf4530cdec65988a1c7fd97",
"sha256": "16971aeac279c58c5f9f83e7c0b8ca1fc7dac7f526cbfd1a61136fb83ce66f75"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp312-cp312-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "242640544bf4530cdec65988a1c7fd97",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 538178,
"upload_time": "2024-07-16T06:44:32",
"upload_time_iso_8601": "2024-07-16T06:44:32.057098Z",
"url": "https://files.pythonhosted.org/packages/91/b8/3197be00a3c9535f3369ab544682b99e7ef3213a1ae79c4449033d92f666/pysdif3-1.0.1-cp312-cp312-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51dc27896bf04c59286c9392502e79af562527dd696c171f35ef60238d64da89",
"md5": "5aed50a3e9a5bf218a83ab91b0ee160b",
"sha256": "56b36a3de18fdd04b7e7c165fb13035bebe5d486f2149a01490594502384257e"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "5aed50a3e9a5bf218a83ab91b0ee160b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 521691,
"upload_time": "2024-07-16T06:44:37",
"upload_time_iso_8601": "2024-07-16T06:44:37.966401Z",
"url": "https://files.pythonhosted.org/packages/51/dc/27896bf04c59286c9392502e79af562527dd696c171f35ef60238d64da89/pysdif3-1.0.1-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bb90f1977b8331c3ddcb84ed6acaf031771e9941ab39c2c7e93881ad57976411",
"md5": "ad750fd7bbadd079e2ba01ccbd958f04",
"sha256": "4e02d161f8a9711b5e516afd38c3bfda536c64f6232dd4ad7bda206809f24c85"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ad750fd7bbadd079e2ba01ccbd958f04",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1634730,
"upload_time": "2024-07-16T06:44:21",
"upload_time_iso_8601": "2024-07-16T06:44:21.145848Z",
"url": "https://files.pythonhosted.org/packages/bb/90/f1977b8331c3ddcb84ed6acaf031771e9941ab39c2c7e93881ad57976411/pysdif3-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e0b5566e434b9f554179733b0fdfe34c317661e6dd3b4e4aeeef492a6d36fab",
"md5": "64f5edaccc31fd129137c970831b5cbd",
"sha256": "3d55a1d3aa3f15999c04c25c66b2fbebce87e145483cffcd2e58a3b3bc2e9465"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "64f5edaccc31fd129137c970831b5cbd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 443707,
"upload_time": "2024-07-16T06:47:12",
"upload_time_iso_8601": "2024-07-16T06:47:12.138107Z",
"url": "https://files.pythonhosted.org/packages/5e/0b/5566e434b9f554179733b0fdfe34c317661e6dd3b4e4aeeef492a6d36fab/pysdif3-1.0.1-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2fea012e7200446fc235eabb13039f9310894fd616dc9a9e6a8d5f918a2f6c5f",
"md5": "cf2f9b75251a0996dbfd87bc870c0eb5",
"sha256": "cab83773a696ea3165f888d3c4f89e40d94e167c867d39608b22f5568410ad34"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "cf2f9b75251a0996dbfd87bc870c0eb5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 472783,
"upload_time": "2024-07-16T06:47:13",
"upload_time_iso_8601": "2024-07-16T06:47:13.560019Z",
"url": "https://files.pythonhosted.org/packages/2f/ea/012e7200446fc235eabb13039f9310894fd616dc9a9e6a8d5f918a2f6c5f/pysdif3-1.0.1-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e517f761dce216bf6d9bc657d49afa5f3a728594d33b42b808830a969c1367a6",
"md5": "275d75a74e533e3c1812e4468e35ce08",
"sha256": "563a0d4b3dd6e4f0ae6d3be98a1248b73616e0ee35c726e4b8de6215e194a369"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "275d75a74e533e3c1812e4468e35ce08",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 270695,
"upload_time": "2024-07-16T06:44:40",
"upload_time_iso_8601": "2024-07-16T06:44:40.622817Z",
"url": "https://files.pythonhosted.org/packages/e5/17/f761dce216bf6d9bc657d49afa5f3a728594d33b42b808830a969c1367a6/pysdif3-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "831f972518aef8fef3ccdba7ee022d8621d0412d6287bd7986d82fa7a1892627",
"md5": "6071f220f87507815e962512b4f1a255",
"sha256": "6e88912570a8b1ee46aae85adf1932be4869ae98230410cdc86d250cd8ed796f"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6071f220f87507815e962512b4f1a255",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 520572,
"upload_time": "2024-07-16T06:44:43",
"upload_time_iso_8601": "2024-07-16T06:44:43.081246Z",
"url": "https://files.pythonhosted.org/packages/83/1f/972518aef8fef3ccdba7ee022d8621d0412d6287bd7986d82fa7a1892627/pysdif3-1.0.1-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c23fc898c6329eed9800f6b03b72d917aaa1d1d1002a873da11b531a0094154",
"md5": "d40945e6c836680d3a4932fe4ab25842",
"sha256": "fd4d275596dbfbdb68312999861141b66b6bedda764eebc32a0c904c5b70ebae"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d40945e6c836680d3a4932fe4ab25842",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1330115,
"upload_time": "2024-07-16T06:44:25",
"upload_time_iso_8601": "2024-07-16T06:44:25.246497Z",
"url": "https://files.pythonhosted.org/packages/2c/23/fc898c6329eed9800f6b03b72d917aaa1d1d1002a873da11b531a0094154/pysdif3-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b0884540cd1864b7d8a23b75fbc9fdef22b8b5988438612a946306ebf225a531",
"md5": "6cfcf365c506922977f4be92c5a2623a",
"sha256": "c44946087f06bec11edbf37ab79a2cf9fd2859d5a242a51470184b583379d7ee"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "6cfcf365c506922977f4be92c5a2623a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 180067,
"upload_time": "2024-07-16T06:47:15",
"upload_time_iso_8601": "2024-07-16T06:47:15.288327Z",
"url": "https://files.pythonhosted.org/packages/b0/88/4540cd1864b7d8a23b75fbc9fdef22b8b5988438612a946306ebf225a531/pysdif3-1.0.1-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "07066e6410dbda6e5ff5fde1f9a1362dd12321023268c3d78c9948bca316c116",
"md5": "a683172f1825d50d7202293d01913744",
"sha256": "5ec3d4f9213aef5422fc230f538d791ff877f2a1347e4eb8c3aa1b86e5988e6c"
},
"downloads": -1,
"filename": "pysdif3-1.0.1-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "a683172f1825d50d7202293d01913744",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 476934,
"upload_time": "2024-07-16T06:47:16",
"upload_time_iso_8601": "2024-07-16T06:47:16.953326Z",
"url": "https://files.pythonhosted.org/packages/07/06/6e6410dbda6e5ff5fde1f9a1362dd12321023268c3d78c9948bca316c116/pysdif3-1.0.1-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-16 06:43:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gesellkammer",
"github_project": "pysdif",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pysdif3"
}