dggal


Namedggal JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://dggal.org
SummaryThe Discrete Global Grid Abstraction Library (DGGAL)
upload_time2025-09-02 04:07:00
maintainerNone
docs_urlNone
authorJérôme Jacovella-St-Louis, Ecere Corporation
requires_pythonNone
licenseBSD-3-Clause
keywords dggs hexagonal-grid global-grid ogc ogc-api gnosis dggrs isea ivea rtea isea3h isea9r ivea3h ivea9r slice-and-dice polyhedral-globe icosahedral rhealpix
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![DGGAL docs](https://img.shields.io/badge/docs-API_documentation-green.svg)](https://dggal.org/docs/html/dggal/Classes/DGGRS.html)<br>

# DGGAL, the Discrete Global Grid Abstraction Library

https://dggal.org

DGGAL provides a common interface to perform various operations on Discrete Global Grid Reference Systems (DGGRS), facilitating the implementation of Discrete Global Grid Systems (DGGS),
including implementing Web APIs based on the [OGC API - DGGS Standard](https://docs.ogc.org/DRAFTS/21-038r1.html).

Copyright (c) 2014-2025, Ecere Corporation

Licensed under the [BSD 3-Clause License](https://opensource.org/license/bsd-3-clause)

Source: https://github.com/ecere/dggal

Python packaging: https://github.com/ecere/pydggal

## Supported Discrete Global Grid Reference Systems

DGGAL currently supports all nine DGGRSs described in [OGC API - DGGS Annex B](https://docs.ogc.org/DRAFTS/21-038r1.html#annex-dggrs-def), as well as additional DGGRSs:

### Axis-aligned DGGRS in WGS84 latitude and longitude (simple bounding boxes)

* [GNOSIS Global Grid](https://docs.ogc.org/DRAFTS/21-038r1.html#ggg-dggrs): An axis-aligned quad-tree defined in WGS84 latitude and longitude, with special handling of polar regions achieving an approximate maximum of ~48% variance from median zone area, corresponding to the [OGC 2D Tile Matrix Set of the same name](https://docs.ogc.org/is/17-083r4/17-083r4.html#toc58)

### Equal-Area DGGRSs based on Icosahedral Projections (aperture 3 and 7 Hexagonal, aperture 4 and 9 Axis-Aligned Rhombic)

All of these Icosahedral DGGRSs achieve equal-area on the WGS84 ellipsoid, and are oriented with a first vertex of the icosahedron positioned at
authalic latitude of _atan(φ)_ (where φ is the golden ratio), and longitude 11.20°E, with second vertex due North, resulting in only one
vertex / pentagon on land. Each of the 12 pentagons occupies 5/6th the area of a hexagon at the same refinement level.

_WARNING: The aperture 7 hexagonal grids are still experimental; sub-zones are not yet implemented for them._

#### Icosahedral Snyder Equal Area (ISEA) projection

([An Equal-Area Map Projection for Polyhedral Globes (1992)](https://doi.org/10.3138%2F27H7-8K88-4882-1752), or dodecahedron configuration (DVEA) of [Slice & Dice (2006)](https://www.tandfonline.com/doi/abs/10.1559/152304006779500687))

* **ISEA4R**: An equal area rhombic grid with a refinement ratio of 4 defined in the  transformed into a 5x6 Cartesian space resulting in axis-aligned square zones
* [ISEA9R](https://docs.ogc.org/DRAFTS/21-038r1.html#isea9r-dggrs): An equal area rhombic grid with a refinement ratio of 9 defined in the ISEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones
* [ISEA3H](https://docs.ogc.org/DRAFTS/21-038r1.html#isea3h-dggrs): An equal area hexagonal grid with a refinement ratio of 3 defined in the ISEA projection
* [ISEA7H](https://docs.ogc.org/DRAFTS/21-038r1.html#isea7h-dggrs): An equal area hexagonal grid with a refinement ratio of 7 defined in the ISEA projection

#### Icosahedral Vertex-oriented great circle Equal Area (IVEA) projection

([Slice & Dice (2006)](https://www.tandfonline.com/doi/abs/10.1559/152304006779500687), or applying [Snyder 1992](https://doi.org/10.3138%2F27H7-8K88-4882-1752) to the dodecahedron (DSEA))

* **IVEA4R**: An equal area rhombic grid with a refinement ratio of 4 defined in the IVEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA4R
* [IVEA9R](https://docs.ogc.org/DRAFTS/21-038r1.html#ivea9r-dggrs): An equal area rhombic grid with a refinement ratio of 9 defined in the IVEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA9R
* [IVEA3H](https://docs.ogc.org/DRAFTS/21-038r1.html#ivea3h-dggrs): An equal area hexagonal grid with a refinement ratio of 3 defined in the IVEA projection, using the same global indexing and sub-zone ordering as for ISEA3H
* [IVEA7H](https://docs.ogc.org/DRAFTS/21-038r1.html#ivea7h-dggrs): An equal area hexagonal grid with a refinement ratio of 7 defined in the IVEA projection, using the same global indexing and sub-zone ordering as for ISEA7H

**NOTE:** This projection is superior to ISEA and RT(S)EA at avoiding perceptible cusps, resulting in more compact/regular zones.

#### Rhombic Triacontahedron (Snyder) Equal-Area (RT(S)EA) projection

(applying [Snyder 1992](https://doi.org/10.3138%2F27H7-8K88-4882-1752) to the Rhombic Triacontahedron,
 alternate configuration of [Slice & Dice (2006)](https://www.tandfonline.com/doi/abs/10.1559/152304006779500687),
[Disdyakis Triacontahedron Discrete Global Grid System](http://hdl.handle.net/1880/114595), or
[Construction of rhombic triacontahedron discrete global grid systems](https://doi.org/10.1080/17538947.2022.2130459))

* **RTEA4R**: An equal area rhombic grid with a refinement ratio of 4 defined in the RTEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA4R
* **RTEA9R**: An equal area rhombic grid with a refinement ratio of 9 defined in the RTEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA9R
* **RTEA3H**: An equal area hexagonal grid with a refinement ratio of 3 defined in the RTEA projection using the same global indexing and sub-zone ordering as for ISEA3H
* **RTEA7H**: An equal area hexagonal grid with a refinement ratio of 7 defined in the RTEA projection using the same global indexing and sub-zone ordering as for ISEA7H

### Axis-aligned and Equal-Area DGGRSs based on HEALPix Projection

([HEALPix projection](https://arxiv.org/pdf/astro-ph/0409513))

* [HEALPix](https://docs.ogc.org/DRAFTS/21-038r1.html#HEALPix-dggrs): An equal area and axis-aligned grid with square zones topology and a refinement ratio of 4 defined in the HEALPix projection, using configuration Nφ/H = 4, Nθ/K = 3 (same as default [PROJ implementation](https://proj.org/en/stable/operations/projections/healpix.html)), the new indexing described in OGC API - DGGS Annex B, and scanline-based sub-zone ordering
* [rHEALPix](https://docs.ogc.org/DRAFTS/21-038r1.html#rHEALPix-dggrs): An equal area and axis-aligned grid with square zones topology and a refinement ratio of 9 defined in the rHEALPix projection using 50° E prime meridian (equivalent to [PROJ implementation](https://proj.org/en/stable/operations/projections/rhealpix.html) with parameters `+proj=rhealpix +lon_0=50 +ellps=WGS84`), the [original hierarchical indexing](https://iopscience.iop.org/article/10.1088/1755-1315/34/1/012012), and scanline-based sub-zone ordering

## libDGGAL API Documentation

The API documentation can be [found here](https://dggal.org/docs/html/dggal/Classes/DGGRS.html).

The `DGGRS` class provides most of the functionality of the library, allowing to resolve DGGRS zones by textual ID to a unique 64-bit zone integer identifier (`DGGRSZone`).
The geometry and sub-zones of a particular zone can also be queried.
The concept of [sub-zones](https://docs.ogc.org/DRAFTS/21-038r1.html#term-sub-zone) is key to encoding both vector and raster geospatial data quantized to a DGGRS.
The DGGAL library also allows to resolve a sub-zone index at a particular depth from a parent zone, allowing to read DGGS-optimized data such as
[DGGS-JSON](http://dggs-json.org) and [DGGS-JSON-FG](https://docs.ogc.org/DRAFTS/21-038r1.html#rc_data-dggs-jsonfg).

## Language bindings

While the library is written in the [eC programming language](https://ec-lang.org), object-oriented bindings for C, C++ and Python generated using the
Ecere SDK's [`bgen` tool](https://github.com/ecere/bgen) are provided. Bindings for Rust are available as well.
Support for additional languages may be added in the future.

## `dgg` tool

### Syntax
```
   dgg <dggrs> <command> [options] <arguments>
```

### Supported DGGRSs
* `gnosis` (Global Grid)
* `isea4r`, `isea9r`, `isea3h`, `isea7h`
* `ivea4r`, `ivea9r`, `ivea3h`, `ivea7h`
* `rtea4r`, `rtea9r`, `rtea3h`, `rtea7h`
* `rhealpix` (aperture 9, 50° E)
* `healpix` (aperture 4, Nφ/H = 4, Nθ/K = 3)

### Commands

[**info**](#info) [_zone_]

- Display information about a DGGRS or about a zone of a DGGRS

[**zone**](#zone) <_coord1,coord2_> [_level_]

- Return DGGRS zone at position -- specified in EPSG:4326 (lat,lon)

[**level**](#level) [_level_]

- Display information about a DGGRS refinement level

[**grid**](#grid) [_level_]
- Generate DGGRS grid at specified refinement level (default: 0)

[**geom**](#geom) <_zone_>
- Generate geometry for a particular zone

[**list**](#list) [_level_]
- List DGGRS zones (as JSON string array)

[**rel**](#rel) <_zone 1_> <_zone 2_>
- Display information about the relationships between two zones of a DGGRS

[**sub**](#sub) <_zone_> [_index_]
- List subzones of a DGGRS zone or resolve a sub-zone by index

[**index**](#index) <_parent zone_> <_sub-zone_>
- Display index of sub-zone within parent

**compact** <_JSON input zone file (zone ID strings array)_>
- Compact input zone list

**decompact** <_JSON input zone file (zone ID strings array)_> [_level_]
- Decompact zone list

[**togeo**](#togeo) <_DGGS-(UB)JSON(-FG) input file_>
- Convert DGGS-JSON (DGGS-quantized raster data) or DGGS-JSON-FG (DGGS-quantized vector data) to GeoJSON

### Options

**-o** <_filename_>
- Output to file instead of standard output

**-crs** <_crs_>
- Select an output coordinate reference system, one of:
EPSG:4326, OGC:CRS84, 5x6, ico (icosahedron net), rhp (rHEALPix), hpx (HEALPix)

**-depth** <_relative depth_>
- For sub, specify relative depth
Also to change depth considered for calculating optional [level] from -scale, -mpp and -pixels
default: depth corresponding to ~64K sub-zones (IS/VEA9R: 5, IS/VEA3H: 10, GNOSIS: 8)

**-bbox** <_llLat,llLon,urLat,urLon_>
- Specify extent for which to list zones, generate grid, or reference extent for -pixels
example: -bbox 60,-120,62,-118 -- specified in EPSG:4326 (lat,lon)

**-centroids**
- For sub, list centroids instead of sub-zone identifiers
For togeo, use centroid points for geometry instead of polygons

**-compact**
- For list and grid, return compact list of zones

**-mpp** <_physical meters per sub-zone_>
- Specify physical meters per sub-zone as substitute for optional [level] arguments

**-scale-denom** <_scale denominator_>
- Specify scale-denominator as substitute for optional [level] arguments (based on -depth)

**-pixels** <_with,height_>
- Specify display pixels as a substitute for optional [level] argument (in combination with -bbox)

**-display-res** <_mm-per-pixels_>
- Specify display resolution in millimeters/pixel in combination with -scale and -pixels (default: 0.28)

### Example Usage

#### `info`

##### Information about a particular DGGRS

```
> dgg isea3h info
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
Refinement Ratio: 3
Maximum level for 64-bit global identifiers (DGGAL DGGRSZone): 33
Default ~64K sub-zones relative depth: 10
```

##### Information about a particular zone

```
> dgg isea3h info A4-0-A
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
Textual Zone ID: A4-0-A
64-bit integer ID: 36028797018963968 (0x80000000000000)

Level 0 zone (5 edges, centroid child)
42505468477007.4 m² (42505468.4770074 km²)
49411 sub-zones at depth 10
WGS84 Centroid (lat, lon): 0, -20.517474730219
WGS84 Extent (lat, lon): { -35.385452137707, -57.8948427221833 }, { 35.385452137707, 11.2 }

No parent

Children (6):
   A4-0-B (centroid)
   A4-0-C
   A4-0-D
   A3-0-C
   A2-0-D
   A2-0-C

Neighbors (5):
   (direction 2): A2-0-A
   (direction 3): A6-0-A
   (direction 0): AA-0-A
   (direction 6): A3-0-A
   (direction 7): A5-0-A

[EPSG:4326] Vertices (5):
   20.9908527620464, 11.2
   -20.9908527620465, 11.2
   -35.385452137707, -33.8
   0, -57.8948427221833
   35.385452137707, -33.8
```

#### `zone`

Identify zone at a particular geodetic position.

```
> dgg isea3h zone 34,-70
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
Textual Zone ID: A2-0-A
64-bit integer ID: 18014398509481984 (0x40000000000000)

Level 0 zone (5 edges, centroid child)
42505468477007.4 m² (42505468.4770074 km²)
49411 sub-zones at depth 10
WGS84 Centroid (lat, lon): 31.832357532016, -78.8
WGS84 Extent (lat, lon): { 0, -123.8 }, { 69.1802093248182, -33.8 }

No parent

Children (6):
   A2-0-B (centroid)
   A2-0-C
   A2-0-D
   A1-0-C
   A0-0-D
   A0-0-C

Neighbors (5):
   (direction 2): A0-0-A
   (direction 3): A4-0-A
   (direction 0): AA-0-A
   (direction 6): A1-0-A
   (direction 7): A3-0-A

[EPSG:4326] Vertices (5):
   35.385452137707, -33.8
   0, -57.8948427221833
   0, -99.7051575819393
   35.3854519371908, -123.8
   69.1802093248182, -78.8
```

#### `level`

##### Information about levels of a particular DGGRS

```
> dgg isea3h level
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
Assuming sub-zone depth of 10 and display resolution of 0.28 mm/pixel:
Level       Reference Area                             Sub-zones count        Sub-zone area                                                 Scale                   Meters/Sub-zone
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 0: 42505468477007.39843750 m² (42505468.47700740 km²)          49411          860243032.46255684 m² (     8602430324625.56933594 cm²)   1:   104965840      29390.43523832 m (   2939043.52383217 cm)
 1: 15939550678877.77343750 m² (15939550.67887777 km²)          59293          268826854.41582942 m² (     2688268544158.29394531 cm²)   1:    60602124      16968.59485403 m (   1696859.48540341 cm)
 2:  5544191540479.22558594 m² ( 5544191.54047923 km²)          59293           93504992.84028849 m² (      935049928402.88488770 cm²)   1:    34988666       9796.82649363 m (    979682.64936343 cm)
 3:  1875241256338.56152344 m² ( 1875241.25633856 km²)          59293           31626688.75480346 m² (      316266887548.03460693 cm²)   1:    20200718       5656.20112285 m (    565620.11228463 cm)
 4:   628159632665.13391113 m² (  628159.63266513 km²)          59293           10594161.75037751 m² (      105941617503.77513123 cm²)   1:    11662891       3265.60937742 m (    326560.93774175 cm)
 5:   209730929985.23385620 m² (  209730.92998523 km²)          59293            3537195.45283986 m² (       35371954528.39860535 cm²)   1:     6733573       1885.40047940 m (    188540.04793995 cm)
 6:    69948659040.60459900 m² (   69948.65904060 km²)          59293            1179711.92283414 m² (       11797119228.34138870 cm²)   1:     3887630       1088.53647937 m (    108853.64793690 cm)
 7:    23320483802.30837250 m² (   23320.48380231 km²)          59293             393309.22372470 m² (        3933092237.24695539 cm²)   1:     2244524        628.46683036 m (     62846.68303597 cm)
 8:     7773968507.65239239 m² (    7773.96850765 km²)          59293             131111.06720275 m² (        1311110672.02745557 cm²)   1:     1295877        362.84549387 m (     36284.54938723 cm)
 9:     2591375496.48476219 m² (    2591.37549648 km²)          59293              43704.57720953 m² (         437045772.09531683 cm²)   1:      748175        209.48894360 m (     20948.89435974 cm)
10:      863797683.49797928 m² (     863.79768350 km²)          59293              14568.29108829 m² (         145682910.88290006 cm²)   1:      431959        120.94849799 m (     12094.84979852 cm)
11:      287933211.32035321 m² (     287.93321132 km²)          59293               4856.10799454 m² (          48561079.94541568 cm²)   1:      249392         69.82964787 m (      6982.96478712 cm)
12:       95977809.34637524 m² (      95.97780935 km²)          59293               1618.70388320 m² (          16187038.83196587 cm²)   1:      143986         40.31616600 m (      4031.61659961 cm)
13:       31992611.14208768 m² (      31.99261114 km²)          59293                539.56809644 m² (           5395680.96437820 cm²)   1:       83131         23.27654929 m (      2327.65492906 cm)
14:       10664204.60587722 m² (      10.66420461 km²)          59293                179.85604719 m² (           1798560.47187311 cm²)   1:       47995         13.43872200 m (      1343.87219987 cm)
15:        3554734.96771997 m² (       3.55473497 km²)          59293                 59.95201740 m² (            599520.17400367 cm²)   1:       27710          7.75884976 m (       775.88497635 cm)
16:        1184911.66691713 m² (       1.18491167 km²)          59293                 19.98400599 m² (            199840.05985818 cm²)   1:       15998          4.47957400 m (       447.95739996 cm)
17:         394970.55686243 m² (       0.39497056 km²)          59293                  6.66133535 m² (             66613.35349239 cm²)   1:        9237          2.58628325 m (       258.62832545 cm)
18:         131656.85242341 m² (       0.13165685 km²)          59293                  2.22044512 m² (             22204.45118706 cm²)   1:        5333          1.49319133 m (       149.31913332 cm)
19:          43885.61748957 m² (       0.04388562 km²)          59293                  0.74014837 m² (              7401.48373157 cm²)   1:        3079          0.86209442 m (        86.20944182 cm)
20:          14628.53916487 m² (       0.01462854 km²)          59293                  0.24671612 m² (              2467.16124414 cm²)   1:        1778          0.49773044 m (        49.77304444 cm)
21:           4876.17972181 m² (       0.00487618 km²)          59293                  0.08223871 m² (               822.38708141 cm²)   1:        1026          0.28736481 m (        28.73648061 cm)
22:           1625.39324062 m² (       0.00162539 km²)          59293                  0.02741290 m² (               274.12902714 cm²)   1:         593          0.16591015 m (        16.59101481 cm)
23:            541.79774688 m² (       0.00054180 km²)          59293                  0.00913763 m² (                91.37634238 cm²)   1:         342          0.09578827 m (         9.57882687 cm)
24:            180.59924896 m² (       0.00018060 km²)          59293                  0.00304588 m² (                30.45878079 cm²)   1:         129          0.03620456 m (         3.62045625 cm)
25:             60.19974965 m² (       0.00006020 km²)          59293                  0.00101529 m² (                10.15292693 cm²)   1:          95          0.02656689 m (         2.65668857 cm)
26:             20.06658322 m² (       0.00002007 km²)          59293                  0.00033843 m² (                 3.38430898 cm²)   1:          56          0.01574749 m (         1.57474944 cm)
27:              6.68886107 m² (       0.00000669 km²)          59293                  0.00011281 m² (                 1.12810299 cm²)   1:          36          0.01004134 m (         1.00413390 cm)
28:              2.22962036 m² (       0.00000223 km²)          59293                  0.00003760 m² (                 0.37603433 cm²)   1:          21          0.00581872 m (         0.58187229 cm)
29:              0.74320679 m² (       0.00000074 km²)          59293                  0.00001253 m² (                 0.12534478 cm²)   1:          12          0.00348148 m (         0.34814838 cm)
30:              0.24773560 m² (       0.00000025 km²)          59293                  0.00000418 m² (                 0.04178159 cm²)   1:           7          0.00201092 m (         0.20109213 cm)
31:              0.08257853 m² (       0.00000008 km²)          59293                  0.00000139 m² (                 0.01392720 cm²)   1:           4          0.00117525 m (         0.11752498 cm)
32:              0.02752618 m² (       0.00000003 km²)          59293                  0.00000046 m² (                 0.00464240 cm²)   1:           2          0.00067856 m (         0.06785649 cm)
33:              0.00917539 m² (       0.00000001 km²)          59293                  0.00000015 m² (                 0.00154747 cm²)   1:           1          0.00039338 m (         0.03933785 cm)
```

##### Information about a particular DGGRS level
```
>  dgg isea3h level 15
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
Refinement Level: 15
Reference area: 3554734.96771997 m² (3.55473496771997 km²)

Assuming sub-zone depth of 10 (59293 sub-zones) and display resolution of 0.28 mm/pixel:
   Sub-zones area: 59.9520174003672 m² (599520.174003672 cm²)
   Cartographic scale: 1:27710
   Physical meters/sub-zone: 7.75884976353492 (775.884976353492 cm/sub-zone)
```

#### `grid`

##### Generate grid geometry for a particular refinement level

Output is [GeoJSON](https://geojson.org/):

```
> dgg isea3h -crs ico grid 3 > isea3h-level3-isea.geojson
```

![image](https://dggal.org/images/isea3h-grid-level3.png)

```
> dgg isea3h grid 3 > isea3h-level3-crs84.geojson
```

![image](https://dggal.org/images/isea3h-grid-level3-crs84.png)

##### Generate grid geometry for a given bounding box using compacted zones

```
> dgg isea3h grid 15 -compact -bbox 44,-76,46,-74
```

![image](https://dggal.org/images/compact-grid.png)


#### `geom`

Generate geometry of a specific zone

```
> dgg isea3h geom A4-0-A
```

```geojson
{
   "type" : "Feature",
   "id" : "A4-0-A",
   "geometry" : {
      "type" : "Polygon",
      "coordinates" : [
         [ [11.2, 20.9908533396875], [11.2, 18.9046368254835], [11.2, 16.817317021754], [11.2, 14.7282441160477], [11.2, 12.6367658994772], [11.2, 10.5422256002322], [11.2, 8.44395966388283], [11.2, 6.3412954618102], [11.2, 4.2335489079295], [11.2, 2.12002196235325], [11.2, -0.00000000000000958], [11.2, -2.12002196235327], [11.2, -4.2335489079295], [11.2, -6.34129546181022], [11.2, -8.44395966388284], [11.2, -10.5422256002322], [11.2, -12.6367658994773], [11.2, -14.7282441160477], [11.2, -16.817317021754], [11.2, -18.9046368254835], [11.2, -20.9908533396875], [9.25904611568614, -22.022704447347], [7.2894978850024, -23.0315860032884], [5.2895073521231, -24.0162595826945], [3.2572732870332, -24.9754140020123], [1.19105174674043, -25.907662551343], [-0.910831437312103, -26.8115406666264], [-3.04996620024865, -27.6855041419538], [-5.22784181139874, -28.5279279934546], [-7.44582852527487, -29.3371060956138], [-9.70515744760715, -30.111251717508], [-11.9990182364648, -30.8460627665615], [-14.3199274459944, -31.5377272377057], [-16.6678118661126, -32.1851262644314], [-19.0423550054196, -32.7871381036537], [-21.4429904142008, -33.3426478478608], [-23.868897601607, -33.8505577351568], [-26.319001132268, -34.3097979200868], [-28.791973441741, -34.7193375329077], [-31.2862418322802, -35.0781958218138], [-33.7999999994894, -35.385453143805], [-35.328584064796, -33.7294909375037], [-36.7997931901407, -32.0544538235723], [-38.2190895198383, -30.3615150627895], [-39.591520816704, -28.651669714028], [-40.9217621171856, -26.9257555850354], [-42.2141557503646, -25.184471421695], [-43.4727493595782, -23.4283926793226], [-44.7013318005733, -21.6579851878463], [-45.9034669523704, -19.8736169902905], [-47.0825255880168, -18.075568603016], [-48.2378134716698, -16.2702095110336], [-49.3687568644497, -14.463940351611], [-50.4786064975358, -12.656986739445], [-51.5704092970534, -10.8495265877445], [-52.647041014988, -9.04169850753405], [-53.7112358369818, -7.23360915100237], [-54.765613515085, -5.42533970970474], [-55.8127045186767, -3.61695174870332], [-56.8549736519885, -1.80849253470827], [-57.894842551487, 0.0000000010850795], [-56.8549736519113, 1.80849253683432], [-55.8127045185966, 3.61695175082982], [-54.7656135150002, 5.425339711832], [-53.7112358368904, 7.2336091531306], [-52.6470410148878, 9.04169850966353], [-51.5704092969423, 10.8495265898755], [-50.4786064974117, 12.6569867415778], [-49.36875686431, 14.4639403537457], [-48.237813471512, 16.2702095131705], [-47.082525588539, 18.0755686040723], [-45.9034669536086, 19.873616990275], [-44.7013318018277, 21.6579851878424], [-43.47274936085, 23.428392679331], [-42.214155751655, 25.1844714217162], [-40.9217621184958, 26.9257555850703], [-39.5915208180354, 28.651669714077], [-38.219089521192, 30.3615150628536], [-36.799793191518, 32.0544538236523], [-35.328584066198, 33.7294909376005], [-33.8000000009355, 35.3854531438384], [-31.2862418337828, 35.0781958220137], [-28.7919734432313, 34.7193375331383], [-26.3190011337452, 34.3097979203474], [-23.86889760307, 33.850557735447], [-21.442990415649, 33.34264784818], [-19.0423550068522, 32.787138104001], [-16.6678118675294, 32.1851262648063], [-14.319927447395, 31.5377272381076], [-11.9990182378492, 30.8460627669896], [-9.70515744897538, 30.1112517179616], [-9.7051574476072, 30.1112517175078], [-7.44582852527492, 29.3371060956137], [-5.2278418113988, 28.5279279934545], [-3.0499662002487, 27.6855041419537], [-0.91083143731212, 26.8115406666263], [1.1910517467404, 25.907662551343], [3.2572732870332, 24.9754140020123], [5.289507352124, 24.0162595826945], [7.28949788500238, 23.0315860032884], [9.259046115687, 22.022704447347], [11.2, 20.9908533396875] ]
      ]
   },
   "properties" : {
     "zoneID" : "A4-0-A"
   }
}
```

```
> dgg -crs ico isea3h geom A4-0-A
```

![image](https://dggal.org/images/zone-geom.png)

#### `list`

##### List zones of a given refinement level

```
> dgg isea3h list 0
```

```json
[ "A0-0-A", "A1-0-A", "A2-0-A", "A3-0-A", "A4-0-A", "A5-0-A",
"A6-0-A", "A7-0-A", "A8-0-A", "A9-0-A", "AA-0-A", "AB-0-A" ]
```

##### List compacted zones of a given refinement level for a particular bounding box

```
> dgg isea3h list 10 -compact -bbox 44,-76,46,-74
```

```json
[ "E0-1397-A", "F0-AAC7-A", "F0-ABB7-A", "F0-ABB8-A", "F0-ABB9-A", "F0-ABBA-A",
"F0-ABBB-A", "F0-ACA9-A", "F0-ACAA-A", "F0-ACAB-A", "F0-ACAC-A", "F0-ACAD-A",
"F0-ACAE-A", "F0-AD9D-A", "F0-AD9E-A", "F0-ADA1-A", "F0-ADA2-A", "F0-AE91-A",
"F0-AE95-A", "F0-AF84-A", "F0-AF85-A", "F0-AF88-A", "F0-AF89-A", "F0-B078-A",
"F0-B079-A", "F0-B07A-A", "F0-B07B-A", "F0-B07C-A", "F0-B16B-A", "F0-B16C-A",
"F0-B16D-A", "F0-B16E-A", "F0-B16F-A", "F0-B170-A", "F0-B25F-A", "F0-B260-A",
"F0-B261-A", "F0-B262-A", "F0-B263-A", "F0-B352-A", "F0-B353-A", "F0-B354-A",
"F0-B355-A", "F0-B356-A", "F0-B357-A", "F0-B446-A", "F0-B447-A", "F0-B448-A" ]
```

#### `rel`

Show relationships between two zones

```
> dgg isea3h rel A4-0-A D4-20-D
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
Relationships between zones A4-0-A (A) and D4-20-D (B):

Zone A is coarser than zone B by 7 refinement levels
The area of zone A is greater than the area of zone B (area of B is 0.054869684499314 % of zone A)
Zone A is NOT an immediate child of zone B
Zone A is NOT an immediate parent of zone B
Zone A is NOT a descendant of zone B
Zone A is an ancestor of zone B
Zone A is NOT a sub-zone of zone B
Zone A has B as a sub-zone (at depth 7, index 1034)
These zones are NOT neighbors
These zones are NOT siblings
Zone A is NOT contained in zone B
Zone A contains zone B
Zone A and B overlap
```

#### `sub`

##### Query sub-zones of parent zone at a particular relative depth

```
> dgg isea3h sub A4-0-A -depth 3
```

```json
[ "B2-7-B", "B2-4-D", "B2-4-C", "B2-5-B", "B2-7-D", "B2-7-C", "B2-8-B",
"B2-5-D", "B2-5-C", "B3-1-C", "B3-2-B", "B2-8-D", "B2-8-C", "B4-1-B",
"B4-1-C", "B3-5-B", "B3-2-D", "B3-2-C", "B4-0-B", "B4-0-C", "B4-1-D",
"B4-5-B", "B3-5-C", "B4-3-B", "B4-0-D", "B4-4-B", "B4-4-C", "B4-3-D",
"B4-3-C", "B4-4-D", "B4-7-B" ]
```

##### Identify sub-zone of parent zone at a particular relative depth and index

```
> dgg isea3h sub A4-0-A 8 -depth 3
```

```json
"B2-5-C"
```

#### `index`

##### Query index of sub-zone

```
> dgg isea3h index A4-0-A B2-5-C
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
B2-5-C is at index 8 of A4-0-A at depth 3
```

```
> dgg isea3h index A4-0-A B6-5-C
DGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H
sub-zone B6-5-C not found within parent A4-0-A
```

#### `togeo`

Converts [DGGS-JSON](http://dggs-json.org) (and eventually [DGGS-JSON-FG](https://docs.ogc.org/DRAFTS/21-038r1.html#rc_data-dggs-jsonfg) and [UBJSON](https://ubjson.org/) variants) to GeoJSON
to facilitate interoperability with traditional GIS software / software not aware of the DGGRS.

https://maps.gnosis.earth/ogcapi/collections/sentinel2-l2a/dggs/ISEA3H/zones/G7-67252-B/data.json?zone-depth=8&datetime=2022-10-28&properties=B08

```
> dgg isea3h togeo -crs ico G7-67252-B-B08.json
```

![image](https://dggal.org/images/B08.png)

_B08 (near-infrared) band retrieved as DGGS-JSON data from [Copernicus/ESA sentinel-2](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) converted to GeoJSON and visualized in QGIS_

            

Raw data

            {
    "_id": null,
    "home_page": "https://dggal.org",
    "name": "dggal",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "dggs hexagonal-grid global-grid ogc ogc-api gnosis dggrs isea ivea rtea isea3h isea9r ivea3h ivea9r slice-and-dice polyhedral-globe icosahedral rhealpix",
    "author": "J\u00e9r\u00f4me Jacovella-St-Louis, Ecere Corporation",
    "author_email": "jerome@ecere.com",
    "download_url": "https://files.pythonhosted.org/packages/31/22/63cd3d583d5d7c60eba314dd42402fb53e767d6db9e3842324ad40208500/dggal-0.0.4.tar.gz",
    "platform": null,
    "description": "[![DGGAL docs](https://img.shields.io/badge/docs-API_documentation-green.svg)](https://dggal.org/docs/html/dggal/Classes/DGGRS.html)<br>\n\n# DGGAL, the Discrete Global Grid Abstraction Library\n\nhttps://dggal.org\n\nDGGAL provides a common interface to perform various operations on Discrete Global Grid Reference Systems (DGGRS), facilitating the implementation of Discrete Global Grid Systems (DGGS),\nincluding implementing Web APIs based on the [OGC API - DGGS Standard](https://docs.ogc.org/DRAFTS/21-038r1.html).\n\nCopyright (c) 2014-2025, Ecere Corporation\n\nLicensed under the [BSD 3-Clause License](https://opensource.org/license/bsd-3-clause)\n\nSource: https://github.com/ecere/dggal\n\nPython packaging: https://github.com/ecere/pydggal\n\n## Supported Discrete Global Grid Reference Systems\n\nDGGAL currently supports all nine DGGRSs described in [OGC API - DGGS Annex B](https://docs.ogc.org/DRAFTS/21-038r1.html#annex-dggrs-def), as well as additional DGGRSs:\n\n### Axis-aligned DGGRS in WGS84 latitude and longitude (simple bounding boxes)\n\n* [GNOSIS Global Grid](https://docs.ogc.org/DRAFTS/21-038r1.html#ggg-dggrs): An axis-aligned quad-tree defined in WGS84 latitude and longitude, with special handling of polar regions achieving an approximate maximum of ~48% variance from median zone area, corresponding to the [OGC 2D Tile Matrix Set of the same name](https://docs.ogc.org/is/17-083r4/17-083r4.html#toc58)\n\n### Equal-Area DGGRSs based on Icosahedral Projections (aperture 3 and 7 Hexagonal, aperture 4 and 9 Axis-Aligned Rhombic)\n\nAll of these Icosahedral DGGRSs achieve equal-area on the WGS84 ellipsoid, and are oriented with a first vertex of the icosahedron positioned at\nauthalic latitude of _atan(\u03c6)_ (where \u03c6 is the golden ratio), and longitude 11.20\u00b0E, with second vertex due North, resulting in only one\nvertex / pentagon on land. Each of the 12 pentagons occupies 5/6th the area of a hexagon at the same refinement level.\n\n_WARNING: The aperture 7 hexagonal grids are still experimental; sub-zones are not yet implemented for them._\n\n#### Icosahedral Snyder Equal Area (ISEA) projection\n\n([An Equal-Area Map Projection for Polyhedral Globes (1992)](https://doi.org/10.3138%2F27H7-8K88-4882-1752), or dodecahedron configuration (DVEA) of [Slice & Dice (2006)](https://www.tandfonline.com/doi/abs/10.1559/152304006779500687))\n\n* **ISEA4R**: An equal area rhombic grid with a refinement ratio of 4 defined in the  transformed into a 5x6 Cartesian space resulting in axis-aligned square zones\n* [ISEA9R](https://docs.ogc.org/DRAFTS/21-038r1.html#isea9r-dggrs): An equal area rhombic grid with a refinement ratio of 9 defined in the ISEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones\n* [ISEA3H](https://docs.ogc.org/DRAFTS/21-038r1.html#isea3h-dggrs): An equal area hexagonal grid with a refinement ratio of 3 defined in the ISEA projection\n* [ISEA7H](https://docs.ogc.org/DRAFTS/21-038r1.html#isea7h-dggrs): An equal area hexagonal grid with a refinement ratio of 7 defined in the ISEA projection\n\n#### Icosahedral Vertex-oriented great circle Equal Area (IVEA) projection\n\n([Slice & Dice (2006)](https://www.tandfonline.com/doi/abs/10.1559/152304006779500687), or applying [Snyder 1992](https://doi.org/10.3138%2F27H7-8K88-4882-1752) to the dodecahedron (DSEA))\n\n* **IVEA4R**: An equal area rhombic grid with a refinement ratio of 4 defined in the IVEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA4R\n* [IVEA9R](https://docs.ogc.org/DRAFTS/21-038r1.html#ivea9r-dggrs): An equal area rhombic grid with a refinement ratio of 9 defined in the IVEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA9R\n* [IVEA3H](https://docs.ogc.org/DRAFTS/21-038r1.html#ivea3h-dggrs): An equal area hexagonal grid with a refinement ratio of 3 defined in the IVEA projection, using the same global indexing and sub-zone ordering as for ISEA3H\n* [IVEA7H](https://docs.ogc.org/DRAFTS/21-038r1.html#ivea7h-dggrs): An equal area hexagonal grid with a refinement ratio of 7 defined in the IVEA projection, using the same global indexing and sub-zone ordering as for ISEA7H\n\n**NOTE:** This projection is superior to ISEA and RT(S)EA at avoiding perceptible cusps, resulting in more compact/regular zones.\n\n#### Rhombic Triacontahedron (Snyder) Equal-Area (RT(S)EA) projection\n\n(applying [Snyder 1992](https://doi.org/10.3138%2F27H7-8K88-4882-1752) to the Rhombic Triacontahedron,\n alternate configuration of [Slice & Dice (2006)](https://www.tandfonline.com/doi/abs/10.1559/152304006779500687),\n[Disdyakis Triacontahedron Discrete Global Grid System](http://hdl.handle.net/1880/114595), or\n[Construction of rhombic triacontahedron discrete global grid systems](https://doi.org/10.1080/17538947.2022.2130459))\n\n* **RTEA4R**: An equal area rhombic grid with a refinement ratio of 4 defined in the RTEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA4R\n* **RTEA9R**: An equal area rhombic grid with a refinement ratio of 9 defined in the RTEA projection transformed into a 5x6 Cartesian space resulting in axis-aligned square zones, using the same global indexing and sub-zone ordering as for ISEA9R\n* **RTEA3H**: An equal area hexagonal grid with a refinement ratio of 3 defined in the RTEA projection using the same global indexing and sub-zone ordering as for ISEA3H\n* **RTEA7H**: An equal area hexagonal grid with a refinement ratio of 7 defined in the RTEA projection using the same global indexing and sub-zone ordering as for ISEA7H\n\n### Axis-aligned and Equal-Area DGGRSs based on HEALPix Projection\n\n([HEALPix projection](https://arxiv.org/pdf/astro-ph/0409513))\n\n* [HEALPix](https://docs.ogc.org/DRAFTS/21-038r1.html#HEALPix-dggrs): An equal area and axis-aligned grid with square zones topology and a refinement ratio of 4 defined in the HEALPix projection, using configuration N\u03c6/H = 4, N\u03b8/K = 3 (same as default [PROJ implementation](https://proj.org/en/stable/operations/projections/healpix.html)), the new indexing described in OGC API - DGGS Annex B, and scanline-based sub-zone ordering\n* [rHEALPix](https://docs.ogc.org/DRAFTS/21-038r1.html#rHEALPix-dggrs): An equal area and axis-aligned grid with square zones topology and a refinement ratio of 9 defined in the rHEALPix projection using 50\u00b0 E prime meridian (equivalent to [PROJ implementation](https://proj.org/en/stable/operations/projections/rhealpix.html) with parameters `+proj=rhealpix +lon_0=50 +ellps=WGS84`), the [original hierarchical indexing](https://iopscience.iop.org/article/10.1088/1755-1315/34/1/012012), and scanline-based sub-zone ordering\n\n## libDGGAL API Documentation\n\nThe API documentation can be [found here](https://dggal.org/docs/html/dggal/Classes/DGGRS.html).\n\nThe `DGGRS` class provides most of the functionality of the library, allowing to resolve DGGRS zones by textual ID to a unique 64-bit zone integer identifier (`DGGRSZone`).\nThe geometry and sub-zones of a particular zone can also be queried.\nThe concept of [sub-zones](https://docs.ogc.org/DRAFTS/21-038r1.html#term-sub-zone) is key to encoding both vector and raster geospatial data quantized to a DGGRS.\nThe DGGAL library also allows to resolve a sub-zone index at a particular depth from a parent zone, allowing to read DGGS-optimized data such as\n[DGGS-JSON](http://dggs-json.org) and [DGGS-JSON-FG](https://docs.ogc.org/DRAFTS/21-038r1.html#rc_data-dggs-jsonfg).\n\n## Language bindings\n\nWhile the library is written in the [eC programming language](https://ec-lang.org), object-oriented bindings for C, C++ and Python generated using the\nEcere SDK's [`bgen` tool](https://github.com/ecere/bgen) are provided. Bindings for Rust are available as well.\nSupport for additional languages may be added in the future.\n\n## `dgg` tool\n\n### Syntax\n```\n   dgg <dggrs> <command> [options] <arguments>\n```\n\n### Supported DGGRSs\n* `gnosis` (Global Grid)\n* `isea4r`, `isea9r`, `isea3h`, `isea7h`\n* `ivea4r`, `ivea9r`, `ivea3h`, `ivea7h`\n* `rtea4r`, `rtea9r`, `rtea3h`, `rtea7h`\n* `rhealpix` (aperture 9, 50\u00b0 E)\n* `healpix` (aperture 4, N\u03c6/H = 4, N\u03b8/K = 3)\n\n### Commands\n\n[**info**](#info) [_zone_]\n\n- Display information about a DGGRS or about a zone of a DGGRS\n\n[**zone**](#zone) <_coord1,coord2_> [_level_]\n\n- Return DGGRS zone at position -- specified in EPSG:4326 (lat,lon)\n\n[**level**](#level) [_level_]\n\n- Display information about a DGGRS refinement level\n\n[**grid**](#grid) [_level_]\n- Generate DGGRS grid at specified refinement level (default: 0)\n\n[**geom**](#geom) <_zone_>\n- Generate geometry for a particular zone\n\n[**list**](#list) [_level_]\n- List DGGRS zones (as JSON string array)\n\n[**rel**](#rel) <_zone 1_> <_zone 2_>\n- Display information about the relationships between two zones of a DGGRS\n\n[**sub**](#sub) <_zone_> [_index_]\n- List subzones of a DGGRS zone or resolve a sub-zone by index\n\n[**index**](#index) <_parent zone_> <_sub-zone_>\n- Display index of sub-zone within parent\n\n**compact** <_JSON input zone file (zone ID strings array)_>\n- Compact input zone list\n\n**decompact** <_JSON input zone file (zone ID strings array)_> [_level_]\n- Decompact zone list\n\n[**togeo**](#togeo) <_DGGS-(UB)JSON(-FG) input file_>\n- Convert DGGS-JSON (DGGS-quantized raster data) or DGGS-JSON-FG (DGGS-quantized vector data) to GeoJSON\n\n### Options\n\n**-o** <_filename_>\n- Output to file instead of standard output\n\n**-crs** <_crs_>\n- Select an output coordinate reference system, one of:\nEPSG:4326, OGC:CRS84, 5x6, ico (icosahedron net), rhp (rHEALPix), hpx (HEALPix)\n\n**-depth** <_relative depth_>\n- For sub, specify relative depth\nAlso to change depth considered for calculating optional [level] from -scale, -mpp and -pixels\ndefault: depth corresponding to ~64K sub-zones (IS/VEA9R: 5, IS/VEA3H: 10, GNOSIS: 8)\n\n**-bbox** <_llLat,llLon,urLat,urLon_>\n- Specify extent for which to list zones, generate grid, or reference extent for -pixels\nexample: -bbox 60,-120,62,-118 -- specified in EPSG:4326 (lat,lon)\n\n**-centroids**\n- For sub, list centroids instead of sub-zone identifiers\nFor togeo, use centroid points for geometry instead of polygons\n\n**-compact**\n- For list and grid, return compact list of zones\n\n**-mpp** <_physical meters per sub-zone_>\n- Specify physical meters per sub-zone as substitute for optional [level] arguments\n\n**-scale-denom** <_scale denominator_>\n- Specify scale-denominator as substitute for optional [level] arguments (based on -depth)\n\n**-pixels** <_with,height_>\n- Specify display pixels as a substitute for optional [level] argument (in combination with -bbox)\n\n**-display-res** <_mm-per-pixels_>\n- Specify display resolution in millimeters/pixel in combination with -scale and -pixels (default: 0.28)\n\n### Example Usage\n\n#### `info`\n\n##### Information about a particular DGGRS\n\n```\n> dgg isea3h info\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nRefinement Ratio: 3\nMaximum level for 64-bit global identifiers (DGGAL DGGRSZone): 33\nDefault ~64K sub-zones relative depth: 10\n```\n\n##### Information about a particular zone\n\n```\n> dgg isea3h info A4-0-A\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nTextual Zone ID: A4-0-A\n64-bit integer ID: 36028797018963968 (0x80000000000000)\n\nLevel 0 zone (5 edges, centroid child)\n42505468477007.4 m\u00b2 (42505468.4770074 km\u00b2)\n49411 sub-zones at depth 10\nWGS84 Centroid (lat, lon): 0, -20.517474730219\nWGS84 Extent (lat, lon): { -35.385452137707, -57.8948427221833 }, { 35.385452137707, 11.2 }\n\nNo parent\n\nChildren (6):\n   A4-0-B (centroid)\n   A4-0-C\n   A4-0-D\n   A3-0-C\n   A2-0-D\n   A2-0-C\n\nNeighbors (5):\n   (direction 2): A2-0-A\n   (direction 3): A6-0-A\n   (direction 0): AA-0-A\n   (direction 6): A3-0-A\n   (direction 7): A5-0-A\n\n[EPSG:4326] Vertices (5):\n   20.9908527620464, 11.2\n   -20.9908527620465, 11.2\n   -35.385452137707, -33.8\n   0, -57.8948427221833\n   35.385452137707, -33.8\n```\n\n#### `zone`\n\nIdentify zone at a particular geodetic position.\n\n```\n> dgg isea3h zone 34,-70\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nTextual Zone ID: A2-0-A\n64-bit integer ID: 18014398509481984 (0x40000000000000)\n\nLevel 0 zone (5 edges, centroid child)\n42505468477007.4 m\u00b2 (42505468.4770074 km\u00b2)\n49411 sub-zones at depth 10\nWGS84 Centroid (lat, lon): 31.832357532016, -78.8\nWGS84 Extent (lat, lon): { 0, -123.8 }, { 69.1802093248182, -33.8 }\n\nNo parent\n\nChildren (6):\n   A2-0-B (centroid)\n   A2-0-C\n   A2-0-D\n   A1-0-C\n   A0-0-D\n   A0-0-C\n\nNeighbors (5):\n   (direction 2): A0-0-A\n   (direction 3): A4-0-A\n   (direction 0): AA-0-A\n   (direction 6): A1-0-A\n   (direction 7): A3-0-A\n\n[EPSG:4326] Vertices (5):\n   35.385452137707, -33.8\n   0, -57.8948427221833\n   0, -99.7051575819393\n   35.3854519371908, -123.8\n   69.1802093248182, -78.8\n```\n\n#### `level`\n\n##### Information about levels of a particular DGGRS\n\n```\n> dgg isea3h level\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nAssuming sub-zone depth of 10 and display resolution of 0.28 mm/pixel:\nLevel       Reference Area                             Sub-zones count        Sub-zone area                                                 Scale                   Meters/Sub-zone\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n 0: 42505468477007.39843750 m\u00b2 (42505468.47700740 km\u00b2)          49411          860243032.46255684 m\u00b2 (     8602430324625.56933594 cm\u00b2)   1:   104965840      29390.43523832 m (   2939043.52383217 cm)\n 1: 15939550678877.77343750 m\u00b2 (15939550.67887777 km\u00b2)          59293          268826854.41582942 m\u00b2 (     2688268544158.29394531 cm\u00b2)   1:    60602124      16968.59485403 m (   1696859.48540341 cm)\n 2:  5544191540479.22558594 m\u00b2 ( 5544191.54047923 km\u00b2)          59293           93504992.84028849 m\u00b2 (      935049928402.88488770 cm\u00b2)   1:    34988666       9796.82649363 m (    979682.64936343 cm)\n 3:  1875241256338.56152344 m\u00b2 ( 1875241.25633856 km\u00b2)          59293           31626688.75480346 m\u00b2 (      316266887548.03460693 cm\u00b2)   1:    20200718       5656.20112285 m (    565620.11228463 cm)\n 4:   628159632665.13391113 m\u00b2 (  628159.63266513 km\u00b2)          59293           10594161.75037751 m\u00b2 (      105941617503.77513123 cm\u00b2)   1:    11662891       3265.60937742 m (    326560.93774175 cm)\n 5:   209730929985.23385620 m\u00b2 (  209730.92998523 km\u00b2)          59293            3537195.45283986 m\u00b2 (       35371954528.39860535 cm\u00b2)   1:     6733573       1885.40047940 m (    188540.04793995 cm)\n 6:    69948659040.60459900 m\u00b2 (   69948.65904060 km\u00b2)          59293            1179711.92283414 m\u00b2 (       11797119228.34138870 cm\u00b2)   1:     3887630       1088.53647937 m (    108853.64793690 cm)\n 7:    23320483802.30837250 m\u00b2 (   23320.48380231 km\u00b2)          59293             393309.22372470 m\u00b2 (        3933092237.24695539 cm\u00b2)   1:     2244524        628.46683036 m (     62846.68303597 cm)\n 8:     7773968507.65239239 m\u00b2 (    7773.96850765 km\u00b2)          59293             131111.06720275 m\u00b2 (        1311110672.02745557 cm\u00b2)   1:     1295877        362.84549387 m (     36284.54938723 cm)\n 9:     2591375496.48476219 m\u00b2 (    2591.37549648 km\u00b2)          59293              43704.57720953 m\u00b2 (         437045772.09531683 cm\u00b2)   1:      748175        209.48894360 m (     20948.89435974 cm)\n10:      863797683.49797928 m\u00b2 (     863.79768350 km\u00b2)          59293              14568.29108829 m\u00b2 (         145682910.88290006 cm\u00b2)   1:      431959        120.94849799 m (     12094.84979852 cm)\n11:      287933211.32035321 m\u00b2 (     287.93321132 km\u00b2)          59293               4856.10799454 m\u00b2 (          48561079.94541568 cm\u00b2)   1:      249392         69.82964787 m (      6982.96478712 cm)\n12:       95977809.34637524 m\u00b2 (      95.97780935 km\u00b2)          59293               1618.70388320 m\u00b2 (          16187038.83196587 cm\u00b2)   1:      143986         40.31616600 m (      4031.61659961 cm)\n13:       31992611.14208768 m\u00b2 (      31.99261114 km\u00b2)          59293                539.56809644 m\u00b2 (           5395680.96437820 cm\u00b2)   1:       83131         23.27654929 m (      2327.65492906 cm)\n14:       10664204.60587722 m\u00b2 (      10.66420461 km\u00b2)          59293                179.85604719 m\u00b2 (           1798560.47187311 cm\u00b2)   1:       47995         13.43872200 m (      1343.87219987 cm)\n15:        3554734.96771997 m\u00b2 (       3.55473497 km\u00b2)          59293                 59.95201740 m\u00b2 (            599520.17400367 cm\u00b2)   1:       27710          7.75884976 m (       775.88497635 cm)\n16:        1184911.66691713 m\u00b2 (       1.18491167 km\u00b2)          59293                 19.98400599 m\u00b2 (            199840.05985818 cm\u00b2)   1:       15998          4.47957400 m (       447.95739996 cm)\n17:         394970.55686243 m\u00b2 (       0.39497056 km\u00b2)          59293                  6.66133535 m\u00b2 (             66613.35349239 cm\u00b2)   1:        9237          2.58628325 m (       258.62832545 cm)\n18:         131656.85242341 m\u00b2 (       0.13165685 km\u00b2)          59293                  2.22044512 m\u00b2 (             22204.45118706 cm\u00b2)   1:        5333          1.49319133 m (       149.31913332 cm)\n19:          43885.61748957 m\u00b2 (       0.04388562 km\u00b2)          59293                  0.74014837 m\u00b2 (              7401.48373157 cm\u00b2)   1:        3079          0.86209442 m (        86.20944182 cm)\n20:          14628.53916487 m\u00b2 (       0.01462854 km\u00b2)          59293                  0.24671612 m\u00b2 (              2467.16124414 cm\u00b2)   1:        1778          0.49773044 m (        49.77304444 cm)\n21:           4876.17972181 m\u00b2 (       0.00487618 km\u00b2)          59293                  0.08223871 m\u00b2 (               822.38708141 cm\u00b2)   1:        1026          0.28736481 m (        28.73648061 cm)\n22:           1625.39324062 m\u00b2 (       0.00162539 km\u00b2)          59293                  0.02741290 m\u00b2 (               274.12902714 cm\u00b2)   1:         593          0.16591015 m (        16.59101481 cm)\n23:            541.79774688 m\u00b2 (       0.00054180 km\u00b2)          59293                  0.00913763 m\u00b2 (                91.37634238 cm\u00b2)   1:         342          0.09578827 m (         9.57882687 cm)\n24:            180.59924896 m\u00b2 (       0.00018060 km\u00b2)          59293                  0.00304588 m\u00b2 (                30.45878079 cm\u00b2)   1:         129          0.03620456 m (         3.62045625 cm)\n25:             60.19974965 m\u00b2 (       0.00006020 km\u00b2)          59293                  0.00101529 m\u00b2 (                10.15292693 cm\u00b2)   1:          95          0.02656689 m (         2.65668857 cm)\n26:             20.06658322 m\u00b2 (       0.00002007 km\u00b2)          59293                  0.00033843 m\u00b2 (                 3.38430898 cm\u00b2)   1:          56          0.01574749 m (         1.57474944 cm)\n27:              6.68886107 m\u00b2 (       0.00000669 km\u00b2)          59293                  0.00011281 m\u00b2 (                 1.12810299 cm\u00b2)   1:          36          0.01004134 m (         1.00413390 cm)\n28:              2.22962036 m\u00b2 (       0.00000223 km\u00b2)          59293                  0.00003760 m\u00b2 (                 0.37603433 cm\u00b2)   1:          21          0.00581872 m (         0.58187229 cm)\n29:              0.74320679 m\u00b2 (       0.00000074 km\u00b2)          59293                  0.00001253 m\u00b2 (                 0.12534478 cm\u00b2)   1:          12          0.00348148 m (         0.34814838 cm)\n30:              0.24773560 m\u00b2 (       0.00000025 km\u00b2)          59293                  0.00000418 m\u00b2 (                 0.04178159 cm\u00b2)   1:           7          0.00201092 m (         0.20109213 cm)\n31:              0.08257853 m\u00b2 (       0.00000008 km\u00b2)          59293                  0.00000139 m\u00b2 (                 0.01392720 cm\u00b2)   1:           4          0.00117525 m (         0.11752498 cm)\n32:              0.02752618 m\u00b2 (       0.00000003 km\u00b2)          59293                  0.00000046 m\u00b2 (                 0.00464240 cm\u00b2)   1:           2          0.00067856 m (         0.06785649 cm)\n33:              0.00917539 m\u00b2 (       0.00000001 km\u00b2)          59293                  0.00000015 m\u00b2 (                 0.00154747 cm\u00b2)   1:           1          0.00039338 m (         0.03933785 cm)\n```\n\n##### Information about a particular DGGRS level\n```\n>  dgg isea3h level 15\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nRefinement Level: 15\nReference area: 3554734.96771997 m\u00b2 (3.55473496771997 km\u00b2)\n\nAssuming sub-zone depth of 10 (59293 sub-zones) and display resolution of 0.28 mm/pixel:\n   Sub-zones area: 59.9520174003672 m\u00b2 (599520.174003672 cm\u00b2)\n   Cartographic scale: 1:27710\n   Physical meters/sub-zone: 7.75884976353492 (775.884976353492 cm/sub-zone)\n```\n\n#### `grid`\n\n##### Generate grid geometry for a particular refinement level\n\nOutput is [GeoJSON](https://geojson.org/):\n\n```\n> dgg isea3h -crs ico grid 3 > isea3h-level3-isea.geojson\n```\n\n![image](https://dggal.org/images/isea3h-grid-level3.png)\n\n```\n> dgg isea3h grid 3 > isea3h-level3-crs84.geojson\n```\n\n![image](https://dggal.org/images/isea3h-grid-level3-crs84.png)\n\n##### Generate grid geometry for a given bounding box using compacted zones\n\n```\n> dgg isea3h grid 15 -compact -bbox 44,-76,46,-74\n```\n\n![image](https://dggal.org/images/compact-grid.png)\n\n\n#### `geom`\n\nGenerate geometry of a specific zone\n\n```\n> dgg isea3h geom A4-0-A\n```\n\n```geojson\n{\n   \"type\" : \"Feature\",\n   \"id\" : \"A4-0-A\",\n   \"geometry\" : {\n      \"type\" : \"Polygon\",\n      \"coordinates\" : [\n         [ [11.2, 20.9908533396875], [11.2, 18.9046368254835], [11.2, 16.817317021754], [11.2, 14.7282441160477], [11.2, 12.6367658994772], [11.2, 10.5422256002322], [11.2, 8.44395966388283], [11.2, 6.3412954618102], [11.2, 4.2335489079295], [11.2, 2.12002196235325], [11.2, -0.00000000000000958], [11.2, -2.12002196235327], [11.2, -4.2335489079295], [11.2, -6.34129546181022], [11.2, -8.44395966388284], [11.2, -10.5422256002322], [11.2, -12.6367658994773], [11.2, -14.7282441160477], [11.2, -16.817317021754], [11.2, -18.9046368254835], [11.2, -20.9908533396875], [9.25904611568614, -22.022704447347], [7.2894978850024, -23.0315860032884], [5.2895073521231, -24.0162595826945], [3.2572732870332, -24.9754140020123], [1.19105174674043, -25.907662551343], [-0.910831437312103, -26.8115406666264], [-3.04996620024865, -27.6855041419538], [-5.22784181139874, -28.5279279934546], [-7.44582852527487, -29.3371060956138], [-9.70515744760715, -30.111251717508], [-11.9990182364648, -30.8460627665615], [-14.3199274459944, -31.5377272377057], [-16.6678118661126, -32.1851262644314], [-19.0423550054196, -32.7871381036537], [-21.4429904142008, -33.3426478478608], [-23.868897601607, -33.8505577351568], [-26.319001132268, -34.3097979200868], [-28.791973441741, -34.7193375329077], [-31.2862418322802, -35.0781958218138], [-33.7999999994894, -35.385453143805], [-35.328584064796, -33.7294909375037], [-36.7997931901407, -32.0544538235723], [-38.2190895198383, -30.3615150627895], [-39.591520816704, -28.651669714028], [-40.9217621171856, -26.9257555850354], [-42.2141557503646, -25.184471421695], [-43.4727493595782, -23.4283926793226], [-44.7013318005733, -21.6579851878463], [-45.9034669523704, -19.8736169902905], [-47.0825255880168, -18.075568603016], [-48.2378134716698, -16.2702095110336], [-49.3687568644497, -14.463940351611], [-50.4786064975358, -12.656986739445], [-51.5704092970534, -10.8495265877445], [-52.647041014988, -9.04169850753405], [-53.7112358369818, -7.23360915100237], [-54.765613515085, -5.42533970970474], [-55.8127045186767, -3.61695174870332], [-56.8549736519885, -1.80849253470827], [-57.894842551487, 0.0000000010850795], [-56.8549736519113, 1.80849253683432], [-55.8127045185966, 3.61695175082982], [-54.7656135150002, 5.425339711832], [-53.7112358368904, 7.2336091531306], [-52.6470410148878, 9.04169850966353], [-51.5704092969423, 10.8495265898755], [-50.4786064974117, 12.6569867415778], [-49.36875686431, 14.4639403537457], [-48.237813471512, 16.2702095131705], [-47.082525588539, 18.0755686040723], [-45.9034669536086, 19.873616990275], [-44.7013318018277, 21.6579851878424], [-43.47274936085, 23.428392679331], [-42.214155751655, 25.1844714217162], [-40.9217621184958, 26.9257555850703], [-39.5915208180354, 28.651669714077], [-38.219089521192, 30.3615150628536], [-36.799793191518, 32.0544538236523], [-35.328584066198, 33.7294909376005], [-33.8000000009355, 35.3854531438384], [-31.2862418337828, 35.0781958220137], [-28.7919734432313, 34.7193375331383], [-26.3190011337452, 34.3097979203474], [-23.86889760307, 33.850557735447], [-21.442990415649, 33.34264784818], [-19.0423550068522, 32.787138104001], [-16.6678118675294, 32.1851262648063], [-14.319927447395, 31.5377272381076], [-11.9990182378492, 30.8460627669896], [-9.70515744897538, 30.1112517179616], [-9.7051574476072, 30.1112517175078], [-7.44582852527492, 29.3371060956137], [-5.2278418113988, 28.5279279934545], [-3.0499662002487, 27.6855041419537], [-0.91083143731212, 26.8115406666263], [1.1910517467404, 25.907662551343], [3.2572732870332, 24.9754140020123], [5.289507352124, 24.0162595826945], [7.28949788500238, 23.0315860032884], [9.259046115687, 22.022704447347], [11.2, 20.9908533396875] ]\n      ]\n   },\n   \"properties\" : {\n     \"zoneID\" : \"A4-0-A\"\n   }\n}\n```\n\n```\n> dgg -crs ico isea3h geom A4-0-A\n```\n\n![image](https://dggal.org/images/zone-geom.png)\n\n#### `list`\n\n##### List zones of a given refinement level\n\n```\n> dgg isea3h list 0\n```\n\n```json\n[ \"A0-0-A\", \"A1-0-A\", \"A2-0-A\", \"A3-0-A\", \"A4-0-A\", \"A5-0-A\",\n\"A6-0-A\", \"A7-0-A\", \"A8-0-A\", \"A9-0-A\", \"AA-0-A\", \"AB-0-A\" ]\n```\n\n##### List compacted zones of a given refinement level for a particular bounding box\n\n```\n> dgg isea3h list 10 -compact -bbox 44,-76,46,-74\n```\n\n```json\n[ \"E0-1397-A\", \"F0-AAC7-A\", \"F0-ABB7-A\", \"F0-ABB8-A\", \"F0-ABB9-A\", \"F0-ABBA-A\",\n\"F0-ABBB-A\", \"F0-ACA9-A\", \"F0-ACAA-A\", \"F0-ACAB-A\", \"F0-ACAC-A\", \"F0-ACAD-A\",\n\"F0-ACAE-A\", \"F0-AD9D-A\", \"F0-AD9E-A\", \"F0-ADA1-A\", \"F0-ADA2-A\", \"F0-AE91-A\",\n\"F0-AE95-A\", \"F0-AF84-A\", \"F0-AF85-A\", \"F0-AF88-A\", \"F0-AF89-A\", \"F0-B078-A\",\n\"F0-B079-A\", \"F0-B07A-A\", \"F0-B07B-A\", \"F0-B07C-A\", \"F0-B16B-A\", \"F0-B16C-A\",\n\"F0-B16D-A\", \"F0-B16E-A\", \"F0-B16F-A\", \"F0-B170-A\", \"F0-B25F-A\", \"F0-B260-A\",\n\"F0-B261-A\", \"F0-B262-A\", \"F0-B263-A\", \"F0-B352-A\", \"F0-B353-A\", \"F0-B354-A\",\n\"F0-B355-A\", \"F0-B356-A\", \"F0-B357-A\", \"F0-B446-A\", \"F0-B447-A\", \"F0-B448-A\" ]\n```\n\n#### `rel`\n\nShow relationships between two zones\n\n```\n> dgg isea3h rel A4-0-A D4-20-D\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nRelationships between zones A4-0-A (A) and D4-20-D (B):\n\nZone A is coarser than zone B by 7 refinement levels\nThe area of zone A is greater than the area of zone B (area of B is 0.054869684499314 % of zone A)\nZone A is NOT an immediate child of zone B\nZone A is NOT an immediate parent of zone B\nZone A is NOT a descendant of zone B\nZone A is an ancestor of zone B\nZone A is NOT a sub-zone of zone B\nZone A has B as a sub-zone (at depth 7, index 1034)\nThese zones are NOT neighbors\nThese zones are NOT siblings\nZone A is NOT contained in zone B\nZone A contains zone B\nZone A and B overlap\n```\n\n#### `sub`\n\n##### Query sub-zones of parent zone at a particular relative depth\n\n```\n> dgg isea3h sub A4-0-A -depth 3\n```\n\n```json\n[ \"B2-7-B\", \"B2-4-D\", \"B2-4-C\", \"B2-5-B\", \"B2-7-D\", \"B2-7-C\", \"B2-8-B\",\n\"B2-5-D\", \"B2-5-C\", \"B3-1-C\", \"B3-2-B\", \"B2-8-D\", \"B2-8-C\", \"B4-1-B\",\n\"B4-1-C\", \"B3-5-B\", \"B3-2-D\", \"B3-2-C\", \"B4-0-B\", \"B4-0-C\", \"B4-1-D\",\n\"B4-5-B\", \"B3-5-C\", \"B4-3-B\", \"B4-0-D\", \"B4-4-B\", \"B4-4-C\", \"B4-3-D\",\n\"B4-3-C\", \"B4-4-D\", \"B4-7-B\" ]\n```\n\n##### Identify sub-zone of parent zone at a particular relative depth and index\n\n```\n> dgg isea3h sub A4-0-A 8 -depth 3\n```\n\n```json\n\"B2-5-C\"\n```\n\n#### `index`\n\n##### Query index of sub-zone\n\n```\n> dgg isea3h index A4-0-A B2-5-C\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nB2-5-C is at index 8 of A4-0-A at depth 3\n```\n\n```\n> dgg isea3h index A4-0-A B6-5-C\nDGGRS: https://maps.gnosis.earth/ogcapi/dggrs/ISEA3H\nsub-zone B6-5-C not found within parent A4-0-A\n```\n\n#### `togeo`\n\nConverts [DGGS-JSON](http://dggs-json.org) (and eventually [DGGS-JSON-FG](https://docs.ogc.org/DRAFTS/21-038r1.html#rc_data-dggs-jsonfg) and [UBJSON](https://ubjson.org/) variants) to GeoJSON\nto facilitate interoperability with traditional GIS software / software not aware of the DGGRS.\n\nhttps://maps.gnosis.earth/ogcapi/collections/sentinel2-l2a/dggs/ISEA3H/zones/G7-67252-B/data.json?zone-depth=8&datetime=2022-10-28&properties=B08\n\n```\n> dgg isea3h togeo -crs ico G7-67252-B-B08.json\n```\n\n![image](https://dggal.org/images/B08.png)\n\n_B08 (near-infrared) band retrieved as DGGS-JSON data from [Copernicus/ESA sentinel-2](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) converted to GeoJSON and visualized in QGIS_\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "The Discrete Global Grid Abstraction Library (DGGAL)",
    "version": "0.0.4",
    "project_urls": {
        "Homepage": "https://dggal.org"
    },
    "split_keywords": [
        "dggs",
        "hexagonal-grid",
        "global-grid",
        "ogc",
        "ogc-api",
        "gnosis",
        "dggrs",
        "isea",
        "ivea",
        "rtea",
        "isea3h",
        "isea9r",
        "ivea3h",
        "ivea9r",
        "slice-and-dice",
        "polyhedral-globe",
        "icosahedral",
        "rhealpix"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84463f8319636e249decf3fa891395dfc38505525f124d930012e0558f14db55",
                "md5": "0d42abd5033728cb502275c766d0cd2f",
                "sha256": "68b66f545bee0140b0c5c6ba9df55b143a4cea0acb37b67c9be9334dcb6ebe36"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0d42abd5033728cb502275c766d0cd2f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 210807,
            "upload_time": "2025-09-02T04:05:22",
            "upload_time_iso_8601": "2025-09-02T04:05:22.396427Z",
            "url": "https://files.pythonhosted.org/packages/84/46/3f8319636e249decf3fa891395dfc38505525f124d930012e0558f14db55/dggal-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0744ce19daedde20ac4d613335b85e09c93a307700c9600540440b16f8cd78de",
                "md5": "df1a0583918a5b50eda88514adf70e56",
                "sha256": "29668007f9b8bcdee3d451bd3856b8f08ae4f57a221109e7f137529fd0b77440"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "df1a0583918a5b50eda88514adf70e56",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 194393,
            "upload_time": "2025-09-02T04:05:24",
            "upload_time_iso_8601": "2025-09-02T04:05:24.042377Z",
            "url": "https://files.pythonhosted.org/packages/07/44/ce19daedde20ac4d613335b85e09c93a307700c9600540440b16f8cd78de/dggal-0.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80dc461488cc9f2d54958d4eda2d3ac0d4b7cfb097eab4cfa6c9075b9f8ea711",
                "md5": "2d34735d7304600ac617c4c48b76be58",
                "sha256": "5631acb2b7b4f0b68838ed77935780f405247495b57514faf734f7d99ddc351f"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "2d34735d7304600ac617c4c48b76be58",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 314151,
            "upload_time": "2025-09-02T04:05:25",
            "upload_time_iso_8601": "2025-09-02T04:05:25.558933Z",
            "url": "https://files.pythonhosted.org/packages/80/dc/461488cc9f2d54958d4eda2d3ac0d4b7cfb097eab4cfa6c9075b9f8ea711/dggal-0.0.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "13f62be247c7193402ee43ce1d5cd3b22802166f1b47d1a99a23846eacfa7af1",
                "md5": "a455fd019cb1d6d61f23508da7c6505e",
                "sha256": "ecf2bfba732626bdd62c69378acb1d7004a0bc8f60bda147db475685954a82c3"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a455fd019cb1d6d61f23508da7c6505e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 272277,
            "upload_time": "2025-09-02T04:05:27",
            "upload_time_iso_8601": "2025-09-02T04:05:27.110832Z",
            "url": "https://files.pythonhosted.org/packages/13/f6/2be247c7193402ee43ce1d5cd3b22802166f1b47d1a99a23846eacfa7af1/dggal-0.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1764f2919405b1605e46402006f5f3b2a720545cb494b3c3fd1fec1e522f74eb",
                "md5": "cc346f10a2a5c23d3adb2ecacdc9442c",
                "sha256": "c15d438f0c1dbe27a9523f069977cbf46609a118be9860fc8a2524c203acc087"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cc346f10a2a5c23d3adb2ecacdc9442c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 281251,
            "upload_time": "2025-09-02T04:05:28",
            "upload_time_iso_8601": "2025-09-02T04:05:28.568214Z",
            "url": "https://files.pythonhosted.org/packages/17/64/f2919405b1605e46402006f5f3b2a720545cb494b3c3fd1fec1e522f74eb/dggal-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b189055a4bb8ce9362c391ea0ea72bf2cf416c1c54befbd30de2e3ed8209f88",
                "md5": "ccbbfd860ab7b39a93b1f2f6730c17c0",
                "sha256": "0fae51771fe18341a918691e0f37d8a81d0f5374f8fc9028c6e30de0340170bd"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ccbbfd860ab7b39a93b1f2f6730c17c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 279795,
            "upload_time": "2025-09-02T04:05:30",
            "upload_time_iso_8601": "2025-09-02T04:05:30.045041Z",
            "url": "https://files.pythonhosted.org/packages/5b/18/9055a4bb8ce9362c391ea0ea72bf2cf416c1c54befbd30de2e3ed8209f88/dggal-0.0.4-cp310-cp310-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "40c42ea569cad25e0aa5ff5090791d647bc434d227cf554308819462d0eed46d",
                "md5": "c7572f3cbdd41422fe49d2218aedef0c",
                "sha256": "c9f53284ab836df3e51264026ba215a30872a9fd6c199ffb7c4c07ccdcf1cef5"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "c7572f3cbdd41422fe49d2218aedef0c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 318880,
            "upload_time": "2025-09-02T04:05:31",
            "upload_time_iso_8601": "2025-09-02T04:05:31.562333Z",
            "url": "https://files.pythonhosted.org/packages/40/c4/2ea569cad25e0aa5ff5090791d647bc434d227cf554308819462d0eed46d/dggal-0.0.4-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bfb85b83ca193b30e97fbe71213da96a1ed8908df154ab545effc1b702b9f781",
                "md5": "3f9ff822b6b08358f2196f6082a5db93",
                "sha256": "0705929a3feb7d45b881e8984619e0585f9d32aa8befa5b634cde6a0c8a8daee"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3f9ff822b6b08358f2196f6082a5db93",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 285812,
            "upload_time": "2025-09-02T04:05:32",
            "upload_time_iso_8601": "2025-09-02T04:05:32.988242Z",
            "url": "https://files.pythonhosted.org/packages/bf/b8/5b83ca193b30e97fbe71213da96a1ed8908df154ab545effc1b702b9f781/dggal-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b37a748dda2b877f9448b905986230de8cfbb7c69c2ab5fc7ed5191e78e6a27d",
                "md5": "7727da5f00e8d4c1cce5e01a0ee1476d",
                "sha256": "50a398634a997ae26e86e3b5be187007b00295cf512a6cb06ec8d09bc550a196"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7727da5f00e8d4c1cce5e01a0ee1476d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 229003,
            "upload_time": "2025-09-02T04:05:34",
            "upload_time_iso_8601": "2025-09-02T04:05:34.107815Z",
            "url": "https://files.pythonhosted.org/packages/b3/7a/748dda2b877f9448b905986230de8cfbb7c69c2ab5fc7ed5191e78e6a27d/dggal-0.0.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "02fe65e28424acdb0157c33fd856cde4ff9b1c104095bc6fae6814516086d008",
                "md5": "94116bc93233a2e7ca8045ae476d6491",
                "sha256": "04ccf3dc6dc394a2542b5e52ae771981ff5f4a550f28db81504489392aaf8624"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "94116bc93233a2e7ca8045ae476d6491",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 210806,
            "upload_time": "2025-09-02T04:05:35",
            "upload_time_iso_8601": "2025-09-02T04:05:35.224450Z",
            "url": "https://files.pythonhosted.org/packages/02/fe/65e28424acdb0157c33fd856cde4ff9b1c104095bc6fae6814516086d008/dggal-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5d13dbfde5b34034939e36fd8937dfbf7937a21c4168b1d32956460a34bcc39d",
                "md5": "df29a1af5836a00ebce2266d8aa8d4f2",
                "sha256": "282d6399d7404a978231ffe3090961c7c474799b11cc111325a40e43e09fca67"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "df29a1af5836a00ebce2266d8aa8d4f2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 194397,
            "upload_time": "2025-09-02T04:05:36",
            "upload_time_iso_8601": "2025-09-02T04:05:36.372739Z",
            "url": "https://files.pythonhosted.org/packages/5d/13/dbfde5b34034939e36fd8937dfbf7937a21c4168b1d32956460a34bcc39d/dggal-0.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84c35e750b667af99f82ac7c37ea5297176085a1c210f90573eae4cfe9c1a78f",
                "md5": "076a4aecfdb7d16f3b0a7172ff60e35b",
                "sha256": "163bc0adaf37ee59f06c209950896e771d0f57c412490d70a2469a11f699467e"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "076a4aecfdb7d16f3b0a7172ff60e35b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 314138,
            "upload_time": "2025-09-02T04:05:37",
            "upload_time_iso_8601": "2025-09-02T04:05:37.541761Z",
            "url": "https://files.pythonhosted.org/packages/84/c3/5e750b667af99f82ac7c37ea5297176085a1c210f90573eae4cfe9c1a78f/dggal-0.0.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ae0293d0c89eb420b7ff9b494715e87325ff406294cebcd962cbc254adf9f510",
                "md5": "b1b20f69299935a636e0e44321b4f344",
                "sha256": "29b07de3a91e023654681f6799db50cad07115f375d72adbd6fcebeb55a3adb7"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b1b20f69299935a636e0e44321b4f344",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 272259,
            "upload_time": "2025-09-02T04:05:38",
            "upload_time_iso_8601": "2025-09-02T04:05:38.939015Z",
            "url": "https://files.pythonhosted.org/packages/ae/02/93d0c89eb420b7ff9b494715e87325ff406294cebcd962cbc254adf9f510/dggal-0.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a91086ae7f08a0425476010326f6222dd4a8bc2009042a84cf38d95d1fceebb8",
                "md5": "b59c0fedbd46ca75f2d017629941eeea",
                "sha256": "e88feb38d156659d78c93d4099d305c34d037ebe466b1cedbe5529f910bdf243"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b59c0fedbd46ca75f2d017629941eeea",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 281239,
            "upload_time": "2025-09-02T04:05:40",
            "upload_time_iso_8601": "2025-09-02T04:05:40.592663Z",
            "url": "https://files.pythonhosted.org/packages/a9/10/86ae7f08a0425476010326f6222dd4a8bc2009042a84cf38d95d1fceebb8/dggal-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "155da15a60fea5ed50122b2eae542734c86b9b47e5697cfa1543ab1fc4e7cdf0",
                "md5": "c30030035d623c4d390ff841855681eb",
                "sha256": "1c5cf4268d2b14dbbf6df55b3b286b395adfef37f722d929146436eea9282283"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c30030035d623c4d390ff841855681eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 279764,
            "upload_time": "2025-09-02T04:05:42",
            "upload_time_iso_8601": "2025-09-02T04:05:42.003600Z",
            "url": "https://files.pythonhosted.org/packages/15/5d/a15a60fea5ed50122b2eae542734c86b9b47e5697cfa1543ab1fc4e7cdf0/dggal-0.0.4-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d28e71505c4ad81f934cc094da22e1e87ed11bae9d3cf7c1fdbefa9014fe3ffe",
                "md5": "eba143d4a37d73f7baf60209af77354b",
                "sha256": "f953f2ecd2c7809af9f67a473b34abd0cc7c8b79c0190113c85843347e8369fc"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "eba143d4a37d73f7baf60209af77354b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 318869,
            "upload_time": "2025-09-02T04:05:43",
            "upload_time_iso_8601": "2025-09-02T04:05:43.143912Z",
            "url": "https://files.pythonhosted.org/packages/d2/8e/71505c4ad81f934cc094da22e1e87ed11bae9d3cf7c1fdbefa9014fe3ffe/dggal-0.0.4-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "74de5cf9758afc804283325ac4c5782a1adea5cec81b5cb3bd1e3d8604952588",
                "md5": "f21c1feb66831de688f98ddadff2cf43",
                "sha256": "dcd2b427d8a270d3219c214254c90edb3851f162aee548a3913c6daf788b123c"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f21c1feb66831de688f98ddadff2cf43",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 285777,
            "upload_time": "2025-09-02T04:05:44",
            "upload_time_iso_8601": "2025-09-02T04:05:44.281596Z",
            "url": "https://files.pythonhosted.org/packages/74/de/5cf9758afc804283325ac4c5782a1adea5cec81b5cb3bd1e3d8604952588/dggal-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b51d9e075b6b511f04f8b50d688e1053b1967c6d303717868c1c820a81ea37f9",
                "md5": "685a117ce812daac3e7125eba1959836",
                "sha256": "f623ced6416aa120b07c5192a0d16e4457b120a5921962c6efbb786bbbcfaff8"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "685a117ce812daac3e7125eba1959836",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 229005,
            "upload_time": "2025-09-02T04:05:45",
            "upload_time_iso_8601": "2025-09-02T04:05:45.731527Z",
            "url": "https://files.pythonhosted.org/packages/b5/1d/9e075b6b511f04f8b50d688e1053b1967c6d303717868c1c820a81ea37f9/dggal-0.0.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "61c9df1b82415d338f22365c6d981cb7667ebb3ece2a5bf143c543bd1cf5210e",
                "md5": "e8d6a7d867cd700a8204d20c5b5de822",
                "sha256": "2b9bca15de00edf6c39e89e2c7f11a9171655477826c48f2e4e3d00151fb059e"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e8d6a7d867cd700a8204d20c5b5de822",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 210839,
            "upload_time": "2025-09-02T04:05:46",
            "upload_time_iso_8601": "2025-09-02T04:05:46.914153Z",
            "url": "https://files.pythonhosted.org/packages/61/c9/df1b82415d338f22365c6d981cb7667ebb3ece2a5bf143c543bd1cf5210e/dggal-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7bfeed2e2eabd129f153e67f3b35406a11f34228fc46d57567d114956fb151b2",
                "md5": "23b378d775efa3997a10a4079978ea80",
                "sha256": "556f5f62401cae5f2b396cc86edfaa9f1328d5e372597a9ef01471f82656e39d"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "23b378d775efa3997a10a4079978ea80",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 194405,
            "upload_time": "2025-09-02T04:05:48",
            "upload_time_iso_8601": "2025-09-02T04:05:48.015070Z",
            "url": "https://files.pythonhosted.org/packages/7b/fe/ed2e2eabd129f153e67f3b35406a11f34228fc46d57567d114956fb151b2/dggal-0.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6ae89d908db281f94d1ceb0212bdcc7e32e4154419bd9d667402e5744e6ad312",
                "md5": "8b3aae1e6f74bb15ab4d2a17139a7e47",
                "sha256": "f44c0226ee7aed79387ee8834815eeb562fc0f6b2da9442d67e9baa966738fed"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "8b3aae1e6f74bb15ab4d2a17139a7e47",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 314420,
            "upload_time": "2025-09-02T04:05:49",
            "upload_time_iso_8601": "2025-09-02T04:05:49.448115Z",
            "url": "https://files.pythonhosted.org/packages/6a/e8/9d908db281f94d1ceb0212bdcc7e32e4154419bd9d667402e5744e6ad312/dggal-0.0.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "037e2edf1cf24192ec9323f03cecda81e0a40a1c48cea2715b22437455bac5d7",
                "md5": "ae8b47578eca016de5ca9c04594671c0",
                "sha256": "f7ad49cf0ccb7df86b7bbabe025602c8f5f4c46a4beba6ee02873ec2f6de7a5c"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ae8b47578eca016de5ca9c04594671c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 272667,
            "upload_time": "2025-09-02T04:05:50",
            "upload_time_iso_8601": "2025-09-02T04:05:50.526437Z",
            "url": "https://files.pythonhosted.org/packages/03/7e/2edf1cf24192ec9323f03cecda81e0a40a1c48cea2715b22437455bac5d7/dggal-0.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63571cdf894ded208958f9ab354f54fa9c3c8885e9436a82af1ca477fe7561a7",
                "md5": "9361e7e62c37b37929c7855e6bd1fda1",
                "sha256": "364c97a30288ef718c538467ed279b5e7e3312cd16e2f736d815453bf97779ca"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9361e7e62c37b37929c7855e6bd1fda1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 281826,
            "upload_time": "2025-09-02T04:05:52",
            "upload_time_iso_8601": "2025-09-02T04:05:52.079808Z",
            "url": "https://files.pythonhosted.org/packages/63/57/1cdf894ded208958f9ab354f54fa9c3c8885e9436a82af1ca477fe7561a7/dggal-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8687379bb0e0d3363f38d3da259e41ab1550fd7a611b931e58d4e07c2550c38f",
                "md5": "773f38e4d38a6314c903cea3f4155cb6",
                "sha256": "659b76c0ee71e616f92238844b726481e0b84c4db55616e182baa489739101bc"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "773f38e4d38a6314c903cea3f4155cb6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 280200,
            "upload_time": "2025-09-02T04:05:53",
            "upload_time_iso_8601": "2025-09-02T04:05:53.227524Z",
            "url": "https://files.pythonhosted.org/packages/86/87/379bb0e0d3363f38d3da259e41ab1550fd7a611b931e58d4e07c2550c38f/dggal-0.0.4-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "676f755dcfa29b79e473734d16fb870398acf7e810cc637e1b76ec2da080b168",
                "md5": "aa2bc6b654dcf48ed7141a9c7e3f4c89",
                "sha256": "52f79cb1d2cc729262e0148a6e22b007f52c8334d9cfdd896ba5c851e44ce721"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "aa2bc6b654dcf48ed7141a9c7e3f4c89",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 319149,
            "upload_time": "2025-09-02T04:05:54",
            "upload_time_iso_8601": "2025-09-02T04:05:54.397410Z",
            "url": "https://files.pythonhosted.org/packages/67/6f/755dcfa29b79e473734d16fb870398acf7e810cc637e1b76ec2da080b168/dggal-0.0.4-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9dce0e63ab3d027539e23364db97de1039444e295872942aa86a0fa19a400475",
                "md5": "c1bac550676e87b4ecb96ee9a2dd89e7",
                "sha256": "d7c18197ec88ec7979c4144004d119d0413671e890ba0de328c2a86256328cd9"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c1bac550676e87b4ecb96ee9a2dd89e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 286249,
            "upload_time": "2025-09-02T04:05:55",
            "upload_time_iso_8601": "2025-09-02T04:05:55.888823Z",
            "url": "https://files.pythonhosted.org/packages/9d/ce/0e63ab3d027539e23364db97de1039444e295872942aa86a0fa19a400475/dggal-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "db5170ab8c5091e1a4ec6f5d82b296386fba15ccb62bc2002365c3d55f02b3f9",
                "md5": "35fb3ca91a7fb549f4f34788f14f305d",
                "sha256": "933396160eeef2f63bc40a12ea2fed8a1fead5cca14dbd772f71a984f22f6a2d"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "35fb3ca91a7fb549f4f34788f14f305d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 228970,
            "upload_time": "2025-09-02T04:05:57",
            "upload_time_iso_8601": "2025-09-02T04:05:57.316982Z",
            "url": "https://files.pythonhosted.org/packages/db/51/70ab8c5091e1a4ec6f5d82b296386fba15ccb62bc2002365c3d55f02b3f9/dggal-0.0.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4329d99be12d28d8308e1be2c9022fabc3c05d3dcc0cc9ad38fafac1480d5b0",
                "md5": "8acd5950a910490f4731ef0775b7a3e4",
                "sha256": "50b04f2bf44751285c1871c1f5134a1fbac79d75f95c4e3be4c0360ced6c30bd"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8acd5950a910490f4731ef0775b7a3e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 210837,
            "upload_time": "2025-09-02T04:05:58",
            "upload_time_iso_8601": "2025-09-02T04:05:58.817839Z",
            "url": "https://files.pythonhosted.org/packages/f4/32/9d99be12d28d8308e1be2c9022fabc3c05d3dcc0cc9ad38fafac1480d5b0/dggal-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5e25edd8a2714308f62113a55da49915e35e0d6fef798a589c27ada2b22deadc",
                "md5": "4384fb4e0966c61bcabe23879681b726",
                "sha256": "b2aaf4a04cc08184668027f784e14a242e97071681e3b1b9730f6f8c6a9a6b25"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4384fb4e0966c61bcabe23879681b726",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 194404,
            "upload_time": "2025-09-02T04:06:00",
            "upload_time_iso_8601": "2025-09-02T04:06:00.842692Z",
            "url": "https://files.pythonhosted.org/packages/5e/25/edd8a2714308f62113a55da49915e35e0d6fef798a589c27ada2b22deadc/dggal-0.0.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2a9d57cd80dd56be8263b218777d3fbefe1a23cfbcd8b01602f19e38fc92dc3d",
                "md5": "5a1e5c0a4fa0108617f55589884a28d3",
                "sha256": "786ccdbec246362cf633356e1d6b45b1bf11d89a9b6a37866c4c31a4563a4407"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5a1e5c0a4fa0108617f55589884a28d3",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 314314,
            "upload_time": "2025-09-02T04:06:02",
            "upload_time_iso_8601": "2025-09-02T04:06:02.308517Z",
            "url": "https://files.pythonhosted.org/packages/2a/9d/57cd80dd56be8263b218777d3fbefe1a23cfbcd8b01602f19e38fc92dc3d/dggal-0.0.4-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5e4ea8512ba84d8ee1bc436206eb5ced597bcce324d4867951719b2a5ebe01fc",
                "md5": "0736ab1c9d7a5e46457361387500763d",
                "sha256": "960f309fac43105fcfd10350241b5aea7cbbb0066db58cd99015c30cbd93084e"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0736ab1c9d7a5e46457361387500763d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 272592,
            "upload_time": "2025-09-02T04:06:03",
            "upload_time_iso_8601": "2025-09-02T04:06:03.365820Z",
            "url": "https://files.pythonhosted.org/packages/5e/4e/a8512ba84d8ee1bc436206eb5ced597bcce324d4867951719b2a5ebe01fc/dggal-0.0.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f769e12272fd51a5fa19e0a7f75445a2904e9e5a844a068f76f8d13fb02573ec",
                "md5": "f873c2195c02390ed17ccf5b6121a2ba",
                "sha256": "675b59f174839dc5ca956703ace590928bacbf1393ab61dbd4149247be7452e0"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f873c2195c02390ed17ccf5b6121a2ba",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 281799,
            "upload_time": "2025-09-02T04:06:04",
            "upload_time_iso_8601": "2025-09-02T04:06:04.467395Z",
            "url": "https://files.pythonhosted.org/packages/f7/69/e12272fd51a5fa19e0a7f75445a2904e9e5a844a068f76f8d13fb02573ec/dggal-0.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "62a0e72a319a2303c06e72d7df28489ea9616e4dfb2df3f1312211dc2e23b8d2",
                "md5": "b913d141d2230e6ca7688541c8fd4207",
                "sha256": "d6726d064a1dc42548dadcf2cc06c942dd57b7fb8a8ef967b8864cb1a95a3d00"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b913d141d2230e6ca7688541c8fd4207",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 280165,
            "upload_time": "2025-09-02T04:06:05",
            "upload_time_iso_8601": "2025-09-02T04:06:05.884376Z",
            "url": "https://files.pythonhosted.org/packages/62/a0/e72a319a2303c06e72d7df28489ea9616e4dfb2df3f1312211dc2e23b8d2/dggal-0.0.4-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "77c0da3d6c377167dc33cd09c3e620fcff60a2d7f4857d1b3821dc7aca4c8d3e",
                "md5": "fbce86239e67437fbfb752e9d26d12a9",
                "sha256": "7f283c30e36f2b14e00d3dcef718accad59d2da607a90b91c11f04bfe6ddaaf4"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "fbce86239e67437fbfb752e9d26d12a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 319164,
            "upload_time": "2025-09-02T04:06:07",
            "upload_time_iso_8601": "2025-09-02T04:06:07.477857Z",
            "url": "https://files.pythonhosted.org/packages/77/c0/da3d6c377167dc33cd09c3e620fcff60a2d7f4857d1b3821dc7aca4c8d3e/dggal-0.0.4-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "06e84c970285f9d35737cb212ba9a239bc8d4d9c7a20f492901dbcb11fdf61d6",
                "md5": "faee780dc74d047178db96635f331ad9",
                "sha256": "575b04aa0d89249200c9b0fc1b0726bf0a54fad94925869fe6893ee52a475f62"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "faee780dc74d047178db96635f331ad9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 286224,
            "upload_time": "2025-09-02T04:06:08",
            "upload_time_iso_8601": "2025-09-02T04:06:08.571615Z",
            "url": "https://files.pythonhosted.org/packages/06/e8/4c970285f9d35737cb212ba9a239bc8d4d9c7a20f492901dbcb11fdf61d6/dggal-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2bfbb87ddf347c31d7241f8fc5a8f449ba3133edf1d75d14cc0950c014d4d6ee",
                "md5": "8d7341150c6fad0d920a0bf3f2c581d0",
                "sha256": "91cfdd25115c5969e6b9ec790bd241f3ce24d6f43a0a87e627cd17a29bd67e0d"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8d7341150c6fad0d920a0bf3f2c581d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 228977,
            "upload_time": "2025-09-02T04:06:09",
            "upload_time_iso_8601": "2025-09-02T04:06:09.735170Z",
            "url": "https://files.pythonhosted.org/packages/2b/fb/b87ddf347c31d7241f8fc5a8f449ba3133edf1d75d14cc0950c014d4d6ee/dggal-0.0.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4a4889269f47c177223f2e907f719d9e0ca71505f99d3d7a3fe4a73653a583da",
                "md5": "422da242499a7bce91fdc9e2f0dc0111",
                "sha256": "37d9033410ac0a64eb04fcabcfa1cf39960c8d2c762a5491cad2195520c7345a"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "422da242499a7bce91fdc9e2f0dc0111",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 210738,
            "upload_time": "2025-09-02T04:06:10",
            "upload_time_iso_8601": "2025-09-02T04:06:10.879540Z",
            "url": "https://files.pythonhosted.org/packages/4a/48/89269f47c177223f2e907f719d9e0ca71505f99d3d7a3fe4a73653a583da/dggal-0.0.4-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e7e0c61dca22440aef0d51108f1fb6350ea3710278adfbaa765c6bca9b96ddc2",
                "md5": "897928e4c79317975b2d74e66d55d433",
                "sha256": "3d0227b9a9792681ad7ceccf31eee6186a6b9d65d341396a03dc0ba10141d87b"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "897928e4c79317975b2d74e66d55d433",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 194332,
            "upload_time": "2025-09-02T04:06:11",
            "upload_time_iso_8601": "2025-09-02T04:06:11.968736Z",
            "url": "https://files.pythonhosted.org/packages/e7/e0/c61dca22440aef0d51108f1fb6350ea3710278adfbaa765c6bca9b96ddc2/dggal-0.0.4-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "275695028ffed9d7c00c2171db758e272688e5e4a1b6784af2eee13bc3b3abe8",
                "md5": "abd543f3f0049386d415c8da03c3ebef",
                "sha256": "09afaf7f85de0b9ef5bf892cf986410c09120e49d098fb491118934495e8d5a2"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "abd543f3f0049386d415c8da03c3ebef",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 314268,
            "upload_time": "2025-09-02T04:06:13",
            "upload_time_iso_8601": "2025-09-02T04:06:13.017435Z",
            "url": "https://files.pythonhosted.org/packages/27/56/95028ffed9d7c00c2171db758e272688e5e4a1b6784af2eee13bc3b3abe8/dggal-0.0.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63e967fe41524caf2c12d5ce523f45cdae0f7de3f60172ec8dc1c0ae4359e0c2",
                "md5": "e721818c9d5767f1225ad54f4d79f35e",
                "sha256": "e734ddd404afe220bcf02e7d48fe8e0806175fc7a197d3e52e8a2619543eee20"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e721818c9d5767f1225ad54f4d79f35e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 272377,
            "upload_time": "2025-09-02T04:06:14",
            "upload_time_iso_8601": "2025-09-02T04:06:14.112842Z",
            "url": "https://files.pythonhosted.org/packages/63/e9/67fe41524caf2c12d5ce523f45cdae0f7de3f60172ec8dc1c0ae4359e0c2/dggal-0.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "25e5108a6ec03261d3a1d54a9735397b37d8722d74ddea3c8828c37aee880087",
                "md5": "e859d16928df96530295fbc3748e2a29",
                "sha256": "39f1ae183c95035af1fe963a14b2b78e24daadfb3747b6284532f423fcc0d94a"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e859d16928df96530295fbc3748e2a29",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 281403,
            "upload_time": "2025-09-02T04:06:15",
            "upload_time_iso_8601": "2025-09-02T04:06:15.309087Z",
            "url": "https://files.pythonhosted.org/packages/25/e5/108a6ec03261d3a1d54a9735397b37d8722d74ddea3c8828c37aee880087/dggal-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7c20b3863b17a60027793dad21ebe316c85bc838f70fa777a5fee6a77f427cee",
                "md5": "0b8061fd90f5f4ea3d7eb841ee54216a",
                "sha256": "824530817c072a1677fe17e842d908896dc0ae8d732b94902e916157b2f16407"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0b8061fd90f5f4ea3d7eb841ee54216a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 279968,
            "upload_time": "2025-09-02T04:06:16",
            "upload_time_iso_8601": "2025-09-02T04:06:16.380274Z",
            "url": "https://files.pythonhosted.org/packages/7c/20/b3863b17a60027793dad21ebe316c85bc838f70fa777a5fee6a77f427cee/dggal-0.0.4-cp38-cp38-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "71a8fdb837131032d9bc6c7be6d29071895a0facb5a90f9c42dcb1c93868796e",
                "md5": "2f17036d22a1c8d5ef3791bd2db09c9c",
                "sha256": "2a4b1dc39cc3a37eb754778ab931c5fa07649411660af0065f9d4a3b5950e817"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "2f17036d22a1c8d5ef3791bd2db09c9c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 319045,
            "upload_time": "2025-09-02T04:06:17",
            "upload_time_iso_8601": "2025-09-02T04:06:17.525289Z",
            "url": "https://files.pythonhosted.org/packages/71/a8/fdb837131032d9bc6c7be6d29071895a0facb5a90f9c42dcb1c93868796e/dggal-0.0.4-cp38-cp38-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8bcdfb719e88a88fff659f0548dbe45ef4e27fdb55367e4983c67d80240decc",
                "md5": "36e4651e59aace790709334c2978e440",
                "sha256": "fe8abfa63c907d28f2295f9f593176f304e5123c1a5b4042589b6ca2963e57e0"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "36e4651e59aace790709334c2978e440",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 285997,
            "upload_time": "2025-09-02T04:06:18",
            "upload_time_iso_8601": "2025-09-02T04:06:18.633450Z",
            "url": "https://files.pythonhosted.org/packages/a8/bc/dfb719e88a88fff659f0548dbe45ef4e27fdb55367e4983c67d80240decc/dggal-0.0.4-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "17ee893f8c81a1a13c61e51a5ef1f9f3b7dce6b93a99faba515fe1c1488f04af",
                "md5": "58c8e9c976f66a1ecb16796b7400b23e",
                "sha256": "cfe6b53b41232ba662bdcc24c3bea5f73825044fde94ee40a3db9581cae47b13"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "58c8e9c976f66a1ecb16796b7400b23e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 228932,
            "upload_time": "2025-09-02T04:06:19",
            "upload_time_iso_8601": "2025-09-02T04:06:19.805264Z",
            "url": "https://files.pythonhosted.org/packages/17/ee/893f8c81a1a13c61e51a5ef1f9f3b7dce6b93a99faba515fe1c1488f04af/dggal-0.0.4-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec28b334dc9c19b929c75bc7094d8e8daf8a3280666035d2cf0c2716a98538fa",
                "md5": "24d0a521b2b5e2418257f6ca39077c15",
                "sha256": "181106264b1b1f792715ae7634f4a42a5ee0ec8a7efca335e1921c0feb30da87"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "24d0a521b2b5e2418257f6ca39077c15",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 210803,
            "upload_time": "2025-09-02T04:06:21",
            "upload_time_iso_8601": "2025-09-02T04:06:21.186245Z",
            "url": "https://files.pythonhosted.org/packages/ec/28/b334dc9c19b929c75bc7094d8e8daf8a3280666035d2cf0c2716a98538fa/dggal-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e23623762365f9da601fbe27534a2ab8d6a618dacc3bb3fa8d4ffb8ed3a1e461",
                "md5": "7f72ee50554555741066e3872158c92c",
                "sha256": "3076f3e70373ccce5c0c341c70124d0ac22f9305a19414afa5582fa7c339fc4c"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7f72ee50554555741066e3872158c92c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 194395,
            "upload_time": "2025-09-02T04:06:22",
            "upload_time_iso_8601": "2025-09-02T04:06:22.241452Z",
            "url": "https://files.pythonhosted.org/packages/e2/36/23762365f9da601fbe27534a2ab8d6a618dacc3bb3fa8d4ffb8ed3a1e461/dggal-0.0.4-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e438698a27cafc40fd2fde42bb73aaec378d69de652af39762c9be54b77d9877",
                "md5": "daa6c4ebfaae064de700873c5f413978",
                "sha256": "cfc17ab0c86e3f788ceb88338ef0bd667ca034b8d1da0a6df09ad504c2e59eb4"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "daa6c4ebfaae064de700873c5f413978",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 314140,
            "upload_time": "2025-09-02T04:06:23",
            "upload_time_iso_8601": "2025-09-02T04:06:23.535597Z",
            "url": "https://files.pythonhosted.org/packages/e4/38/698a27cafc40fd2fde42bb73aaec378d69de652af39762c9be54b77d9877/dggal-0.0.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7c2d8be4d63fe0cbdf579776251964aa930786d7f425d0def11bf38761f70736",
                "md5": "eed5e2a3d7616c0fc31f54263bf9bac4",
                "sha256": "1b4328d63bdf576f8a11a6e1df66da938893ae9d757fcd1efad740d64f914017"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "eed5e2a3d7616c0fc31f54263bf9bac4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 272286,
            "upload_time": "2025-09-02T04:06:25",
            "upload_time_iso_8601": "2025-09-02T04:06:25.012294Z",
            "url": "https://files.pythonhosted.org/packages/7c/2d/8be4d63fe0cbdf579776251964aa930786d7f425d0def11bf38761f70736/dggal-0.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6262d11d051edd3a5a56158dba39f5dcc3706cd2f0cad9a89d1366fcb82d0f75",
                "md5": "6a9726deff5ea9bcf90875007b5eb85f",
                "sha256": "3a9f240bd45ddb487ca5f8856b2fa6fe8af53c34b6bfa216ad9a080f34a02607"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6a9726deff5ea9bcf90875007b5eb85f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 281232,
            "upload_time": "2025-09-02T04:06:26",
            "upload_time_iso_8601": "2025-09-02T04:06:26.156819Z",
            "url": "https://files.pythonhosted.org/packages/62/62/d11d051edd3a5a56158dba39f5dcc3706cd2f0cad9a89d1366fcb82d0f75/dggal-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "92ffa9d6dc9107009ac0d5c046aa7a90bee4cae6ae56fba33c38965730b3f677",
                "md5": "2074e5ee9fd3d124bd67ec3036b0e406",
                "sha256": "cc58c54455521b53dff50fa33f801e692cd5c368d81de9ae037190c782f16fe6"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2074e5ee9fd3d124bd67ec3036b0e406",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 279790,
            "upload_time": "2025-09-02T04:06:27",
            "upload_time_iso_8601": "2025-09-02T04:06:27.218640Z",
            "url": "https://files.pythonhosted.org/packages/92/ff/a9d6dc9107009ac0d5c046aa7a90bee4cae6ae56fba33c38965730b3f677/dggal-0.0.4-cp39-cp39-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2e5c265cd1a8d8419ca37bbafc43b7c80ae474b44296a6e702d555b2ecc6c02b",
                "md5": "699c7efd4bd8076be185d62e65a54686",
                "sha256": "a8b5ccb2c2924d7668816bc79ade68a38bb75ffbb7c6d76803360855e6c22a20"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "699c7efd4bd8076be185d62e65a54686",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 318869,
            "upload_time": "2025-09-02T04:06:28",
            "upload_time_iso_8601": "2025-09-02T04:06:28.368597Z",
            "url": "https://files.pythonhosted.org/packages/2e/5c/265cd1a8d8419ca37bbafc43b7c80ae474b44296a6e702d555b2ecc6c02b/dggal-0.0.4-cp39-cp39-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f632d22b0fb753fa240202b931a24c5bdb9889a32f56c3cb8019ccca25d24fed",
                "md5": "7fc8129c7c551ebd5ae8bd01a4e3d77b",
                "sha256": "6c1092106c3eea7e3ae4e47056eff544c899b66bf5fc3436667dd11ac77580b0"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7fc8129c7c551ebd5ae8bd01a4e3d77b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 285801,
            "upload_time": "2025-09-02T04:06:29",
            "upload_time_iso_8601": "2025-09-02T04:06:29.829290Z",
            "url": "https://files.pythonhosted.org/packages/f6/32/d22b0fb753fa240202b931a24c5bdb9889a32f56c3cb8019ccca25d24fed/dggal-0.0.4-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1d44f0c4e9b288b0b68c30f611d105f76ef3c23702f3425783f47d35a38f40ea",
                "md5": "712af612e2c07d03f0fd948e33e41353",
                "sha256": "719c6cdfaf134b77ae833c2974b856c4632421a4fe62d2db64d4583acdab58e7"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "712af612e2c07d03f0fd948e33e41353",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 228997,
            "upload_time": "2025-09-02T04:06:30",
            "upload_time_iso_8601": "2025-09-02T04:06:30.854396Z",
            "url": "https://files.pythonhosted.org/packages/1d/44/f0c4e9b288b0b68c30f611d105f76ef3c23702f3425783f47d35a38f40ea/dggal-0.0.4-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f07ea5088a2ef35406d10be7f9836b0792e95363ab7b331220446406eb15398",
                "md5": "15a45589280d5d2ce2a606e8235106fc",
                "sha256": "2555fabd54bb5f0ffa3e32f32b048ab217eba7e975b5f550bf0cbb14bebb7751"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "15a45589280d5d2ce2a606e8235106fc",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": null,
            "size": 196930,
            "upload_time": "2025-09-02T04:06:31",
            "upload_time_iso_8601": "2025-09-02T04:06:31.948489Z",
            "url": "https://files.pythonhosted.org/packages/8f/07/ea5088a2ef35406d10be7f9836b0792e95363ab7b331220446406eb15398/dggal-0.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dd620f95b4f7fe7fce189c4bebbb44ea11ea7f59c612f96b7e2f765eb3a700b8",
                "md5": "75c04b6e9bdc4187db46cbbcf60ac03b",
                "sha256": "81a4b7f97656348a75fd51a477b21a45b1d25d23429cf198884710afa24711ba"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "75c04b6e9bdc4187db46cbbcf60ac03b",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": null,
            "size": 181257,
            "upload_time": "2025-09-02T04:06:32",
            "upload_time_iso_8601": "2025-09-02T04:06:32.997112Z",
            "url": "https://files.pythonhosted.org/packages/dd/62/0f95b4f7fe7fce189c4bebbb44ea11ea7f59c612f96b7e2f765eb3a700b8/dggal-0.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84b4589f1ba1839e236c9b8c9bdc71d0221e4bb89d15db23ce8ee54d39630f54",
                "md5": "af5009d914d533215d858e596878d393",
                "sha256": "a744c1c92a9ce5a449114decc0236b3e2f209731b2bb2ca74c792520fb68df34"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "af5009d914d533215d858e596878d393",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": null,
            "size": 260965,
            "upload_time": "2025-09-02T04:06:34",
            "upload_time_iso_8601": "2025-09-02T04:06:34.047268Z",
            "url": "https://files.pythonhosted.org/packages/84/b4/589f1ba1839e236c9b8c9bdc71d0221e4bb89d15db23ce8ee54d39630f54/dggal-0.0.4-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "99cab23af8caf17df481025529f42bad6b3469da2f37eb35b0a5299b91959ed2",
                "md5": "f2ab87c60849cd0d5517b9ad56324091",
                "sha256": "fc950f4eb22c51eca38f3f6a7566f2ba428ce13a996f3f09d5ea30e4bb06283b"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f2ab87c60849cd0d5517b9ad56324091",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": null,
            "size": 214945,
            "upload_time": "2025-09-02T04:06:36",
            "upload_time_iso_8601": "2025-09-02T04:06:36.823828Z",
            "url": "https://files.pythonhosted.org/packages/99/ca/b23af8caf17df481025529f42bad6b3469da2f37eb35b0a5299b91959ed2/dggal-0.0.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7ff4069afdfb9227d2977abc75acf0ea28d14d11c620a5b667147f2d02d852d",
                "md5": "20c464b9e87c05b40d1bee482f23d722",
                "sha256": "e4e3eabcfc089932ef7f60cd4c9bb6081c9298c0338009c07643ab3d598e0705"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "20c464b9e87c05b40d1bee482f23d722",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": null,
            "size": 224133,
            "upload_time": "2025-09-02T04:06:37",
            "upload_time_iso_8601": "2025-09-02T04:06:37.867519Z",
            "url": "https://files.pythonhosted.org/packages/f7/ff/4069afdfb9227d2977abc75acf0ea28d14d11c620a5b667147f2d02d852d/dggal-0.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cbbda85acae452c1f2abbea5b17d3d81b42195d270f1b3052705084ee81e21f3",
                "md5": "0990cbfc6878b87c7f4fe1c3077c7168",
                "sha256": "2d083bb0130063c5cfeb07657ec5dfc322e47fb073ec5c33d2661c4df08e0549"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp311-pypy311_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0990cbfc6878b87c7f4fe1c3077c7168",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": null,
            "size": 196931,
            "upload_time": "2025-09-02T04:06:38",
            "upload_time_iso_8601": "2025-09-02T04:06:38.894537Z",
            "url": "https://files.pythonhosted.org/packages/cb/bd/a85acae452c1f2abbea5b17d3d81b42195d270f1b3052705084ee81e21f3/dggal-0.0.4-pp311-pypy311_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d6f4b81196c7f0635464e98d24463b284bcbfe836071023c2ca36454f498966b",
                "md5": "2dd3ab914c57c7b074ba0f84e8ff3495",
                "sha256": "c563e2bc98c3eb59397941aa84d970da8b7d812fd093adaf151ff45bc875096b"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2dd3ab914c57c7b074ba0f84e8ff3495",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": null,
            "size": 181253,
            "upload_time": "2025-09-02T04:06:39",
            "upload_time_iso_8601": "2025-09-02T04:06:39.919207Z",
            "url": "https://files.pythonhosted.org/packages/d6/f4/b81196c7f0635464e98d24463b284bcbfe836071023c2ca36454f498966b/dggal-0.0.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f434348a3945b4875d552c3161dc1661005be9a66c88d916443c0237c83430e1",
                "md5": "dbdac5c3044de03f5bf957327445b83f",
                "sha256": "d97ac13816da7436f1364fd2329af08e47fb48582e148bdb28e4a2cea3bee08e"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "dbdac5c3044de03f5bf957327445b83f",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": null,
            "size": 260964,
            "upload_time": "2025-09-02T04:06:40",
            "upload_time_iso_8601": "2025-09-02T04:06:40.976435Z",
            "url": "https://files.pythonhosted.org/packages/f4/34/348a3945b4875d552c3161dc1661005be9a66c88d916443c0237c83430e1/dggal-0.0.4-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "885e4eff7c21d22247b49ecc2f4a627cccc533c1b8f5f2aad13f38f969ad9f4d",
                "md5": "de04106ff33d2a18083b2844c8cdb8ce",
                "sha256": "19130394101f3597a0048128a3ad6e0430bb8bba5959343a06ad86af6863fc83"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "de04106ff33d2a18083b2844c8cdb8ce",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": null,
            "size": 214944,
            "upload_time": "2025-09-02T04:06:42",
            "upload_time_iso_8601": "2025-09-02T04:06:42.031741Z",
            "url": "https://files.pythonhosted.org/packages/88/5e/4eff7c21d22247b49ecc2f4a627cccc533c1b8f5f2aad13f38f969ad9f4d/dggal-0.0.4-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "10894a22f5f72975919f02843fb0d6ef4faff68182b21d809f8c674bf180e374",
                "md5": "2984081d2b9030ff3ee22730cffa7b84",
                "sha256": "6ebd42baef12ea752923ee8225fdbbff689176c0aa0ff61064a9f32bb8c6c33f"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2984081d2b9030ff3ee22730cffa7b84",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": null,
            "size": 224132,
            "upload_time": "2025-09-02T04:06:43",
            "upload_time_iso_8601": "2025-09-02T04:06:43.163710Z",
            "url": "https://files.pythonhosted.org/packages/10/89/4a22f5f72975919f02843fb0d6ef4faff68182b21d809f8c674bf180e374/dggal-0.0.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d653721fd9254ed5eca8638bb9f10bae36d146ed5cb2b7dae8283f22a2303c85",
                "md5": "6452afa1102e8c7b505e01c1d2051643",
                "sha256": "ebbdf8cb1dd285eeb0cebe6da2d6cfa64ebb83f531abe213124c551189840cd9"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6452afa1102e8c7b505e01c1d2051643",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": null,
            "size": 196719,
            "upload_time": "2025-09-02T04:06:44",
            "upload_time_iso_8601": "2025-09-02T04:06:44.391080Z",
            "url": "https://files.pythonhosted.org/packages/d6/53/721fd9254ed5eca8638bb9f10bae36d146ed5cb2b7dae8283f22a2303c85/dggal-0.0.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0acc51f764d9ba4779e014dc84b2c0a1c0ba00274340d7c16519570f592c4db7",
                "md5": "6a60f514fd669c368f2b28a70fd4d2dd",
                "sha256": "e5950e6da0e0ae6e3859670501da0d8209131ffeff51eaeaeb944dee8dccda91"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "6a60f514fd669c368f2b28a70fd4d2dd",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": null,
            "size": 260878,
            "upload_time": "2025-09-02T04:06:45",
            "upload_time_iso_8601": "2025-09-02T04:06:45.866393Z",
            "url": "https://files.pythonhosted.org/packages/0a/cc/51f764d9ba4779e014dc84b2c0a1c0ba00274340d7c16519570f592c4db7/dggal-0.0.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b9ee947d99ae0891a8e7078da5a2ffa713f57ec45a44ba985d11e78374a52a29",
                "md5": "2c7f660972661b70044d7135bac8b4ce",
                "sha256": "66da68bc40004efe5956c1e1e4ec92f7d60c5ed876b4e9f582a15767b3bb0337"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2c7f660972661b70044d7135bac8b4ce",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": null,
            "size": 214892,
            "upload_time": "2025-09-02T04:06:46",
            "upload_time_iso_8601": "2025-09-02T04:06:46.933449Z",
            "url": "https://files.pythonhosted.org/packages/b9/ee/947d99ae0891a8e7078da5a2ffa713f57ec45a44ba985d11e78374a52a29/dggal-0.0.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "71653d478ec9ceda362aeafe5d38c7eefd1a8c9d365afa705917443350c5a866",
                "md5": "88b791c50ccdacde931c050e13f0d059",
                "sha256": "ef37fe5e302bd08dbe27aa5fce776846c12b675e351da5c03a58026fc76c4add"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "88b791c50ccdacde931c050e13f0d059",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": null,
            "size": 224097,
            "upload_time": "2025-09-02T04:06:48",
            "upload_time_iso_8601": "2025-09-02T04:06:48.334288Z",
            "url": "https://files.pythonhosted.org/packages/71/65/3d478ec9ceda362aeafe5d38c7eefd1a8c9d365afa705917443350c5a866/dggal-0.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c5ea906dd78f4b11326ebfab1652e6c536ad69a651d349034dd71e63fd971e29",
                "md5": "c1f5053e9ba8a6bc22c4d7868b7c8e40",
                "sha256": "6b6e50d533c7694d4c06e6a9522aafb23cb72189500413731ad34018ef6061c4"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c1f5053e9ba8a6bc22c4d7868b7c8e40",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": null,
            "size": 196713,
            "upload_time": "2025-09-02T04:06:49",
            "upload_time_iso_8601": "2025-09-02T04:06:49.388313Z",
            "url": "https://files.pythonhosted.org/packages/c5/ea/906dd78f4b11326ebfab1652e6c536ad69a651d349034dd71e63fd971e29/dggal-0.0.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9309535545dadcf65d0e320a26296ae2aebce9f2b936e44f20771cc447b22476",
                "md5": "eb98913016c5926dd6d0c8fc8ff1c6f6",
                "sha256": "41b55c3e1b4101b91f24bc6387b2b41d2c2888d1638796c123573b74dead12c4"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "eb98913016c5926dd6d0c8fc8ff1c6f6",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": null,
            "size": 181187,
            "upload_time": "2025-09-02T04:06:50",
            "upload_time_iso_8601": "2025-09-02T04:06:50.419959Z",
            "url": "https://files.pythonhosted.org/packages/93/09/535545dadcf65d0e320a26296ae2aebce9f2b936e44f20771cc447b22476/dggal-0.0.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "81aff717cfd49577c3408cd8047109112fe2f57471c1cba0fc2259811459327e",
                "md5": "b7432cddd717c3856507d0e10d3b8d22",
                "sha256": "c53a886e98f7c82ee3cbd0c79860f538f31687dce08f0c4dd05d5dc88a7fb44c"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b7432cddd717c3856507d0e10d3b8d22",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": null,
            "size": 260902,
            "upload_time": "2025-09-02T04:06:51",
            "upload_time_iso_8601": "2025-09-02T04:06:51.514905Z",
            "url": "https://files.pythonhosted.org/packages/81/af/f717cfd49577c3408cd8047109112fe2f57471c1cba0fc2259811459327e/dggal-0.0.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "76f060be6169a0f4d2495275966b46cbe9ad10a1e5be3b16f1cf9283bce85289",
                "md5": "10360f2705766ba5bbf86e10f189cf1b",
                "sha256": "a6d78cd4aa6164dbae97299b6acbc747228df2e68d7ab990fabdd601b6e4b1e4"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "10360f2705766ba5bbf86e10f189cf1b",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": null,
            "size": 214883,
            "upload_time": "2025-09-02T04:06:52",
            "upload_time_iso_8601": "2025-09-02T04:06:52.915315Z",
            "url": "https://files.pythonhosted.org/packages/76/f0/60be6169a0f4d2495275966b46cbe9ad10a1e5be3b16f1cf9283bce85289/dggal-0.0.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a23a82a05f12c0b5c932664453357250ea34c75ba7a6a87362f02deaac9f716e",
                "md5": "580868cb6e4d9acdef699906ae94f13a",
                "sha256": "048d78d79d2c53bfcf120bd3b8fe04edc1433d12800a9fc857ae4d75e543f88e"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "580868cb6e4d9acdef699906ae94f13a",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": null,
            "size": 224073,
            "upload_time": "2025-09-02T04:06:54",
            "upload_time_iso_8601": "2025-09-02T04:06:54.041846Z",
            "url": "https://files.pythonhosted.org/packages/a2/3a/82a05f12c0b5c932664453357250ea34c75ba7a6a87362f02deaac9f716e/dggal-0.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4f705b2c7e043bc79a6890b286d0f4d9cadf6a67c77cabac655a3bb59150d796",
                "md5": "54f672c5a1a55ac6ccd0031dc5dfa63c",
                "sha256": "9b646c29ff1e18794cb1d4b55e04a19ad7cc1b4cdbcadcd34991202a0e965c33"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "54f672c5a1a55ac6ccd0031dc5dfa63c",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": null,
            "size": 196925,
            "upload_time": "2025-09-02T04:06:55",
            "upload_time_iso_8601": "2025-09-02T04:06:55.063304Z",
            "url": "https://files.pythonhosted.org/packages/4f/70/5b2c7e043bc79a6890b286d0f4d9cadf6a67c77cabac655a3bb59150d796/dggal-0.0.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "87118e5853405e9612086b3dfb145c054875e3c37551bfba9cbfdc22a6e1c3b2",
                "md5": "42a89a70062dd6b414437f6bb4d6886a",
                "sha256": "0ae562ed0ce90c528daff15ba97e00d4412e1e86e7b2f574f89187fcf01bd7b2"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "42a89a70062dd6b414437f6bb4d6886a",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": null,
            "size": 181249,
            "upload_time": "2025-09-02T04:06:56",
            "upload_time_iso_8601": "2025-09-02T04:06:56.094532Z",
            "url": "https://files.pythonhosted.org/packages/87/11/8e5853405e9612086b3dfb145c054875e3c37551bfba9cbfdc22a6e1c3b2/dggal-0.0.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "50c4ba5dfe6a62da4ec35c943cd8936a5f6c9770945600fb991a7af28b303b3c",
                "md5": "015ba78498921260d2507665eb556b54",
                "sha256": "ed19fcc8f40d4a8b3f3352e14cbbab45817ab92edebc7d5cbfc3890dadd19a4c"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "015ba78498921260d2507665eb556b54",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": null,
            "size": 260959,
            "upload_time": "2025-09-02T04:06:57",
            "upload_time_iso_8601": "2025-09-02T04:06:57.194202Z",
            "url": "https://files.pythonhosted.org/packages/50/c4/ba5dfe6a62da4ec35c943cd8936a5f6c9770945600fb991a7af28b303b3c/dggal-0.0.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e4918da5cd2a8d8c6ed7d72e9eeddfbea985482bc1eb25cf359e4e5cc5e01bc0",
                "md5": "4e6632328ad88c2561be6c78d52b93de",
                "sha256": "57fb77f9dc941f52277708322409e12bea1d95739f04a0dcb32e8b820d5fbdbf"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4e6632328ad88c2561be6c78d52b93de",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": null,
            "size": 214939,
            "upload_time": "2025-09-02T04:06:58",
            "upload_time_iso_8601": "2025-09-02T04:06:58.296757Z",
            "url": "https://files.pythonhosted.org/packages/e4/91/8da5cd2a8d8c6ed7d72e9eeddfbea985482bc1eb25cf359e4e5cc5e01bc0/dggal-0.0.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "905564c571b7f0553a9c64bb4af9340f05a53ace278346ca90c6d2ac9928602e",
                "md5": "ba5e49a89f688a9e13cccdb6b4c663e1",
                "sha256": "08c8d9dbf51297efb6184a22825222a83352c57bbbaf8ea374a9da270c1e1c16"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ba5e49a89f688a9e13cccdb6b4c663e1",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": null,
            "size": 224129,
            "upload_time": "2025-09-02T04:06:59",
            "upload_time_iso_8601": "2025-09-02T04:06:59.673745Z",
            "url": "https://files.pythonhosted.org/packages/90/55/64c571b7f0553a9c64bb4af9340f05a53ace278346ca90c6d2ac9928602e/dggal-0.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "312263cd3d583d5d7c60eba314dd42402fb53e767d6db9e3842324ad40208500",
                "md5": "dade5d45b93847b53582faef695c843d",
                "sha256": "91021cded1259b8ba84af95418d64872c4161f742731478f84c5ca377115af7a"
            },
            "downloads": -1,
            "filename": "dggal-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "dade5d45b93847b53582faef695c843d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 224563,
            "upload_time": "2025-09-02T04:07:00",
            "upload_time_iso_8601": "2025-09-02T04:07:00.868749Z",
            "url": "https://files.pythonhosted.org/packages/31/22/63cd3d583d5d7c60eba314dd42402fb53e767d6db9e3842324ad40208500/dggal-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-02 04:07:00",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "dggal"
}
        
Elapsed time: 0.45209s