gimli.units


Namegimli.units JSON
Version 0.3.2 PyPI version JSON
download
home_page
SummaryAn object-oriented Python interface to udunits
upload_time2024-02-28 22:26:23
maintainerEric Hutton
docs_urlNone
authorEric Hutton
requires_python>=3.10
licenseMIT
keywords earth science model coupling unit conversion units
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [anaconda-badge]: https://anaconda.org/conda-forge/gimli.units/badges/version.svg
[anaconda-link]: https://anaconda.org/conda-forge/gimli.units
[build-badge]: https://github.com/mcflugen/gimli/actions/workflows/test.yml/badge.svg
[build-link]: https://github.com/mcflugen/gimli/actions/workflows/test.yml
[expat-github]: https://github.com/libexpat/libexpat
[expat-license]: https://github.com/libexpat/libexpat?tab=MIT-1-ov-file#readme
[pypi-badge]: https://badge.fury.io/py/gimli.units.svg
[pypi-link]: https://badge.fury.io/py/gimli.units
[udunits-download]: https://artifacts.unidata.ucar.edu/service/rest/repository/browse/downloads-udunits/
[udunits-github]: https://github.com/Unidata/UDUNITS-2
[udunits-license]: https://github.com/Unidata/UDUNITS-2/tree/master?tab=License-1-ov-file
[udunits-link]: https://www.unidata.ucar.edu/software/udunits/

![[Build Status][build-link]][build-badge]
![[PyPI][pypi-link]][pypi-badge]
![[Anaconda][anaconda-link]][anaconda-badge]


# gimli.units

An object-oriented Python interface to [udunits2][udunits-link] built with cython.

**NOTE: *gimli.units* includes a vendored version of *udunits2* so that you do not
have to install the *udunits2* library separately.**

## Installation

```
pip install gimli.units
```
or
```
conda install gimli.units -c conda-forge
```

### From Source

```
pip install git+https://github.com/mcflugen/gimli.git
```

Note: `gimli.units` requires the `libudunits` library. You will need to
have this installed before building `gimli.units`. You can do this
using `conda`,

```
conda install udunits2 -c conda-forge
```

or by building `udunits2` from source (we use a
[vendored version](#notice-of-vendored-libraries) of `udunits2`,
which can be found in the `extern` folder of this repository).

## Usage

Primarily, *gimli.units* is a Python module with an [API](#API) that reflects that of
the *udunits2* library. *gimli*, however, also comes with a
[command-line interface](#command-line-interface).

# API

You primarily will access *gimli* through *gimli.units*,

```python
>>> from gimli.units import units
```

*units* is an instance of the default *UnitSystem* class, which contains
all of the units contained in a given unit system. If you like, you can create
your own unit system but, typically, the default should be fine.

*units* is a *dict*-like object whose keys are strings representing units
and values are instances of those units. For example,

```python
>>> units["m"]
Unit('meter')
>>> units["m/s"]
Unit('meter-second^-1')
>>> units["kg m-3"]
Unit('meter^-3-kilogram')
>>> units["N m"]
Unit('joule')
```

Every *Unit* instance has a *to* method, which returns a unit converter
for converting values from one unit to another,

```python
>>> lbs = units["lb"]
>>> kgs = units["kg"]
>>> kgs_to_lbs = kgs.to(lbs)
>>> kgs_to_lbs(1.0)
2.2046226218487757
```

You can also construct units that are a combination of other units.

```python
>>> ft_per_s = units["ft / s"]
>>> m_per_s = units["m s-1"]
>>> ft_per_s.to(m_per_s)([1.0, 2.0])
array([0.3048, 0.6096])
```

## Command-line interface

From the command line you can use *gimli* to convert values from one
unit to another.

```bash
gimli --from=miles --to=ft
```
```
5280.000000
```

Values to convert can be passed through the files (use a dash for *stdin*).

```bash
echo "1.0" | gimli --from=cal --to=joule -
```
```
4.186800
```

When reading from a file, *gimli* tries to preserve the format of the
input file,

```bash
cat values.csv
```
```
1.0, 2.0, 3.0
4.0, 5.0, 6.0
```
```bash
gimli --from=knot --to=m/s values.txt
```
```
0.514444, 1.028889, 1.543333
2.057778, 2.572222, 3.086667
```

## Notice of Vendored Libraries

`gimli.units` includes two third-party libraries, `expat` and `udunits`,
which are "vendored" as part of our codebase. This means that these
libraries are embedded directly within `gimli.units`, rather than being
external dependencies.

### Reasons for Vendoring

- **`udunits`**: A library for units of physical quantities, vendored
  to provide robust unit conversion and management, ensuring compatibility
  and consistency in unit operations.
- **`expat`**: An XML parser library written in C, vendored to ensure
  consistent and reliable XML parsing across various platforms and
  environments without requiring separate installation of the library.
  `expat` is a dependency of `udunits`.

### Implications for Users

- **No Additional Installations**: Users do not need to install these
  libraries separately; they are fully integrated into our package.
- **Package Size**: The inclusion of these libraries increases the size
  of our package. We have taken care to ensure that this does not
  significantly impact the installation and usage experience.
- **Compatibility**: Vendoring these libraries helps us manage
  compatibility and reliability issues, as we use specific versions
  tested to work with our package.

### Licensing

- **`udunits` License**: [License Information for udunits][udunits-license]
- Our use of these vendored libraries complies with their respective
  licenses. Users of our package are also subject to these terms.
- **`expat` License**: [License Information for expat][expat-license]

### Updates and Security

- We actively monitor and incorporate updates, including security patches,
  for these vendored libraries. Should there be any significant updates
  or security concerns, we aim to address these in a timely manner.

### Further Information

- For more information on `udunits`, refer to [udunits' website][udunits-link].
- For more details about `expat`, please visit [expat's website][expat-github].

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "gimli.units",
    "maintainer": "Eric Hutton",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "eric.hutton@colorado.edu",
    "keywords": "earth science,model coupling,unit conversion,units",
    "author": "Eric Hutton",
    "author_email": "eric.hutton@colorado.edu",
    "download_url": "https://files.pythonhosted.org/packages/29/64/c6bec99bc8d2d2e9d928aa5af50993a0492e23f14c9d560e96e155dd5b84/gimli.units-0.3.2.tar.gz",
    "platform": null,
    "description": "[anaconda-badge]: https://anaconda.org/conda-forge/gimli.units/badges/version.svg\n[anaconda-link]: https://anaconda.org/conda-forge/gimli.units\n[build-badge]: https://github.com/mcflugen/gimli/actions/workflows/test.yml/badge.svg\n[build-link]: https://github.com/mcflugen/gimli/actions/workflows/test.yml\n[expat-github]: https://github.com/libexpat/libexpat\n[expat-license]: https://github.com/libexpat/libexpat?tab=MIT-1-ov-file#readme\n[pypi-badge]: https://badge.fury.io/py/gimli.units.svg\n[pypi-link]: https://badge.fury.io/py/gimli.units\n[udunits-download]: https://artifacts.unidata.ucar.edu/service/rest/repository/browse/downloads-udunits/\n[udunits-github]: https://github.com/Unidata/UDUNITS-2\n[udunits-license]: https://github.com/Unidata/UDUNITS-2/tree/master?tab=License-1-ov-file\n[udunits-link]: https://www.unidata.ucar.edu/software/udunits/\n\n![[Build Status][build-link]][build-badge]\n![[PyPI][pypi-link]][pypi-badge]\n![[Anaconda][anaconda-link]][anaconda-badge]\n\n\n# gimli.units\n\nAn object-oriented Python interface to [udunits2][udunits-link] built with cython.\n\n**NOTE: *gimli.units* includes a vendored version of *udunits2* so that you do not\nhave to install the *udunits2* library separately.**\n\n## Installation\n\n```\npip install gimli.units\n```\nor\n```\nconda install gimli.units -c conda-forge\n```\n\n### From Source\n\n```\npip install git+https://github.com/mcflugen/gimli.git\n```\n\nNote: `gimli.units` requires the `libudunits` library. You will need to\nhave this installed before building `gimli.units`. You can do this\nusing `conda`,\n\n```\nconda install udunits2 -c conda-forge\n```\n\nor by building `udunits2` from source (we use a\n[vendored version](#notice-of-vendored-libraries) of `udunits2`,\nwhich can be found in the `extern` folder of this repository).\n\n## Usage\n\nPrimarily, *gimli.units* is a Python module with an [API](#API) that reflects that of\nthe *udunits2* library. *gimli*, however, also comes with a\n[command-line interface](#command-line-interface).\n\n# API\n\nYou primarily will access *gimli* through *gimli.units*,\n\n```python\n>>> from gimli.units import units\n```\n\n*units* is an instance of the default *UnitSystem* class, which contains\nall of the units contained in a given unit system. If you like, you can create\nyour own unit system but, typically, the default should be fine.\n\n*units* is a *dict*-like object whose keys are strings representing units\nand values are instances of those units. For example,\n\n```python\n>>> units[\"m\"]\nUnit('meter')\n>>> units[\"m/s\"]\nUnit('meter-second^-1')\n>>> units[\"kg m-3\"]\nUnit('meter^-3-kilogram')\n>>> units[\"N m\"]\nUnit('joule')\n```\n\nEvery *Unit* instance has a *to* method, which returns a unit converter\nfor converting values from one unit to another,\n\n```python\n>>> lbs = units[\"lb\"]\n>>> kgs = units[\"kg\"]\n>>> kgs_to_lbs = kgs.to(lbs)\n>>> kgs_to_lbs(1.0)\n2.2046226218487757\n```\n\nYou can also construct units that are a combination of other units.\n\n```python\n>>> ft_per_s = units[\"ft / s\"]\n>>> m_per_s = units[\"m s-1\"]\n>>> ft_per_s.to(m_per_s)([1.0, 2.0])\narray([0.3048, 0.6096])\n```\n\n## Command-line interface\n\nFrom the command line you can use *gimli* to convert values from one\nunit to another.\n\n```bash\ngimli --from=miles --to=ft\n```\n```\n5280.000000\n```\n\nValues to convert can be passed through the files (use a dash for *stdin*).\n\n```bash\necho \"1.0\" | gimli --from=cal --to=joule -\n```\n```\n4.186800\n```\n\nWhen reading from a file, *gimli* tries to preserve the format of the\ninput file,\n\n```bash\ncat values.csv\n```\n```\n1.0, 2.0, 3.0\n4.0, 5.0, 6.0\n```\n```bash\ngimli --from=knot --to=m/s values.txt\n```\n```\n0.514444, 1.028889, 1.543333\n2.057778, 2.572222, 3.086667\n```\n\n## Notice of Vendored Libraries\n\n`gimli.units` includes two third-party libraries, `expat` and `udunits`,\nwhich are \"vendored\" as part of our codebase. This means that these\nlibraries are embedded directly within `gimli.units`, rather than being\nexternal dependencies.\n\n### Reasons for Vendoring\n\n- **`udunits`**: A library for units of physical quantities, vendored\n  to provide robust unit conversion and management, ensuring compatibility\n  and consistency in unit operations.\n- **`expat`**: An XML parser library written in C, vendored to ensure\n  consistent and reliable XML parsing across various platforms and\n  environments without requiring separate installation of the library.\n  `expat` is a dependency of `udunits`.\n\n### Implications for Users\n\n- **No Additional Installations**: Users do not need to install these\n  libraries separately; they are fully integrated into our package.\n- **Package Size**: The inclusion of these libraries increases the size\n  of our package. We have taken care to ensure that this does not\n  significantly impact the installation and usage experience.\n- **Compatibility**: Vendoring these libraries helps us manage\n  compatibility and reliability issues, as we use specific versions\n  tested to work with our package.\n\n### Licensing\n\n- **`udunits` License**: [License Information for udunits][udunits-license]\n- Our use of these vendored libraries complies with their respective\n  licenses. Users of our package are also subject to these terms.\n- **`expat` License**: [License Information for expat][expat-license]\n\n### Updates and Security\n\n- We actively monitor and incorporate updates, including security patches,\n  for these vendored libraries. Should there be any significant updates\n  or security concerns, we aim to address these in a timely manner.\n\n### Further Information\n\n- For more information on `udunits`, refer to [udunits' website][udunits-link].\n- For more details about `expat`, please visit [expat's website][expat-github].\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "An object-oriented Python interface to udunits",
    "version": "0.3.2",
    "project_urls": {
        "Changelog": "https://github.com/csdms/gimli/blob/master/CHANGES.rst",
        "Documentation": "https://gimli.readthedocs.io/",
        "Homepage": "https://github.com/csdms/gimli",
        "Repository": "https://github.com/csdms/gimli"
    },
    "split_keywords": [
        "earth science",
        "model coupling",
        "unit conversion",
        "units"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c912b9e43a29b3b661caba959e31fd41aec40e3f43c6f1cb21e5c30acbfec80",
                "md5": "ec0d1847d90c6e66e09729ca7a409537",
                "sha256": "d43b8d02645a37a8f529abe1c0e8f29854537c57e2cb251c7dcbf6c6dfc3d8fc"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ec0d1847d90c6e66e09729ca7a409537",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 164698,
            "upload_time": "2024-02-28T22:25:53",
            "upload_time_iso_8601": "2024-02-28T22:25:53.699616Z",
            "url": "https://files.pythonhosted.org/packages/1c/91/2b9e43a29b3b661caba959e31fd41aec40e3f43c6f1cb21e5c30acbfec80/gimli.units-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46722ce68963f9e3b560a08bafa9481b30b2c73fa4e2d67923d2f147fc8c97a5",
                "md5": "7526406573a2faafd5aa63c5ab527304",
                "sha256": "e97467e278e5b54207b9790fe37b91ea88a23417905499655e5c16242ae4de68"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7526406573a2faafd5aa63c5ab527304",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 99600,
            "upload_time": "2024-02-28T22:25:54",
            "upload_time_iso_8601": "2024-02-28T22:25:54.986795Z",
            "url": "https://files.pythonhosted.org/packages/46/72/2ce68963f9e3b560a08bafa9481b30b2c73fa4e2d67923d2f147fc8c97a5/gimli.units-0.3.2-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e493c4443ef49b82a93e6c3d4a3adce5e825f0ad2e1ebbfee6fe5d1e25ef8279",
                "md5": "2da324405ee4c9ed05e916dcec685e68",
                "sha256": "cb5a3111a164022a6c9b074b4c3a03f2f4878e7f65b907f5ff14cf95f3755dbd"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2da324405ee4c9ed05e916dcec685e68",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 563611,
            "upload_time": "2024-02-28T22:25:55",
            "upload_time_iso_8601": "2024-02-28T22:25:55.976512Z",
            "url": "https://files.pythonhosted.org/packages/e4/93/c4443ef49b82a93e6c3d4a3adce5e825f0ad2e1ebbfee6fe5d1e25ef8279/gimli.units-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "825f136913bf7da08a3f42db4309541e6792f1106565fce13337d351dd224230",
                "md5": "36a8344c17c4229628ed792f320b8e6d",
                "sha256": "76c5b13c90875d8646e87167fc6e7fb1fa61ee98f7ecd023fbc22614cd6ee515"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "36a8344c17c4229628ed792f320b8e6d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 567881,
            "upload_time": "2024-02-28T22:25:57",
            "upload_time_iso_8601": "2024-02-28T22:25:57.314775Z",
            "url": "https://files.pythonhosted.org/packages/82/5f/136913bf7da08a3f42db4309541e6792f1106565fce13337d351dd224230/gimli.units-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0dbda878f8094f24ce5a6a1f8ce06a73ac5be8ac124064d346316df138747313",
                "md5": "ddfd30af585c96c7d261cefc3953be9c",
                "sha256": "b24ec215c07c8e8bf726c0b368622f5eed7b1c62b72774b5e6fdd0e650fea08e"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ddfd30af585c96c7d261cefc3953be9c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 610511,
            "upload_time": "2024-02-28T22:25:58",
            "upload_time_iso_8601": "2024-02-28T22:25:58.954937Z",
            "url": "https://files.pythonhosted.org/packages/0d/bd/a878f8094f24ce5a6a1f8ce06a73ac5be8ac124064d346316df138747313/gimli.units-0.3.2-cp310-cp310-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19dfe1817957e64f793bffdfdaa514087d71986dc381ec3390090539157d2ddc",
                "md5": "7d0382d8fca69fdbfe2e44c18f1ea1c4",
                "sha256": "29a3f37b2c6359888cca61fca7da387fb12d1b16c4b86fbbeab4b0dedcff86f6"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7d0382d8fca69fdbfe2e44c18f1ea1c4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 609913,
            "upload_time": "2024-02-28T22:26:00",
            "upload_time_iso_8601": "2024-02-28T22:26:00.002908Z",
            "url": "https://files.pythonhosted.org/packages/19/df/e1817957e64f793bffdfdaa514087d71986dc381ec3390090539157d2ddc/gimli.units-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e98ac1b9987d9ece270195e18e1dc79a2250dcc62376c3d50c42da06b4f268e",
                "md5": "a6a84dd27d2a06fd09af06258e5a5a65",
                "sha256": "4404afa000867a484642683590987d4ed5bb4718ea30be04c5cddf0a55e6f425"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a6a84dd27d2a06fd09af06258e5a5a65",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 221251,
            "upload_time": "2024-02-28T22:26:01",
            "upload_time_iso_8601": "2024-02-28T22:26:01.792051Z",
            "url": "https://files.pythonhosted.org/packages/1e/98/ac1b9987d9ece270195e18e1dc79a2250dcc62376c3d50c42da06b4f268e/gimli.units-0.3.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7820b5688aeb6dad55a449447233d7c9b3c5e0af34901ca85ce0d5f3c5db9d0e",
                "md5": "2caf09c516d6df70139b8161b2f6da86",
                "sha256": "9a0454c9e6babcea45f72fcfc0a332474c93e267fa72e3222b02c4b08fad127e"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2caf09c516d6df70139b8161b2f6da86",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 165033,
            "upload_time": "2024-02-28T22:26:03",
            "upload_time_iso_8601": "2024-02-28T22:26:03.566124Z",
            "url": "https://files.pythonhosted.org/packages/78/20/b5688aeb6dad55a449447233d7c9b3c5e0af34901ca85ce0d5f3c5db9d0e/gimli.units-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc0c33e7c18f0a1f772b2299d982da6081dbfb8a2e531aa091aacd2a4daedd4d",
                "md5": "cfe4dcd5334cc2913bdde27df6730e72",
                "sha256": "1e6ef9d4da68c62364794c2088b7503c4ef0b4dc54d35d69e88d30f6e2392c1e"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "cfe4dcd5334cc2913bdde27df6730e72",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 99751,
            "upload_time": "2024-02-28T22:26:05",
            "upload_time_iso_8601": "2024-02-28T22:26:05.582890Z",
            "url": "https://files.pythonhosted.org/packages/fc/0c/33e7c18f0a1f772b2299d982da6081dbfb8a2e531aa091aacd2a4daedd4d/gimli.units-0.3.2-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7bd3a6bdf54f66baf87483dd2c375cfe003dfcddff5252091980796b659d371e",
                "md5": "0a9512df97637259f60d29958103b379",
                "sha256": "50da62bc1ed8658e246166bae5ebe964cf3a8fbed283bb907e0038d983a88ba7"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0a9512df97637259f60d29958103b379",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 593898,
            "upload_time": "2024-02-28T22:26:06",
            "upload_time_iso_8601": "2024-02-28T22:26:06.656628Z",
            "url": "https://files.pythonhosted.org/packages/7b/d3/a6bdf54f66baf87483dd2c375cfe003dfcddff5252091980796b659d371e/gimli.units-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29e2c27a123405c0d8dbbf57988c668c0d0a62c6b63ef0770031bbe685585003",
                "md5": "a7fdaf302875fe6e4b01837b493f1d2f",
                "sha256": "64fde3b92adb3a54ec0b71f08907ec235937c78acd666fa2fc1d2143310a85f8"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a7fdaf302875fe6e4b01837b493f1d2f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 595243,
            "upload_time": "2024-02-28T22:26:07",
            "upload_time_iso_8601": "2024-02-28T22:26:07.829986Z",
            "url": "https://files.pythonhosted.org/packages/29/e2/c27a123405c0d8dbbf57988c668c0d0a62c6b63ef0770031bbe685585003/gimli.units-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6fc111b1b716b616c27c62b42ed3293a70440005fa8f840eca9ab4e3e3d24df",
                "md5": "643efe97a0761e5f999f6b4c58896b2a",
                "sha256": "c4bd74cb8c1f6ceab048dbea0d689c2781d0026b8cc7e842dec9e179fbc4ea28"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "643efe97a0761e5f999f6b4c58896b2a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 640751,
            "upload_time": "2024-02-28T22:26:09",
            "upload_time_iso_8601": "2024-02-28T22:26:09.716208Z",
            "url": "https://files.pythonhosted.org/packages/c6/fc/111b1b716b616c27c62b42ed3293a70440005fa8f840eca9ab4e3e3d24df/gimli.units-0.3.2-cp311-cp311-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "494afeedaaa5d13ab7069341ec694cbb87ad5f3243ff64f8c668917b4a91a6d1",
                "md5": "d08888e6c038838f14c8ebff7a46cb91",
                "sha256": "3c33297416cc06766e19a8ca3b62d16738814283301b2235421237ee0b84553f"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d08888e6c038838f14c8ebff7a46cb91",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 639452,
            "upload_time": "2024-02-28T22:26:11",
            "upload_time_iso_8601": "2024-02-28T22:26:11.502534Z",
            "url": "https://files.pythonhosted.org/packages/49/4a/feedaaa5d13ab7069341ec694cbb87ad5f3243ff64f8c668917b4a91a6d1/gimli.units-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8666b7595fd7a4aa8ca66d77fe836dedc15fa18936d495432a8d9eb190cf63f1",
                "md5": "06fd8e55e32c7dd2c31dfc8f83a1bd93",
                "sha256": "b8357570db59f5807bff1850c8295e0dd3bb778a5c227ff5b58eb698fac259d0"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "06fd8e55e32c7dd2c31dfc8f83a1bd93",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 221349,
            "upload_time": "2024-02-28T22:26:13",
            "upload_time_iso_8601": "2024-02-28T22:26:13.297737Z",
            "url": "https://files.pythonhosted.org/packages/86/66/b7595fd7a4aa8ca66d77fe836dedc15fa18936d495432a8d9eb190cf63f1/gimli.units-0.3.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e1fd4b8264b3adb0d458c9cb4c40f7909a5a3bd1424c50c0c6f49f274a97aa5",
                "md5": "17b67988a92b7975284f9afd93188a60",
                "sha256": "29dea343e3bf3a8da8854a1622ba08f359d3c9a9972a71c2712efec4ae505c65"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "17b67988a92b7975284f9afd93188a60",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 162037,
            "upload_time": "2024-02-28T22:26:15",
            "upload_time_iso_8601": "2024-02-28T22:26:15.102337Z",
            "url": "https://files.pythonhosted.org/packages/3e/1f/d4b8264b3adb0d458c9cb4c40f7909a5a3bd1424c50c0c6f49f274a97aa5/gimli.units-0.3.2-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1021c902c5f7aa731ac6ba909bd997493d109097638f65e216e902e323b7601e",
                "md5": "631553bf2dc449d839da798884ee4d39",
                "sha256": "bc16798b682d90802105a8fce3fc206770616285c816d8dabc3707c9c3fa81e3"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "631553bf2dc449d839da798884ee4d39",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 98365,
            "upload_time": "2024-02-28T22:26:16",
            "upload_time_iso_8601": "2024-02-28T22:26:16.732529Z",
            "url": "https://files.pythonhosted.org/packages/10/21/c902c5f7aa731ac6ba909bd997493d109097638f65e216e902e323b7601e/gimli.units-0.3.2-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3dc5f4e623e4ce3009831d6521309041c8be15fde220b9c956d8482d1517f1c5",
                "md5": "f5a268a84bbabdf7b82452c41e87204f",
                "sha256": "64be0714e3d3cfb04c01c992f7be6b6b54ab20058fd9645c86d72422c7a6280e"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f5a268a84bbabdf7b82452c41e87204f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 585357,
            "upload_time": "2024-02-28T22:26:17",
            "upload_time_iso_8601": "2024-02-28T22:26:17.722341Z",
            "url": "https://files.pythonhosted.org/packages/3d/c5/f4e623e4ce3009831d6521309041c8be15fde220b9c956d8482d1517f1c5/gimli.units-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "418e8f91e7af6e84a3baba829ff47fa41f7bd18d2adcefc847fe563eb025aba6",
                "md5": "f0b132dc039bcdbecb31ab1f8074525a",
                "sha256": "663ea6a4c5c80536cf3f7a26823b2512e99d4cbbdb6a3d910e4e5a965d3a5e45"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f0b132dc039bcdbecb31ab1f8074525a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 588040,
            "upload_time": "2024-02-28T22:26:18",
            "upload_time_iso_8601": "2024-02-28T22:26:18.916359Z",
            "url": "https://files.pythonhosted.org/packages/41/8e/8f91e7af6e84a3baba829ff47fa41f7bd18d2adcefc847fe563eb025aba6/gimli.units-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5fa65e78723a110648f149bb9645bef755580fcebeea7b95d09e47c6ec235bb0",
                "md5": "e28b526d3e08ebf038706ebcafb1aa76",
                "sha256": "755a32a476a4364d0d8aa486bda275b3d7cd4aaa70a32aee8708c3598d3780e1"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e28b526d3e08ebf038706ebcafb1aa76",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 632014,
            "upload_time": "2024-02-28T22:26:20",
            "upload_time_iso_8601": "2024-02-28T22:26:20.031805Z",
            "url": "https://files.pythonhosted.org/packages/5f/a6/5e78723a110648f149bb9645bef755580fcebeea7b95d09e47c6ec235bb0/gimli.units-0.3.2-cp312-cp312-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1fec64a1cea5c494b93990dca267757bdd7a024a1eb890f69395f2db11afd05d",
                "md5": "4c52a86109be5fa79c6da7755eedbb4a",
                "sha256": "68ec7ff0af530264c17e7b2abdf981a73c9522e421bffbb06929c6b425987be2"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4c52a86109be5fa79c6da7755eedbb4a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 633797,
            "upload_time": "2024-02-28T22:26:21",
            "upload_time_iso_8601": "2024-02-28T22:26:21.146283Z",
            "url": "https://files.pythonhosted.org/packages/1f/ec/64a1cea5c494b93990dca267757bdd7a024a1eb890f69395f2db11afd05d/gimli.units-0.3.2-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e424999c0bf3af24b5f3a544ba7ee83f38c77e53714c597a868e6175768753a",
                "md5": "e1da39ef563b3a6ef8c03737cfdac2b2",
                "sha256": "101a2c600cc04ab8344ff4e779b47315f25ede49bc569e6dddc2bd62974a8671"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e1da39ef563b3a6ef8c03737cfdac2b2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 219073,
            "upload_time": "2024-02-28T22:26:22",
            "upload_time_iso_8601": "2024-02-28T22:26:22.246566Z",
            "url": "https://files.pythonhosted.org/packages/8e/42/4999c0bf3af24b5f3a544ba7ee83f38c77e53714c597a868e6175768753a/gimli.units-0.3.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2964c6bec99bc8d2d2e9d928aa5af50993a0492e23f14c9d560e96e155dd5b84",
                "md5": "4f56ddbb22c1500777e8b4121dc04659",
                "sha256": "f6801dc44e424c783da8fa6053f2e66a8313f51c7f0ef397065dee52e51d5e27"
            },
            "downloads": -1,
            "filename": "gimli.units-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "4f56ddbb22c1500777e8b4121dc04659",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 31790,
            "upload_time": "2024-02-28T22:26:23",
            "upload_time_iso_8601": "2024-02-28T22:26:23.933116Z",
            "url": "https://files.pythonhosted.org/packages/29/64/c6bec99bc8d2d2e9d928aa5af50993a0492e23f14c9d560e96e155dd5b84/gimli.units-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-28 22:26:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "csdms",
    "github_project": "gimli",
    "github_not_found": true,
    "lcname": "gimli.units"
}
        
Elapsed time: 0.19548s