Grackle
=======
.. image:: https://img.shields.io/badge/Users-List-lightgrey.svg
:target: https://groups.google.com/forum/#!forum/grackle-cooling-users
.. image:: https://circleci.com/gh/grackle-project/grackle/tree/main.svg?style=svg
:target: https://circleci.com/gh/grackle-project/grackle/tree/main
.. image:: https://readthedocs.org/projects/grackle/badge/?version=latest
:target: https://grackle.readthedocs.io/en/latest/?badge=latest)
`Documentation <https://grackle.readthedocs.io/en/latest/>`__ |
`Installation <https://grackle.readthedocs.io/en/latest/Installation.html>`__ |
`Gracklepy Installation <https://grackle.readthedocs.io/en/latest/Python.html>`__ |
`Usage Guide <https://grackle.readthedocs.io/en/latest/Interaction.html>`__ |
`Integration Guide <https://grackle.readthedocs.io/en/latest/Integration.html>`__ |
`Contributing <https://grackle.readthedocs.io/en/latest/Contributing.html>`__ |
`Getting Help <https://grackle.readthedocs.io/en/latest/Help.html>`__
.. COMMENT: README-MAIN-BODY-START-ANCHOR
Grackle is a chemistry and radiative cooling library for astrophysical simulations and models.
The core library provides interfaces for C, C++ and Fortran simulation codes.
The project also offers the Gracklepy package to provide Python bindings.
Features
--------
Grackle provides functions to update chemistry species; solve radiative
cooling and update internal energy; and calculate cooling time, temperature,
pressure, and ratio of specific heats (γ).
The library offers
- two options for primordial chemistry and cooling. It can (i) evolve a non-equilibrium chemistry network **OR** (ii) use tabulated cooling rates calculated with the photo-ionization code, `Cloudy <http://nublado.org>`__.
- tabulated metal cooling rates calculated with `Cloudy <http://nublado.org>`__.
- photo-heating and photo-ionization (with optional self-shielding corrections) from either the `Faucher-Giguere et al. (2009) <http://adsabs.harvard.edu/abs/2009ApJ...703.1416F>`__ or `Haardt & Madau (2012) <http://adsabs.harvard.edu/abs/2012ApJ...746..125H>`__ UV backgrounds.
- support for user-provided arrays of volumetric and specific heating rates.
Our `method paper <http://adsabs.harvard.edu/abs/2017MNRAS.466.2217S>`__ provides more information.
Projects that provide out-of-the-box support for Grackle
--------------------------------------------------------
Grackle is a popular tool (the `method paper <http://adsabs.harvard.edu/abs/2017MNRAS.466.2217S>`__ has over 300 citations) and has been used in a wide variety of calculations.
Below, we list open source projects that provide out-of-the-box support for Grackle:
`ChaNGa <https://github.com/N-BodyShop/changa>`__,
`Cholla <https://github.com/cholla-hydro/cholla>`__,
`Enzo <https://enzo-project.org/>`__,
`Enzo-E <https://enzo-e.readthedocs.io/en/latest/>`__,
`Gamer <https://github.com/gamer-project/gamer>`__,
`Gasoline <https://github.com/N-BodyShop/gasoline>`__,
`GIZMO <http://www.tapir.caltech.edu/~phopkins/Site/GIZMO.html>`__,
`Swift <https://github.com/SWIFTSIM/SWIFT>`__
We welcome PRs to add your simulation code (or python package) to this list.
Getting Grackle
---------------
Currently, the core Grackle library must be built from source.
If you only need Grackle as a dependency of a simulation code and that code is built with CMake, then that code's build system might be configured to automatically fetch, build, and link Grackle into the code for you (`Enzo-E <https://enzo-e.readthedocs.io/en/latest/>`__ is an example of a code configured in this manner).
If you contribute to a simulation code, our `Integration Guide <https://grackle.readthedocs.io/en/latest/Integration.html>`__ provides guidance on simplifying the process (for you and your users) of configuring your code to use Grackle.
Building the Core Grackle Library From Source
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Grackle requires a C99 compiler, a Fortran compiler, and HDF5 (1.6 or newer).
On most platforms, compilation with the CMake build system (3.16 or newer) is as simple as:
.. code-block:: shell-session
cmake -B build # configure the build-directory
cmake --build ./build # perform the build
You can invoke the examples from within the ``build/examples`` directory (`we're adding support <https://github.com/grackle-project/grackle/pull/246>`__ to let you run them from anywhere).
To build Grackle as a shared lib, replace the first command with ``cmake -DBUILD_SHARED_LIBS=ON -Bbuild``.
To install Grackle, invoke ``cmake --install ./build [--prefix <prefix/path>]`` (the optional part lets you specify an install-path).
For more details **(especially if you encounter any errors),** see our comprehensive `Installation Guide <https://grackle.readthedocs.io/en/latest/Installation.html>`__.
It provides more context for inexperienced CMake users, describes additional configuration options (relevant if you encounter issues), and describes Grackle's "classic" build-system.
Installing Gracklepy
~~~~~~~~~~~~~~~~~~~~
The easiest way to get Gracklepy is to invoke the following command
.. code-block:: shell-session
~/grackle $ pip install gracklepy
This will download a pre-built version (called a wheel) of Gracklepy from PyPI. This should "just work," unless you use a highly unusual system (if it fails please let us know).
Be aware that the vast majority of Grackle calculation requires Grackle's data files.
At this time you must download manually download these files (see the installation guide); we're working on streamlining this in the future.
For more about installation (and downloading data files), see our `Gracklepy installation guide <https://grackle.readthedocs.io/en/latest/Python.html>`__ .
**NOTE:** Gracklepy was formerly known as Pygrackle.
If you previously installed Pygrackle, you should uninstall it before you install GracklePy.
Getting Started
---------------
To help you start using Grackle, we provide:
- a `Usage Guide <https://grackle.readthedocs.io/en/latest/Interaction.html>`__
- example Grackle programs written in `C, C++, and Fortran <https://github.com/grackle-project/grackle/tree/main/src/example>`__
- an `Integration Guide <https://grackle.readthedocs.io/en/latest/Integration.html>`__ (for linking Grackle)
- a curated `guide <https://grackle.readthedocs.io/en/latest/Python.html#running-the-example-scripts>`__ for the Gracklepy examples
Contributing
------------
Grackle is a community project!
We welcome patches, features, and bugfixes from any member of the community!
For more details, please see our `Constribution Guide <https://grackle.readthedocs.io/en/latest/Contributing.html>`__ and our `Code of Conduct <https://grackle.readthedocs.io/en/latest/Conduct.html>`__
Citing Grackle
--------------
If you use Grackle please cite it.
More instructions are provided `here <https://grackle.readthedocs.io/en/latest/Citing.html>`__.
Raw data
{
"_id": null,
"home_page": null,
"name": "gracklepy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "simulation, chemistry, cooling, astronomy, astrophysics",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c0/7b/2ff3458bd01cd6d6a1425bf9de7d88ef6c38df4787b3318783a0b8f371b6/gracklepy-1.2.tar.gz",
"platform": null,
"description": "Grackle\n=======\n\n\n.. image:: https://img.shields.io/badge/Users-List-lightgrey.svg\n :target: https://groups.google.com/forum/#!forum/grackle-cooling-users\n\n.. image:: https://circleci.com/gh/grackle-project/grackle/tree/main.svg?style=svg\n :target: https://circleci.com/gh/grackle-project/grackle/tree/main\n\n.. image:: https://readthedocs.org/projects/grackle/badge/?version=latest\n :target: https://grackle.readthedocs.io/en/latest/?badge=latest)\n\n`Documentation <https://grackle.readthedocs.io/en/latest/>`__ |\n`Installation <https://grackle.readthedocs.io/en/latest/Installation.html>`__ |\n`Gracklepy Installation <https://grackle.readthedocs.io/en/latest/Python.html>`__ |\n`Usage Guide <https://grackle.readthedocs.io/en/latest/Interaction.html>`__ |\n`Integration Guide <https://grackle.readthedocs.io/en/latest/Integration.html>`__ |\n`Contributing <https://grackle.readthedocs.io/en/latest/Contributing.html>`__ |\n`Getting Help <https://grackle.readthedocs.io/en/latest/Help.html>`__\n\n.. COMMENT: README-MAIN-BODY-START-ANCHOR\n\nGrackle is a chemistry and radiative cooling library for astrophysical simulations and models.\nThe core library provides interfaces for C, C++ and Fortran simulation codes.\nThe project also offers the Gracklepy package to provide Python bindings.\n\nFeatures\n--------\n\nGrackle provides functions to update chemistry species; solve radiative\ncooling and update internal energy; and calculate cooling time, temperature,\npressure, and ratio of specific heats (\u03b3).\nThe library offers\n\n- two options for primordial chemistry and cooling. It can (i) evolve a non-equilibrium chemistry network **OR** (ii) use tabulated cooling rates calculated with the photo-ionization code, `Cloudy <http://nublado.org>`__.\n\n- tabulated metal cooling rates calculated with `Cloudy <http://nublado.org>`__.\n\n- photo-heating and photo-ionization (with optional self-shielding corrections) from either the `Faucher-Giguere et al. (2009) <http://adsabs.harvard.edu/abs/2009ApJ...703.1416F>`__ or `Haardt & Madau (2012) <http://adsabs.harvard.edu/abs/2012ApJ...746..125H>`__ UV backgrounds.\n\n- support for user-provided arrays of volumetric and specific heating rates.\n\nOur `method paper <http://adsabs.harvard.edu/abs/2017MNRAS.466.2217S>`__ provides more information.\n\nProjects that provide out-of-the-box support for Grackle\n--------------------------------------------------------\n\nGrackle is a popular tool (the `method paper <http://adsabs.harvard.edu/abs/2017MNRAS.466.2217S>`__ has over 300 citations) and has been used in a wide variety of calculations.\nBelow, we list open source projects that provide out-of-the-box support for Grackle:\n\n`ChaNGa <https://github.com/N-BodyShop/changa>`__,\n`Cholla <https://github.com/cholla-hydro/cholla>`__,\n`Enzo <https://enzo-project.org/>`__,\n`Enzo-E <https://enzo-e.readthedocs.io/en/latest/>`__,\n`Gamer <https://github.com/gamer-project/gamer>`__,\n`Gasoline <https://github.com/N-BodyShop/gasoline>`__,\n`GIZMO <http://www.tapir.caltech.edu/~phopkins/Site/GIZMO.html>`__,\n`Swift <https://github.com/SWIFTSIM/SWIFT>`__\n\n We welcome PRs to add your simulation code (or python package) to this list.\n\nGetting Grackle\n---------------\n\nCurrently, the core Grackle library must be built from source.\nIf you only need Grackle as a dependency of a simulation code and that code is built with CMake, then that code's build system might be configured to automatically fetch, build, and link Grackle into the code for you (`Enzo-E <https://enzo-e.readthedocs.io/en/latest/>`__ is an example of a code configured in this manner).\n\nIf you contribute to a simulation code, our `Integration Guide <https://grackle.readthedocs.io/en/latest/Integration.html>`__ provides guidance on simplifying the process (for you and your users) of configuring your code to use Grackle.\n\nBuilding the Core Grackle Library From Source\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nGrackle requires a C99 compiler, a Fortran compiler, and HDF5 (1.6 or newer).\nOn most platforms, compilation with the CMake build system (3.16 or newer) is as simple as:\n\n.. code-block:: shell-session\n\n cmake -B build # configure the build-directory\n cmake --build ./build # perform the build\n\nYou can invoke the examples from within the ``build/examples`` directory (`we're adding support <https://github.com/grackle-project/grackle/pull/246>`__ to let you run them from anywhere).\nTo build Grackle as a shared lib, replace the first command with ``cmake -DBUILD_SHARED_LIBS=ON -Bbuild``.\nTo install Grackle, invoke ``cmake --install ./build [--prefix <prefix/path>]`` (the optional part lets you specify an install-path).\n\nFor more details **(especially if you encounter any errors),** see our comprehensive `Installation Guide <https://grackle.readthedocs.io/en/latest/Installation.html>`__.\nIt provides more context for inexperienced CMake users, describes additional configuration options (relevant if you encounter issues), and describes Grackle's \"classic\" build-system.\n\nInstalling Gracklepy\n~~~~~~~~~~~~~~~~~~~~\n\nThe easiest way to get Gracklepy is to invoke the following command\n\n.. code-block:: shell-session\n\n ~/grackle $ pip install gracklepy\n\nThis will download a pre-built version (called a wheel) of Gracklepy from PyPI. This should \"just work,\" unless you use a highly unusual system (if it fails please let us know).\n\nBe aware that the vast majority of Grackle calculation requires Grackle's data files.\nAt this time you must download manually download these files (see the installation guide); we're working on streamlining this in the future.\n\nFor more about installation (and downloading data files), see our `Gracklepy installation guide <https://grackle.readthedocs.io/en/latest/Python.html>`__ .\n\n**NOTE:** Gracklepy was formerly known as Pygrackle.\nIf you previously installed Pygrackle, you should uninstall it before you install GracklePy.\n\nGetting Started\n---------------\n\nTo help you start using Grackle, we provide:\n\n- a `Usage Guide <https://grackle.readthedocs.io/en/latest/Interaction.html>`__\n- example Grackle programs written in `C, C++, and Fortran <https://github.com/grackle-project/grackle/tree/main/src/example>`__\n- an `Integration Guide <https://grackle.readthedocs.io/en/latest/Integration.html>`__ (for linking Grackle)\n- a curated `guide <https://grackle.readthedocs.io/en/latest/Python.html#running-the-example-scripts>`__ for the Gracklepy examples\n\nContributing\n------------\n\nGrackle is a community project!\nWe welcome patches, features, and bugfixes from any member of the community!\nFor more details, please see our `Constribution Guide <https://grackle.readthedocs.io/en/latest/Contributing.html>`__ and our `Code of Conduct <https://grackle.readthedocs.io/en/latest/Conduct.html>`__\n\nCiting Grackle\n--------------\n\nIf you use Grackle please cite it.\nMore instructions are provided `here <https://grackle.readthedocs.io/en/latest/Citing.html>`__.\n",
"bugtrack_url": null,
"license": "BSD 3-Clause",
"summary": "A wrapper for the Grackle chemistry library",
"version": "1.2",
"project_urls": {
"Documentation": "https://grackle.readthedocs.io/",
"Homepage": "https://github.com/grackle-project/grackle",
"Source": "https://github.com/grackle-project/grackle",
"Tracker": "https://github.com/grackle-project/grackle/issues"
},
"split_keywords": [
"simulation",
" chemistry",
" cooling",
" astronomy",
" astrophysics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0c7116dd0af1655b8269b59748fc3acacb313541b9b88c0e8dcd52114fecdae7",
"md5": "92115f4829035c6f7fa730311a25618b",
"sha256": "29e8e92c9415bfa5dc07ff0991e5bb38b49422b77d3ead4819d117f9c2c78e80"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp310-cp310-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "92115f4829035c6f7fa730311a25618b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 4121649,
"upload_time": "2025-08-22T19:06:30",
"upload_time_iso_8601": "2025-08-22T19:06:30.145799Z",
"url": "https://files.pythonhosted.org/packages/0c/71/16dd0af1655b8269b59748fc3acacb313541b9b88c0e8dcd52114fecdae7/gracklepy-1.2-cp310-cp310-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f11056bee783d8337ba7c610ed4494897e22cd88dcd38b909c473a24f5cbfa5b",
"md5": "249652514ab205cc619acc58701b3f37",
"sha256": "e5af38dee8735bb1b749c47972e6c057510b548b7bd854a44809eda81c017fd6"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp310-cp310-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "249652514ab205cc619acc58701b3f37",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 2261472,
"upload_time": "2025-08-22T19:06:31",
"upload_time_iso_8601": "2025-08-22T19:06:31.994748Z",
"url": "https://files.pythonhosted.org/packages/f1/10/56bee783d8337ba7c610ed4494897e22cd88dcd38b909c473a24f5cbfa5b/gracklepy-1.2-cp310-cp310-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7c2e1e9550fb9814fd27cde96b452fd81d4a88bfa7cf09107d0619af4bc727e3",
"md5": "0319d2e4afce7fb8778a10d770b18e09",
"sha256": "ac7625978204e789f31261a5d42cbf99efc83d1bb54e00f9e2108835b66e4f1b"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp310-cp310-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "0319d2e4afce7fb8778a10d770b18e09",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 3197700,
"upload_time": "2025-08-22T19:06:33",
"upload_time_iso_8601": "2025-08-22T19:06:33.455421Z",
"url": "https://files.pythonhosted.org/packages/7c/2e/1e9550fb9814fd27cde96b452fd81d4a88bfa7cf09107d0619af4bc727e3/gracklepy-1.2-cp310-cp310-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "37d685b015489bd833225bb9773dd1e36bf9dde51bed9f7c12043a8752b160c3",
"md5": "65e944b695f1cf149e6de3c947f4e30c",
"sha256": "da29539c7b011f7970542f65556cd6337c0d9050ed83f7fb42289549602b9d6b"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "65e944b695f1cf149e6de3c947f4e30c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 3572694,
"upload_time": "2025-08-22T19:06:34",
"upload_time_iso_8601": "2025-08-22T19:06:34.908120Z",
"url": "https://files.pythonhosted.org/packages/37/d6/85b015489bd833225bb9773dd1e36bf9dde51bed9f7c12043a8752b160c3/gracklepy-1.2-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d8d4a702d791f7774bae68a2283db16e79365c8ba6e6d6325b03bfcf6aa2a21a",
"md5": "8018403451a4f119c72e29aa3d921e9d",
"sha256": "264d4218633dc426a88ff27ad05eddc7e0527aa18ee7b766738427ca24618f7c"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp311-cp311-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "8018403451a4f119c72e29aa3d921e9d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 4144126,
"upload_time": "2025-08-22T19:06:36",
"upload_time_iso_8601": "2025-08-22T19:06:36.750586Z",
"url": "https://files.pythonhosted.org/packages/d8/d4/a702d791f7774bae68a2283db16e79365c8ba6e6d6325b03bfcf6aa2a21a/gracklepy-1.2-cp311-cp311-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "488e30ec48e5217d0ed55eda808ca346294fb1363bc99ff66fd4edb2991667f8",
"md5": "0f333edbb99418649db5ed3ddb397c0a",
"sha256": "f562b1cb0fd245962a2fe97f01ef87c05f55e96dd85b38221c72862368ac3562"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp311-cp311-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "0f333edbb99418649db5ed3ddb397c0a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 2283958,
"upload_time": "2025-08-22T19:06:38",
"upload_time_iso_8601": "2025-08-22T19:06:38.483804Z",
"url": "https://files.pythonhosted.org/packages/48/8e/30ec48e5217d0ed55eda808ca346294fb1363bc99ff66fd4edb2991667f8/gracklepy-1.2-cp311-cp311-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "88af02090b3a1777639244fecba8946c0096b1746c0ae78583e76ac5a55d28f6",
"md5": "b43dee4031ce5974ab0ef95a2e5c91c0",
"sha256": "e6c92b762d26cf185148d0af17134ce634f69ff1fb2c5fd071e2e7f66b976e6e"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp311-cp311-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "b43dee4031ce5974ab0ef95a2e5c91c0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 3220188,
"upload_time": "2025-08-22T19:06:39",
"upload_time_iso_8601": "2025-08-22T19:06:39.873270Z",
"url": "https://files.pythonhosted.org/packages/88/af/02090b3a1777639244fecba8946c0096b1746c0ae78583e76ac5a55d28f6/gracklepy-1.2-cp311-cp311-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "43af6e4cedead489e5caacbd91195038d5892b6b1e0978b02726e71c8a6b44cb",
"md5": "c3b789e55be1a1c32b411b185533e8b2",
"sha256": "b7fdaa85e9beb67387887fe3d3b2453f9826474a341555d5b3eb1aff0b19f690"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "c3b789e55be1a1c32b411b185533e8b2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 3593416,
"upload_time": "2025-08-22T19:06:41",
"upload_time_iso_8601": "2025-08-22T19:06:41.580472Z",
"url": "https://files.pythonhosted.org/packages/43/af/6e4cedead489e5caacbd91195038d5892b6b1e0978b02726e71c8a6b44cb/gracklepy-1.2-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4172efe480d11b160f84be6b0d59c171530a452da4614974067d16c1e7592e6f",
"md5": "d76d1bec13c54dff4cd418a2e97cb748",
"sha256": "3fc9e4d980ce728b289165f3901c9bbb9b107e16e2a22ad6195e1f95d0704cfb"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp312-cp312-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "d76d1bec13c54dff4cd418a2e97cb748",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 4167158,
"upload_time": "2025-08-22T19:06:43",
"upload_time_iso_8601": "2025-08-22T19:06:43.285091Z",
"url": "https://files.pythonhosted.org/packages/41/72/efe480d11b160f84be6b0d59c171530a452da4614974067d16c1e7592e6f/gracklepy-1.2-cp312-cp312-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8d741cb8072a71a14e24eafc292a1f2b90f92ca53502e42e0a19de4551c3a3a2",
"md5": "9630df420809fadeaba17f0f93d3227d",
"sha256": "3ec0c4ba20e055d22778bc2746d2f8ef158702b555d1d82781e930fcb8b90d2b"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp312-cp312-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "9630df420809fadeaba17f0f93d3227d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 2305286,
"upload_time": "2025-08-22T19:06:45",
"upload_time_iso_8601": "2025-08-22T19:06:45.185798Z",
"url": "https://files.pythonhosted.org/packages/8d/74/1cb8072a71a14e24eafc292a1f2b90f92ca53502e42e0a19de4551c3a3a2/gracklepy-1.2-cp312-cp312-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1b4f5a0b2ec07541145e6faca84fc4d84d090e4f1206adfd6c8913672aea331a",
"md5": "9119b6518bdef229c3c642aadbecb029",
"sha256": "28f138c1c5f8d1f846e37079569f6c80f55a1f1849b63eebd0d14aa3897aaa0f"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp312-cp312-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "9119b6518bdef229c3c642aadbecb029",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 3233581,
"upload_time": "2025-08-22T19:06:46",
"upload_time_iso_8601": "2025-08-22T19:06:46.840304Z",
"url": "https://files.pythonhosted.org/packages/1b/4f/5a0b2ec07541145e6faca84fc4d84d090e4f1206adfd6c8913672aea331a/gracklepy-1.2-cp312-cp312-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc21d268794a54cc4c08142334ee571c8df3bb4c6ebc27863cc363b764462e13",
"md5": "e341a154b4a14077cd61ad5743036678",
"sha256": "3dc3cb239a7a5b8fc02d8d7d744d80100c412bd14d320a5a79de1ed50f51f33c"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "e341a154b4a14077cd61ad5743036678",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 3609246,
"upload_time": "2025-08-22T19:06:48",
"upload_time_iso_8601": "2025-08-22T19:06:48.705202Z",
"url": "https://files.pythonhosted.org/packages/fc/21/d268794a54cc4c08142334ee571c8df3bb4c6ebc27863cc363b764462e13/gracklepy-1.2-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "40dc5574c1f9f2839163bb5115b3f5885237e9c38c1dac85c63a5a5ed28d2274",
"md5": "f15498f711b5fcc16fc79fb213063156",
"sha256": "2059ab846204fbaa7337204f407ed8bfde18b8c051ef9c7acb42902c6e7bc2b9"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp313-cp313-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "f15498f711b5fcc16fc79fb213063156",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 4185788,
"upload_time": "2025-08-22T19:06:50",
"upload_time_iso_8601": "2025-08-22T19:06:50.149944Z",
"url": "https://files.pythonhosted.org/packages/40/dc/5574c1f9f2839163bb5115b3f5885237e9c38c1dac85c63a5a5ed28d2274/gracklepy-1.2-cp313-cp313-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "129a2055473ab07aaa47f7aa8074c76ed658a25374d7d7b9c6741cd9e70f47c9",
"md5": "50dcbe0075001e0d3a010764a22ea78c",
"sha256": "2f24c093fcb98f48d1f291371caab85f6fc28c121a89a1cc05ece8bb81d1851c"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp313-cp313-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "50dcbe0075001e0d3a010764a22ea78c",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 2325273,
"upload_time": "2025-08-22T19:06:51",
"upload_time_iso_8601": "2025-08-22T19:06:51.532358Z",
"url": "https://files.pythonhosted.org/packages/12/9a/2055473ab07aaa47f7aa8074c76ed658a25374d7d7b9c6741cd9e70f47c9/gracklepy-1.2-cp313-cp313-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "31c9940e20661808e716443ba738be73795f1736d40c2a88fadba2179a09dc37",
"md5": "215ea66e2421415226730ab9e44ac4df",
"sha256": "6a5658431bd12504538fad469b8ac1d59cb32fe4fed5475ad845fa7c43499654"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp313-cp313-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "215ea66e2421415226730ab9e44ac4df",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 3254828,
"upload_time": "2025-08-22T19:06:53",
"upload_time_iso_8601": "2025-08-22T19:06:53.229286Z",
"url": "https://files.pythonhosted.org/packages/31/c9/940e20661808e716443ba738be73795f1736d40c2a88fadba2179a09dc37/gracklepy-1.2-cp313-cp313-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "30aef3a592fc30bbab235986e161350f27d8f482a3e0fea943f134144a13cbcf",
"md5": "607c514f1160899881ef9900514c6d93",
"sha256": "88c8077b580b526d00975acda751a76376de48996952922d771e68c10afae3dd"
},
"downloads": -1,
"filename": "gracklepy-1.2-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "607c514f1160899881ef9900514c6d93",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 3630232,
"upload_time": "2025-08-22T19:06:54",
"upload_time_iso_8601": "2025-08-22T19:06:54.589975Z",
"url": "https://files.pythonhosted.org/packages/30/ae/f3a592fc30bbab235986e161350f27d8f482a3e0fea943f134144a13cbcf/gracklepy-1.2-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c07b2ff3458bd01cd6d6a1425bf9de7d88ef6c38df4787b3318783a0b8f371b6",
"md5": "eec69b8737eeaf1101bc9b70e385aa46",
"sha256": "9da5fc4a2ca2dc9739f6042f09d546fed583d6d0ac9cdfb5e4bfb9cadbbae969"
},
"downloads": -1,
"filename": "gracklepy-1.2.tar.gz",
"has_sig": false,
"md5_digest": "eec69b8737eeaf1101bc9b70e385aa46",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 348232,
"upload_time": "2025-08-22T19:06:56",
"upload_time_iso_8601": "2025-08-22T19:06:56.241139Z",
"url": "https://files.pythonhosted.org/packages/c0/7b/2ff3458bd01cd6d6a1425bf9de7d88ef6c38df4787b3318783a0b8f371b6/gracklepy-1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 19:06:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "grackle-project",
"github_project": "grackle",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"circle": true,
"lcname": "gracklepy"
}