ducc0


Nameducc0 JSON
Version 0.33.0 PyPI version JSON
download
home_pagehttps://gitlab.mpcdf.mpg.de/mtr/ducc
SummaryDistinctly useful code collection: contains efficient algorithms for Fast Fourier (and related) transforms, spherical harmonic transforms involving very general spherical grids, gridding/degridding tools for radio interferometry, 4pi spherical convolution operators and much more.
upload_time2024-01-12 09:43:42
maintainer
docs_urlNone
authorMartin Reinecke
requires_python>=3.8
licenseGPLv2+
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Distinctly Useful Code Collection (DUCC)
========================================

This is a collection of basic programming tools for numerical computation,
including Fast Fourier Transforms, Spherical Harmonic Transforms, non-equispaced
Fourier transforms, as well as some concrete applications like 4pi convolution
on the sphere and gridding/degridding of radio interferometry data.

The code is written in C++17, but provides a simple and comprehensive Python
interface.

### Requirements

- [Python >= 3.8](https://www.python.org/)
- only when compiling from source: [pybind11](https://github.com/pybind/pybind11)
- only when compiling from source: a C++17-capable compiler, e.g.
  - `g++` 7 or later
  - `clang++`
  - MSVC 2019 or later
  - Intel `icpx` (oneAPI compiler series). (Note that the older `icpc` compilers
    are not supported.)

### Sources

The latest version of DUCC can be obtained by cloning the repository via

    git clone https://gitlab.mpcdf.mpg.de/mtr/ducc.git

### Licensing terms
- All source code in this package is released under the terms of the GNU
  General Public License v2 or later.
- Some files (those constituting the FFT component and its internal
  dependencies) are also licensed under the 3-clause BSD license. These files
  contain two sets of licensing headers; the user is free to choose under which
  of those terms they want to use these sources.

### Documentation

Online documentation of the most recent Python interface is available at
https://mtr.pages.mpcdf.de/ducc.

The C++ interface is documented at https://mtr.pages.mpcdf.de/ducc/cpp.
Please note that this interface is not as well documented as the Python one,
and that it should not be considered stable.

### Installation

For best performance, it is recommended to compile DUCC from source, optimizing
for the specific CPU on the system. This can be done using the command

    pip3 install --no-binary ducc0 --user ducc0

NOTE: compilation requires the appropriate compilers to be installed (see above)
and can take a significant amount of time (several minutes).

Alternatively, a simple

    pip3 install --user ducc0

will install a pre-compiled binary package, which makes the installation process
much quicker and does not require any compilers to be installed on the system.
However, the code will most likely perform significantly worse (by a factor of
two to three for some functions) than a custom built version.

Additionally, pre-compiled binaries are distributed for the following systems:

<a href="https://repology.org/project/python:ducc0/versions">
<img src="https://repology.org/badge/vertical-allrepos/python:ducc0.svg" alt="Packaging status">
</a>


<!---
Installing multiple major versions simultaneously
-------------------------------------------------

The interfaces of the DUCC components are expected to evolve over time; whenever
an interface changes in a manner that is not backwards compatible, the DUCC
major version number will increase. As a consequence it might happen that one
part of a Python code may use an older version of DUCC while at the same time
another part requires a newer version. Since DUCC's major version number is
included in the module name itself (the module is not called `ducc`, but rather
`ducc<X>`), this is not a problem, as multiple DUCC versions can be installed
simultaneously.
The latest patch levels of a given DUCC version will always be available at the
HEAD of the git branch with the respective name. In other words, if you need
the latest incarnation of DUCC 0, this will be on branch "ducc0" of the
git repository, and it will be installed as the package "ducc0".
Later versions will be maintained on new branches and will be installed as
"ducc1" and "ducc2", so that there will be no conflict with potentially
installed older versions.
-->

DUCC components
===============

ducc.fft
--------

This package provides Fast Fourier, trigonometric and Hartley transforms with a
simple Python interface. It is an evolution of `pocketfft` and `pypocketfft`
which are currently used by `numpy` and `scipy`.

The central algorithms are derived from Paul Swarztrauber's
[FFTPACK](http://www.netlib.org/fftpack) code.

### Features
- supports fully complex and half-complex (i.e. complex-to-real and
  real-to-complex) FFTs, discrete sine/cosine transforms and Hartley transforms
- achieves very high accuracy for all transforms
- supports multidimensional arrays and selection of the axes to be transformed
- supports single, double, and long double precision
- makes use of CPU vector instructions, except for short 1D transforms 
- supports prime-length transforms without degrading to O(N**2) performance
- has optional multi-threading support for all transforms except short 1D ones.

### Design decisions and performance characteristics
- there is no explicit plan management to be done by the user, making the
  interface as simple as possible.
  A small number of plans is cached internally, which does not consume much
  memory, since the storage requirement for a plan only scales with the square
  root of the FFT length for large lengths.
- 1D transforms are somewhat slower than those provided by FFTW (if FFTW's
  plan generation overhead is ignored)
- multi-D transforms in double precision perform fairly similar to FFTW with
  FFTW_MEASURE; in single precision `ducc.fft` can be significantly faster.


ducc.nufft
----------

Library for non-uniform FFTs in 1D/2D/3D
(currently only supports transform types 1 and 2).
The goal is to provide similar or better performance and accuracy than
[FINUFFT](https://github.com/flatironinstitute/finufft), making use of lessons
learned during the implementation of the `wgridder` module (see below).


ducc.sht
--------

This package provides efficient spherical harmonic transforms (SHTs). Its code
is derived from [libsharp](https://arxiv.org/abs/1303.4945), but has been
significantly enhanced.

### Noteworthy features
- very efficient support for spherical harmonic synthesis ("alm2map") operations
  and their adjoint for any grid based on iso-latitude rings with equidistant
  pixels in each of the rings.
- support for the same operations on *entirely arbitrary* spherical grids,
  i.e. without constraints on pixel locations. This is implemented via
  intermediate iso-latitude grids and non-uniform FFTs.
- support for accurate spherical harmonic analyis on certain sub-classes of
  grids (Clenshaw-Curtis, Fejer-1 and McEwen-Wiaux) at band limits beyond those
  for which quadrature weights exist. For details see
  [this note](https://wwwmpa.mpa-garching.mpg.de/~martin/shtnote.pdf).
- iterative approximate spherical harmonic analysis on aritrary grids.
- substantially improved transformation speed (up to a factor of 2) on the
  above mentioned grid geometries for high band limits.
- accelerated recurrences as presented in
  [Ishioka (2018)](https://www.jstage.jst.go.jp/article/jmsj/96/2/96_2018-019/_pdf)
- vector instruction support
- multi-threading support

The code for rotating spherical harmonic coefficients was taken (with some
modifications) from Mikael Slevinsky's
[FastTransforms package](https://github.com/MikaelSlevinsky/FastTransforms).


ducc.healpix
------------

This library provides Python bindings for the most important functionality
related to the [HEALPix](https://arxiv.org/abs/astro-ph/0409513) tesselation,
except for spherical harmonic transforms, which are covered by `ducc.sht`.

The design goals are
- similarity to the interface of the HEALPix C++ library
  (while respecting some Python peculiarities)
- simplicity (no optional function parameters)
- low function calling overhead


ducc.totalconvolve
------------------

Library for high-accuracy 4pi convolution on the sphere, which generates a
total convolution data cube from a set of sky and beam `a_lm` and computes
interpolated values for a given list of detector pointings.
This code has evolved from the original
[totalconvolver](https://arxiv.org/abs/astro-ph/0008227) algorithm
via the [conviqt](https://arxiv.org/abs/1002.1050) code.


### Algorithmic details:
- the code uses `ducc.sht` SHTs and `ducc.fft` FFTs to compute the data cube
- shared-memory parallelization is provided via standard C++ threads.
- for interpolation, the algorithm and kernel described in
  <https://arxiv.org/abs/1808.06736> are used. This allows very efficient
  interpolation with user-adjustable accuracy.


ducc.wgridder
-------------

Library for high-accuracy gridding/degridding of radio interferometry datasets
(code paper available at <https://arxiv.org/abs/2010.10122>).
This code has also been integrated into
[wsclean](https://gitlab.com/aroffringa/wsclean)
(<https://arxiv.org/abs/1407.1943>)
as the `wgridder` component.

### Programming aspects
- shared-memory parallelization via standard C++ threads.
- kernel computation is performed on the fly, avoiding inaccuracies
  due to table lookup and reducing overall memory bandwidth

### Numerical aspects
- uses a generalization of the analytical gridding kernel presented in
  <https://arxiv.org/abs/1808.06736>
- uses the "improved W-stacking method" described in
  <https://arxiv.org/abs/2101.11172>
- in combination these two aspects allow extremely accurate gridding/degridding
  operations (L2 error compared to explicit DFTs can go below 1e-12) with
  reasonable resource consumption


ducc.misc
---------

Various unsorted functionality which will hopefully be categorized in the
future.

This module contains an efficient algorithm for the computation of abscissas and
weights for Gauss-Legendre quadrature. For degrees up to 100, the solutions are
computed in the standard iterative fashion; for higher degrees Ignace Bogaert's
[FastGL algorithm](https://epubs.siam.org/doi/pdf/10.1137/140954969)
is used.

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.mpcdf.mpg.de/mtr/ducc",
    "name": "ducc0",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Martin Reinecke",
    "author_email": "Martin Reinecke <martin@mpa-garching.mpg.de>",
    "download_url": "https://files.pythonhosted.org/packages/4a/02/5f58eb4f2089f1b216136abe3ecb769b5aaac472aaa8888f437a452a0330/ducc0-0.33.0.tar.gz",
    "platform": null,
    "description": "Distinctly Useful Code Collection (DUCC)\n========================================\n\nThis is a collection of basic programming tools for numerical computation,\nincluding Fast Fourier Transforms, Spherical Harmonic Transforms, non-equispaced\nFourier transforms, as well as some concrete applications like 4pi convolution\non the sphere and gridding/degridding of radio interferometry data.\n\nThe code is written in C++17, but provides a simple and comprehensive Python\ninterface.\n\n### Requirements\n\n- [Python >= 3.8](https://www.python.org/)\n- only when compiling from source: [pybind11](https://github.com/pybind/pybind11)\n- only when compiling from source: a C++17-capable compiler, e.g.\n  - `g++` 7 or later\n  - `clang++`\n  - MSVC 2019 or later\n  - Intel `icpx` (oneAPI compiler series). (Note that the older `icpc` compilers\n    are not supported.)\n\n### Sources\n\nThe latest version of DUCC can be obtained by cloning the repository via\n\n    git clone https://gitlab.mpcdf.mpg.de/mtr/ducc.git\n\n### Licensing terms\n- All source code in this package is released under the terms of the GNU\n  General Public License v2 or later.\n- Some files (those constituting the FFT component and its internal\n  dependencies) are also licensed under the 3-clause BSD license. These files\n  contain two sets of licensing headers; the user is free to choose under which\n  of those terms they want to use these sources.\n\n### Documentation\n\nOnline documentation of the most recent Python interface is available at\nhttps://mtr.pages.mpcdf.de/ducc.\n\nThe C++ interface is documented at https://mtr.pages.mpcdf.de/ducc/cpp.\nPlease note that this interface is not as well documented as the Python one,\nand that it should not be considered stable.\n\n### Installation\n\nFor best performance, it is recommended to compile DUCC from source, optimizing\nfor the specific CPU on the system. This can be done using the command\n\n    pip3 install --no-binary ducc0 --user ducc0\n\nNOTE: compilation requires the appropriate compilers to be installed (see above)\nand can take a significant amount of time (several minutes).\n\nAlternatively, a simple\n\n    pip3 install --user ducc0\n\nwill install a pre-compiled binary package, which makes the installation process\nmuch quicker and does not require any compilers to be installed on the system.\nHowever, the code will most likely perform significantly worse (by a factor of\ntwo to three for some functions) than a custom built version.\n\nAdditionally, pre-compiled binaries are distributed for the following systems:\n\n<a href=\"https://repology.org/project/python:ducc0/versions\">\n<img src=\"https://repology.org/badge/vertical-allrepos/python:ducc0.svg\" alt=\"Packaging status\">\n</a>\n\n\n<!---\nInstalling multiple major versions simultaneously\n-------------------------------------------------\n\nThe interfaces of the DUCC components are expected to evolve over time; whenever\nan interface changes in a manner that is not backwards compatible, the DUCC\nmajor version number will increase. As a consequence it might happen that one\npart of a Python code may use an older version of DUCC while at the same time\nanother part requires a newer version. Since DUCC's major version number is\nincluded in the module name itself (the module is not called `ducc`, but rather\n`ducc<X>`), this is not a problem, as multiple DUCC versions can be installed\nsimultaneously.\nThe latest patch levels of a given DUCC version will always be available at the\nHEAD of the git branch with the respective name. In other words, if you need\nthe latest incarnation of DUCC 0, this will be on branch \"ducc0\" of the\ngit repository, and it will be installed as the package \"ducc0\".\nLater versions will be maintained on new branches and will be installed as\n\"ducc1\" and \"ducc2\", so that there will be no conflict with potentially\ninstalled older versions.\n-->\n\nDUCC components\n===============\n\nducc.fft\n--------\n\nThis package provides Fast Fourier, trigonometric and Hartley transforms with a\nsimple Python interface. It is an evolution of `pocketfft` and `pypocketfft`\nwhich are currently used by `numpy` and `scipy`.\n\nThe central algorithms are derived from Paul Swarztrauber's\n[FFTPACK](http://www.netlib.org/fftpack) code.\n\n### Features\n- supports fully complex and half-complex (i.e. complex-to-real and\n  real-to-complex) FFTs, discrete sine/cosine transforms and Hartley transforms\n- achieves very high accuracy for all transforms\n- supports multidimensional arrays and selection of the axes to be transformed\n- supports single, double, and long double precision\n- makes use of CPU vector instructions, except for short 1D transforms \n- supports prime-length transforms without degrading to O(N**2) performance\n- has optional multi-threading support for all transforms except short 1D ones.\n\n### Design decisions and performance characteristics\n- there is no explicit plan management to be done by the user, making the\n  interface as simple as possible.\n  A small number of plans is cached internally, which does not consume much\n  memory, since the storage requirement for a plan only scales with the square\n  root of the FFT length for large lengths.\n- 1D transforms are somewhat slower than those provided by FFTW (if FFTW's\n  plan generation overhead is ignored)\n- multi-D transforms in double precision perform fairly similar to FFTW with\n  FFTW_MEASURE; in single precision `ducc.fft` can be significantly faster.\n\n\nducc.nufft\n----------\n\nLibrary for non-uniform FFTs in 1D/2D/3D\n(currently only supports transform types 1 and 2).\nThe goal is to provide similar or better performance and accuracy than\n[FINUFFT](https://github.com/flatironinstitute/finufft), making use of lessons\nlearned during the implementation of the `wgridder` module (see below).\n\n\nducc.sht\n--------\n\nThis package provides efficient spherical harmonic transforms (SHTs). Its code\nis derived from [libsharp](https://arxiv.org/abs/1303.4945), but has been\nsignificantly enhanced.\n\n### Noteworthy features\n- very efficient support for spherical harmonic synthesis (\"alm2map\") operations\n  and their adjoint for any grid based on iso-latitude rings with equidistant\n  pixels in each of the rings.\n- support for the same operations on *entirely arbitrary* spherical grids,\n  i.e. without constraints on pixel locations. This is implemented via\n  intermediate iso-latitude grids and non-uniform FFTs.\n- support for accurate spherical harmonic analyis on certain sub-classes of\n  grids (Clenshaw-Curtis, Fejer-1 and McEwen-Wiaux) at band limits beyond those\n  for which quadrature weights exist. For details see\n  [this note](https://wwwmpa.mpa-garching.mpg.de/~martin/shtnote.pdf).\n- iterative approximate spherical harmonic analysis on aritrary grids.\n- substantially improved transformation speed (up to a factor of 2) on the\n  above mentioned grid geometries for high band limits.\n- accelerated recurrences as presented in\n  [Ishioka (2018)](https://www.jstage.jst.go.jp/article/jmsj/96/2/96_2018-019/_pdf)\n- vector instruction support\n- multi-threading support\n\nThe code for rotating spherical harmonic coefficients was taken (with some\nmodifications) from Mikael Slevinsky's\n[FastTransforms package](https://github.com/MikaelSlevinsky/FastTransforms).\n\n\nducc.healpix\n------------\n\nThis library provides Python bindings for the most important functionality\nrelated to the [HEALPix](https://arxiv.org/abs/astro-ph/0409513) tesselation,\nexcept for spherical harmonic transforms, which are covered by `ducc.sht`.\n\nThe design goals are\n- similarity to the interface of the HEALPix C++ library\n  (while respecting some Python peculiarities)\n- simplicity (no optional function parameters)\n- low function calling overhead\n\n\nducc.totalconvolve\n------------------\n\nLibrary for high-accuracy 4pi convolution on the sphere, which generates a\ntotal convolution data cube from a set of sky and beam `a_lm` and computes\ninterpolated values for a given list of detector pointings.\nThis code has evolved from the original\n[totalconvolver](https://arxiv.org/abs/astro-ph/0008227) algorithm\nvia the [conviqt](https://arxiv.org/abs/1002.1050) code.\n\n\n### Algorithmic details:\n- the code uses `ducc.sht` SHTs and `ducc.fft` FFTs to compute the data cube\n- shared-memory parallelization is provided via standard C++ threads.\n- for interpolation, the algorithm and kernel described in\n  <https://arxiv.org/abs/1808.06736> are used. This allows very efficient\n  interpolation with user-adjustable accuracy.\n\n\nducc.wgridder\n-------------\n\nLibrary for high-accuracy gridding/degridding of radio interferometry datasets\n(code paper available at <https://arxiv.org/abs/2010.10122>).\nThis code has also been integrated into\n[wsclean](https://gitlab.com/aroffringa/wsclean)\n(<https://arxiv.org/abs/1407.1943>)\nas the `wgridder` component.\n\n### Programming aspects\n- shared-memory parallelization via standard C++ threads.\n- kernel computation is performed on the fly, avoiding inaccuracies\n  due to table lookup and reducing overall memory bandwidth\n\n### Numerical aspects\n- uses a generalization of the analytical gridding kernel presented in\n  <https://arxiv.org/abs/1808.06736>\n- uses the \"improved W-stacking method\" described in\n  <https://arxiv.org/abs/2101.11172>\n- in combination these two aspects allow extremely accurate gridding/degridding\n  operations (L2 error compared to explicit DFTs can go below 1e-12) with\n  reasonable resource consumption\n\n\nducc.misc\n---------\n\nVarious unsorted functionality which will hopefully be categorized in the\nfuture.\n\nThis module contains an efficient algorithm for the computation of abscissas and\nweights for Gauss-Legendre quadrature. For degrees up to 100, the solutions are\ncomputed in the standard iterative fashion; for higher degrees Ignace Bogaert's\n[FastGL algorithm](https://epubs.siam.org/doi/pdf/10.1137/140954969)\nis used.\n",
    "bugtrack_url": null,
    "license": "GPLv2+",
    "summary": "Distinctly useful code collection: contains efficient algorithms for Fast Fourier (and related) transforms, spherical harmonic transforms involving very general spherical grids, gridding/degridding tools for radio interferometry, 4pi spherical convolution operators and much more.",
    "version": "0.33.0",
    "project_urls": {
        "Bug Tracker": "https://gitlab.mpcdf.mpg.de/mtr/ducc/issues",
        "Bug Tracker (Github)": "https://github.com/mreineck/ducc/issues",
        "Changelog": "https://gitlab.mpcdf.mpg.de/mtr/ducc/-/blob/ducc0/ChangeLog",
        "Documentation": "https://mtr.pages.mpcdf.de/ducc",
        "Homepage": "https://gitlab.mpcdf.mpg.de/mtr/ducc",
        "README": "https://gitlab.mpcdf.mpg.de/mtr/ducc/-/blob/ducc0/README.md",
        "Source Code": "https://gitlab.mpcdf.mpg.de/mtr/ducc",
        "Source Code (Github)": "https://github.com/mreineck/ducc"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96b9cf6c74f3ad11a56c013e8ac118cdc2b919aa5eb3a1c60d2932f159d04ba9",
                "md5": "5af4b6fc6c3e1d5a0845ea87432e5465",
                "sha256": "53518c8b62a28881ef76c5ef86a7c1da0c9bea12b047cdbddee0e0c225ec4ea6"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp310-cp310-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5af4b6fc6c3e1d5a0845ea87432e5465",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2533652,
            "upload_time": "2024-01-12T09:42:10",
            "upload_time_iso_8601": "2024-01-12T09:42:10.693316Z",
            "url": "https://files.pythonhosted.org/packages/96/b9/cf6c74f3ad11a56c013e8ac118cdc2b919aa5eb3a1c60d2932f159d04ba9/ducc0-0.33.0-cp310-cp310-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cfa1298ca643046c441c4dc6944fd54179e77fe3c0789b06a6dc81b33c96bc6b",
                "md5": "2a346b49d8354f06f7d293f7a0c0f9b5",
                "sha256": "06d3c3494bbcdd7c2e72a0685d0af1bc5d29dbfcc530a1d6d8c217078066b16d"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2a346b49d8354f06f7d293f7a0c0f9b5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2204540,
            "upload_time": "2024-01-12T09:42:15",
            "upload_time_iso_8601": "2024-01-12T09:42:15.003830Z",
            "url": "https://files.pythonhosted.org/packages/cf/a1/298ca643046c441c4dc6944fd54179e77fe3c0789b06a6dc81b33c96bc6b/ducc0-0.33.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a707caefbb626aac09733259d30170d86a93a6bbe94c3edce8410b4f8c39ec1",
                "md5": "b5c8b55e12631bb9d42049adc5cb5ff3",
                "sha256": "fa46dd02a24bb24fbf63b0e58ee9c46c1efce45420eac33ba1c7fa25f9edd850"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b5c8b55e12631bb9d42049adc5cb5ff3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2976190,
            "upload_time": "2024-01-12T09:42:19",
            "upload_time_iso_8601": "2024-01-12T09:42:19.367237Z",
            "url": "https://files.pythonhosted.org/packages/5a/70/7caefbb626aac09733259d30170d86a93a6bbe94c3edce8410b4f8c39ec1/ducc0-0.33.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4acabe9acbac5b415377a344350978aa9c98deb361960340cfe6b641bcc4b9b0",
                "md5": "a9cce7cd04d431f1ff62df4a5f703c34",
                "sha256": "e664a339b0b1500b5dd24646d1be2facc7776a6a9fe5f0a09b188fd37e4433fc"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a9cce7cd04d431f1ff62df4a5f703c34",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 3500632,
            "upload_time": "2024-01-12T09:42:23",
            "upload_time_iso_8601": "2024-01-12T09:42:23.487867Z",
            "url": "https://files.pythonhosted.org/packages/4a/ca/be9acbac5b415377a344350978aa9c98deb361960340cfe6b641bcc4b9b0/ducc0-0.33.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ceb68ed88f9e0470b2fa912ca9422eb1fb0284f10279b3e7301377abd6569b7",
                "md5": "5c70c8cc89cc68c14274c0a991fcb09e",
                "sha256": "1e0d0339c0eeb61b44ea0162b4791928985cc5f9eb2001ee1c48b03a9de016d2"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5c70c8cc89cc68c14274c0a991fcb09e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1418762,
            "upload_time": "2024-01-12T09:42:26",
            "upload_time_iso_8601": "2024-01-12T09:42:26.166183Z",
            "url": "https://files.pythonhosted.org/packages/6c/eb/68ed88f9e0470b2fa912ca9422eb1fb0284f10279b3e7301377abd6569b7/ducc0-0.33.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "522787a353dbd4d5f947c6c970c1d3bf25c5327d46ebd93792b4de474ecb90f2",
                "md5": "6cbaa5f3e4d64af16f92a12c3ce740b1",
                "sha256": "7029d2c6a969ac98699cac2d348fbe5dfd5bc18e72237839c373ea790c1281fd"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp311-cp311-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6cbaa5f3e4d64af16f92a12c3ce740b1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2534792,
            "upload_time": "2024-01-12T09:42:30",
            "upload_time_iso_8601": "2024-01-12T09:42:30.358826Z",
            "url": "https://files.pythonhosted.org/packages/52/27/87a353dbd4d5f947c6c970c1d3bf25c5327d46ebd93792b4de474ecb90f2/ducc0-0.33.0-cp311-cp311-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70ff840023d8b11639a083edc96b3d6fceae8bf050280f032c6c3ec8f0591c8f",
                "md5": "10a2a8a5b8b96623ebcf45537eb5e6e9",
                "sha256": "7b29f2b712df204311fb84e5a1bfe2c6d8a1f80ab3eada68d955f5f0e00bc324"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "10a2a8a5b8b96623ebcf45537eb5e6e9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2205816,
            "upload_time": "2024-01-12T09:42:33",
            "upload_time_iso_8601": "2024-01-12T09:42:33.587846Z",
            "url": "https://files.pythonhosted.org/packages/70/ff/840023d8b11639a083edc96b3d6fceae8bf050280f032c6c3ec8f0591c8f/ducc0-0.33.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b5c3de3a541bbc906974a0c41399c5f2d10ff7aa49004f30f5c65f67788f1778",
                "md5": "4bae064186db687eae6216cfe0c03ab9",
                "sha256": "cbae0db7bb17ea0987567633891701b0e1f094dba3eb43945575eaac8165dcc5"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4bae064186db687eae6216cfe0c03ab9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2976382,
            "upload_time": "2024-01-12T09:42:37",
            "upload_time_iso_8601": "2024-01-12T09:42:37.316825Z",
            "url": "https://files.pythonhosted.org/packages/b5/c3/de3a541bbc906974a0c41399c5f2d10ff7aa49004f30f5c65f67788f1778/ducc0-0.33.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f4a5bdcb1f8476af306d69c71e7544a83bfe8679bb6f31cc7b66f1514ddc0aa",
                "md5": "9ea1afdea0de02cd0e283724c6e78fd8",
                "sha256": "4a0054d6640ab0dfffafe6b995185cd58798ecdebef8598ddac47da4d3576772"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9ea1afdea0de02cd0e283724c6e78fd8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 3492076,
            "upload_time": "2024-01-12T09:42:42",
            "upload_time_iso_8601": "2024-01-12T09:42:42.279061Z",
            "url": "https://files.pythonhosted.org/packages/7f/4a/5bdcb1f8476af306d69c71e7544a83bfe8679bb6f31cc7b66f1514ddc0aa/ducc0-0.33.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49ee2aa202afd39b7b7a22a24d3c35988e232458bcb75532a489058162ddd049",
                "md5": "9d1dcb1265b56f7b28e0999b5368b5c7",
                "sha256": "93c3eb070e34209d55a34ca2c484a83dc5a688f0bf3978f57aad9a4de55bb06b"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9d1dcb1265b56f7b28e0999b5368b5c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1419823,
            "upload_time": "2024-01-12T09:42:45",
            "upload_time_iso_8601": "2024-01-12T09:42:45.512267Z",
            "url": "https://files.pythonhosted.org/packages/49/ee/2aa202afd39b7b7a22a24d3c35988e232458bcb75532a489058162ddd049/ducc0-0.33.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4914190a486c0222d560ebf498f36c95797246c0080d33dbc807503f4ca424ec",
                "md5": "68c08e63e3da754b4d17abcf3b762fe5",
                "sha256": "a5d56b695ab3d9ab3be589ce72292a7280a4e9ae0d51f12ed253d4149fc62760"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp312-cp312-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "68c08e63e3da754b4d17abcf3b762fe5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2538818,
            "upload_time": "2024-01-12T09:42:49",
            "upload_time_iso_8601": "2024-01-12T09:42:49.542891Z",
            "url": "https://files.pythonhosted.org/packages/49/14/190a486c0222d560ebf498f36c95797246c0080d33dbc807503f4ca424ec/ducc0-0.33.0-cp312-cp312-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "641d3b0e0bb182730bcc58bb6a140b67862f3269361f50dafca3e36ec712e2cd",
                "md5": "948bf681602be2fdf114bad4715421d4",
                "sha256": "068771c172e514a65b9d18e2c866430bb86f58acf3429765c05318f65027f9c0"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "948bf681602be2fdf114bad4715421d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2205515,
            "upload_time": "2024-01-12T09:42:53",
            "upload_time_iso_8601": "2024-01-12T09:42:53.282846Z",
            "url": "https://files.pythonhosted.org/packages/64/1d/3b0e0bb182730bcc58bb6a140b67862f3269361f50dafca3e36ec712e2cd/ducc0-0.33.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "16109056ee45c52b3065aaad585162f773bab34efb026ab74b28ec39a1912449",
                "md5": "9bb39af100fe5c655071bca7e34223d0",
                "sha256": "068a0a5abf149d431e45f9ceaa52fde9cbc4590dd5cbb5826abaa0f15c39e49f"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9bb39af100fe5c655071bca7e34223d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2976272,
            "upload_time": "2024-01-12T09:42:57",
            "upload_time_iso_8601": "2024-01-12T09:42:57.593709Z",
            "url": "https://files.pythonhosted.org/packages/16/10/9056ee45c52b3065aaad585162f773bab34efb026ab74b28ec39a1912449/ducc0-0.33.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3bf1321030000bfbdd41c686a6c6327d506daa29cdef32a40272d06c3b8b9ff7",
                "md5": "269831956d15442f1d069fe047ca7573",
                "sha256": "9ab7a68ffc577756b0cf4c7112bb18333824ae074288b1636e00c380c62439a9"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "269831956d15442f1d069fe047ca7573",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 3494971,
            "upload_time": "2024-01-12T09:43:01",
            "upload_time_iso_8601": "2024-01-12T09:43:01.794533Z",
            "url": "https://files.pythonhosted.org/packages/3b/f1/321030000bfbdd41c686a6c6327d506daa29cdef32a40272d06c3b8b9ff7/ducc0-0.33.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71fc0b991b456acad20e8accfaa2db4c18f65b3a08ece1193f31c9d243d990f8",
                "md5": "6484329d5efc808226ccee88b04f5ccd",
                "sha256": "78551098e4de50822a8ca5b30d20ea7bdca7af751e6e2d5d75f718081588efb0"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6484329d5efc808226ccee88b04f5ccd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1419336,
            "upload_time": "2024-01-12T09:43:04",
            "upload_time_iso_8601": "2024-01-12T09:43:04.647460Z",
            "url": "https://files.pythonhosted.org/packages/71/fc/0b991b456acad20e8accfaa2db4c18f65b3a08ece1193f31c9d243d990f8/ducc0-0.33.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c0a6fc284171261ab81370c517190abd6e0b781088de5980aab2d3a2428a6c9",
                "md5": "ea77223f77b92fd3c118ebe85267d2f8",
                "sha256": "3092cf80b593b436b24ac6e3cd9703c964a71d80a19e8159b55f0fd80557698e"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp38-cp38-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ea77223f77b92fd3c118ebe85267d2f8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2534390,
            "upload_time": "2024-01-12T09:43:07",
            "upload_time_iso_8601": "2024-01-12T09:43:07.995857Z",
            "url": "https://files.pythonhosted.org/packages/1c/0a/6fc284171261ab81370c517190abd6e0b781088de5980aab2d3a2428a6c9/ducc0-0.33.0-cp38-cp38-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d61392d5033412755595ef993d27cb75b81911af3f70cdff67dbb11a2f597d9",
                "md5": "7abcea0dec8343387441bdec658c3507",
                "sha256": "a425ef88ce78832b2f3a12265dd97f823c7d6c95b7d2d895b940fc0329978182"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7abcea0dec8343387441bdec658c3507",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2204654,
            "upload_time": "2024-01-12T09:43:11",
            "upload_time_iso_8601": "2024-01-12T09:43:11.722638Z",
            "url": "https://files.pythonhosted.org/packages/4d/61/392d5033412755595ef993d27cb75b81911af3f70cdff67dbb11a2f597d9/ducc0-0.33.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "080853116db97ea51fc08084eb2521060ac4970386af1a35c86ec65d136ee314",
                "md5": "4d7344ba4e21b0bf8fbdca679bef534d",
                "sha256": "a491b991c22499087444c17babed5495d6c7c2e6e9b48868ec9b320085160629"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4d7344ba4e21b0bf8fbdca679bef534d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2975797,
            "upload_time": "2024-01-12T09:43:15",
            "upload_time_iso_8601": "2024-01-12T09:43:15.795142Z",
            "url": "https://files.pythonhosted.org/packages/08/08/53116db97ea51fc08084eb2521060ac4970386af1a35c86ec65d136ee314/ducc0-0.33.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6f154dab5d8719f5f5e40d77cdba4f057f06fac15928fc93fe0c3190ca2f04e",
                "md5": "a5564bfdbb8c4141f437fdfa8188b1ff",
                "sha256": "056ad55a9f9c172634704f0c48f7485f5ecfe5d511a8cffee1c54abd70688053"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a5564bfdbb8c4141f437fdfa8188b1ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 3492561,
            "upload_time": "2024-01-12T09:43:20",
            "upload_time_iso_8601": "2024-01-12T09:43:20.554580Z",
            "url": "https://files.pythonhosted.org/packages/e6/f1/54dab5d8719f5f5e40d77cdba4f057f06fac15928fc93fe0c3190ca2f04e/ducc0-0.33.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8610f26a94308d366f5dc53216b69baa4f0309ae24dd6fcd9813c46ce65aba4",
                "md5": "1f969f40cac351ca4ac4894fd6456c0f",
                "sha256": "be0b03feffc1a487e1087660fc4ecd127af464c164145f4b24cbf792a53eb544"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1f969f40cac351ca4ac4894fd6456c0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1418776,
            "upload_time": "2024-01-12T09:43:23",
            "upload_time_iso_8601": "2024-01-12T09:43:23.214560Z",
            "url": "https://files.pythonhosted.org/packages/c8/61/0f26a94308d366f5dc53216b69baa4f0309ae24dd6fcd9813c46ce65aba4/ducc0-0.33.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4625b2f7624406d335eea9324cf820190c242dd3dd6d1cd7881b8a2be1af096",
                "md5": "d4fea64cf0bccff838c87078e528b3f9",
                "sha256": "c07ee394c1ca708b90d8d8a728f8301a0b469df5b7f96b5d852ec2723973d091"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp39-cp39-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d4fea64cf0bccff838c87078e528b3f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2533906,
            "upload_time": "2024-01-12T09:43:26",
            "upload_time_iso_8601": "2024-01-12T09:43:26.655223Z",
            "url": "https://files.pythonhosted.org/packages/a4/62/5b2f7624406d335eea9324cf820190c242dd3dd6d1cd7881b8a2be1af096/ducc0-0.33.0-cp39-cp39-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f3006b666049a86851e7fd4a6bbb144f4e4ec1ea0a155e9b0ba4437f4680136",
                "md5": "90b1709b69b9faec96fa388816af365f",
                "sha256": "83820c1b00e8c1a4ea3e6905be5326daa8fc53ad03cd045b8142d03608fa4a3d"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "90b1709b69b9faec96fa388816af365f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2205055,
            "upload_time": "2024-01-12T09:43:29",
            "upload_time_iso_8601": "2024-01-12T09:43:29.784104Z",
            "url": "https://files.pythonhosted.org/packages/7f/30/06b666049a86851e7fd4a6bbb144f4e4ec1ea0a155e9b0ba4437f4680136/ducc0-0.33.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7738fe9df65b0bfe743b8a1180d8e993a4428acba2283e5fa70790d35cb2e3a0",
                "md5": "eefc15b577bbe3290c5b2fa8be509fb6",
                "sha256": "3d00a1e8479419db17de3ba0adb2c42fb2dc5e44ae91c2b2fdc8841dc9db57b2"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eefc15b577bbe3290c5b2fa8be509fb6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2973836,
            "upload_time": "2024-01-12T09:43:33",
            "upload_time_iso_8601": "2024-01-12T09:43:33.877789Z",
            "url": "https://files.pythonhosted.org/packages/77/38/fe9df65b0bfe743b8a1180d8e993a4428acba2283e5fa70790d35cb2e3a0/ducc0-0.33.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05bd92239504733694360bb3b644e35d2c584361646e980cc8a5a2431c647a9d",
                "md5": "e36de011febeeac169f1dc5e753070c7",
                "sha256": "608456b8ae567388851913ad8382f065002b8556d4965b736f35ac0a69d13e79"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e36de011febeeac169f1dc5e753070c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 3498106,
            "upload_time": "2024-01-12T09:43:38",
            "upload_time_iso_8601": "2024-01-12T09:43:38.024064Z",
            "url": "https://files.pythonhosted.org/packages/05/bd/92239504733694360bb3b644e35d2c584361646e980cc8a5a2431c647a9d/ducc0-0.33.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "227d20b997553660a4704a450b41b7eba7e6104960f5bc1008b40313357c1a3e",
                "md5": "2b1070de3fdb5c66d64ed94906d71c59",
                "sha256": "892b106e6accf03c7d2c8a97b4731f0119609df94670391e5586a8a0290f432a"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2b1070de3fdb5c66d64ed94906d71c59",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1428761,
            "upload_time": "2024-01-12T09:43:40",
            "upload_time_iso_8601": "2024-01-12T09:43:40.934972Z",
            "url": "https://files.pythonhosted.org/packages/22/7d/20b997553660a4704a450b41b7eba7e6104960f5bc1008b40313357c1a3e/ducc0-0.33.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a025f58eb4f2089f1b216136abe3ecb769b5aaac472aaa8888f437a452a0330",
                "md5": "a5dfe3e58196e2927bb8da67bf0b453a",
                "sha256": "5214b7a888f522158bef6ec6979608d5035accd53776be30ac16778078c1a4fa"
            },
            "downloads": -1,
            "filename": "ducc0-0.33.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a5dfe3e58196e2927bb8da67bf0b453a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 322370,
            "upload_time": "2024-01-12T09:43:42",
            "upload_time_iso_8601": "2024-01-12T09:43:42.885090Z",
            "url": "https://files.pythonhosted.org/packages/4a/02/5f58eb4f2089f1b216136abe3ecb769b5aaac472aaa8888f437a452a0330/ducc0-0.33.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-12 09:43:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mreineck",
    "github_project": "ducc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ducc0"
}
        
Elapsed time: 0.17685s