prek


Nameprek JSON
Version 0.1.4 PyPI version JSON
download
home_pagehttps://github.com/j178/prek
SummaryBetter `pre-commit`, re-engineered in Rust
upload_time2025-08-26 16:27:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords pre-commit git hooks
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

# prek

<img width="220" alt="prek" src="https://github.com/user-attachments/assets/3a87815a-9f3c-48e7-8c1d-384b07ad3b35" />

[![CI](https://github.com/j178/prek/actions/workflows/ci.yml/badge.svg)](https://github.com/j178/prek/actions/workflows/ci.yml)
[![GitHub downloads](https://img.shields.io/github/downloads/j178/prek/total?logo=github)](https://github.com/j178/prek/releases)
[![PyPI Downloads](https://static.pepy.tech/badge/prek)](https://pepy.tech/projects/prek)
[![Discord](https://img.shields.io/discord/1403581202102878289?logo=discord)](https://discord.gg/3NRJUqJz86)

</div>

[pre-commit](https://pre-commit.com/) is a framework to run hooks written in many languages, and it manages the
language toolchain and dependencies for running the hooks.

prek is a reimagined version of pre-commit, built in Rust.
It is designed to be a faster, dependency-free and drop-in alternative for it,
while also providing some additional long-requested features.

> [!WARNING]
> This project was previously named `prefligit`, but it has been renamed to `prek` to avoid typosquatting issues.

> [!WARNING]
> It is not production-ready yet, some subcommands and languages are still not implemented, but feel free to try it out and provide feedback.
>
> Current supported languages are `python`, `node`, `go`, `docker`, `docker-image`, `pygrep`, `system`, `script` and `fail`.

## Features

- 🚀 A single binary with no dependencies, does not require Python or any other runtime.
- ⚡ About [10x faster](https://github.com/j178/prek/blob/master/docs/BENCHMARK.md) than `pre-commit` and uses only a third of disk space.
- 🔄 Fully compatible with the original pre-commit configurations and hooks.
- 🐍 Integration with [`uv`](https://github.com/astral-sh/uv) for managing Python virtual environments and dependencies.
- 🛠️ Improved toolchain installations for Python, Node.js, Go, Rust and Ruby, shared between hooks.
- 📦 Built-in implementation of some common hooks.
- 🏗️ (TODO) Built-in support for monorepos.

## How to migrate

prek is designed as a drop-in replacement:

- [Install prek](#installation)
- Replace `pre-commit` with `prek` in your commands
- Your existing `.pre-commit-config.yaml` works unchanged

```console
$ prek run
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
typos....................................................................Passed
cargo fmt................................................................Passed
cargo clippy.............................................................Passed
```

For configuring `.pre-commit-config.yaml` and writing hooks, you can refer to the [pre-commit documentation](https://pre-commit.com/) as prek is fully compatible with it.

## Why prek?

### prek is way faster

- It is about [10x faster](https://github.com/j178/prek/blob/master/docs/BENCHMARK.md) than `pre-commit` and uses only a third of disk space.
- It redesigned how hook environments and toolchains are managed, they are all shared between hooks, which reduces the disk space usage and speeds up the installation process.
- Repositories are cloned in parallel, and hooks are installed in parallel if their dependencies are disjoint.
- It uses [`uv`](https://github.com/astral-sh/uv) for creating Python virtualenvs and installing dependencies, which is known for its speed and efficiency.
- It implements some common hooks in Rust, built in prek, which are faster than their Python counterparts.

### prek provides a better user experience

- No need to install Python or any other runtime, just download a single binary.
- No hassle with your Python version or virtual environments, prek automatically installs the required Python version and creates a virtual environment for you.
- (TODO): Built-in support for workspaces (or monorepos), each subproject can have its own `.pre-commit-config.yaml` file.
- `prek run` has some improvements over `pre-commit run`, such as:
    - `prek run --directory <dir>` runs hooks for files in the specified directory, no need to use `git ls-files -- <dir> | xargs pre-commit run --files` anymore.
    - `prek run --last-commit` runs hooks for files changed in the last commit.
- `prek list` command lists all available hooks, their ids, and descriptions, providing a better overview of the configured hooks.
- prek provides shell completions for `prek run <hook_id>` command, making it easier to run specific hooks without remembering their ids.

## Who are using prek?

prek is pretty new, but it is already being used or recommend by some projects and organizations:

- [Airflow](https://github.com/apache/airflow/issues/44995)
- [PDM](https://github.com/pdm-project/pdm/pull/3593)
- [basedpyright](https://github.com/DetachHead/basedpyright/pull/1413)
- [OpenLineage](https://github.com/OpenLineage/OpenLineage/pull/3965)
- [Authlib](https://github.com/authlib/authlib/pull/804)

## Installation

<details>
<summary>Standalone installer</summary>

prek provides a standalone installer script to download and install the tool:

```console
# On Linux and macOS
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.1.4/prek-installer.sh | sh

# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://github.com/j178/prek/releases/download/v0.1.4/prek-installer.ps1 | iex"
```
</details>

<details>
<summary>PyPI</summary>

prek is published as Python binary wheel to PyPI, you can install it using `pip`, `uv` (recommended), or `pipx`:

```console
pip install prek

# or

uv tool install prek

# or

pipx install prek
```
</details>

<details>
<summary>Homebrew</summary>

```console
brew install prek
```
</details>

<details>
<summary>mise</summary>

```console
mise use prek
```
</details>

<details>
<summary>Cargo</summary>

Build from source using Cargo:

```console
cargo install --locked --git https://github.com/j178/prek
```
</details>

<details>
<summary>GitHub Releases</summary>

prek release artifacts can be downloaded directly from the [GitHub releases](https://github.com/j178/prek/releases).
</details>

If installed via the standalone installer, prek can update itself to the latest version:

```console
$ prek self update
```

## Acknowledgements

This project is heavily inspired by the original [pre-commit](https://pre-commit.com/) tool, and it wouldn't be possible without the hard work
of the maintainers and contributors of that project.

And a special thanks to the [Astral](https://github.com/astral-sh) team for their remarkable projects, particularly [uv](https://github.com/astral-sh/uv),
from which I've learned a lot on how to write efficient and idiomatic Rust code.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/j178/prek",
    "name": "prek",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "pre-commit, git, hooks",
    "author": null,
    "author_email": "j178 <hi@j178.dev>",
    "download_url": "https://files.pythonhosted.org/packages/ae/59/853fa5dcdf4a60dcb81bb7815e4a2c0732563775601087bdbf0f2c975653/prek-0.1.4.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n# prek\n\n<img width=\"220\" alt=\"prek\" src=\"https://github.com/user-attachments/assets/3a87815a-9f3c-48e7-8c1d-384b07ad3b35\" />\n\n[![CI](https://github.com/j178/prek/actions/workflows/ci.yml/badge.svg)](https://github.com/j178/prek/actions/workflows/ci.yml)\n[![GitHub downloads](https://img.shields.io/github/downloads/j178/prek/total?logo=github)](https://github.com/j178/prek/releases)\n[![PyPI Downloads](https://static.pepy.tech/badge/prek)](https://pepy.tech/projects/prek)\n[![Discord](https://img.shields.io/discord/1403581202102878289?logo=discord)](https://discord.gg/3NRJUqJz86)\n\n</div>\n\n[pre-commit](https://pre-commit.com/) is a framework to run hooks written in many languages, and it manages the\nlanguage toolchain and dependencies for running the hooks.\n\nprek is a reimagined version of pre-commit, built in Rust.\nIt is designed to be a faster, dependency-free and drop-in alternative for it,\nwhile also providing some additional long-requested features.\n\n> [!WARNING]\n> This project was previously named `prefligit`, but it has been renamed to `prek` to avoid typosquatting issues.\n\n> [!WARNING]\n> It is not production-ready yet, some subcommands and languages are still not implemented, but feel free to try it out and provide feedback.\n>\n> Current supported languages are `python`, `node`, `go`, `docker`, `docker-image`, `pygrep`, `system`, `script` and `fail`.\n\n## Features\n\n- \ud83d\ude80 A single binary with no dependencies, does not require Python or any other runtime.\n- \u26a1 About [10x faster](https://github.com/j178/prek/blob/master/docs/BENCHMARK.md) than `pre-commit` and uses only a third of disk space.\n- \ud83d\udd04 Fully compatible with the original pre-commit configurations and hooks.\n- \ud83d\udc0d Integration with [`uv`](https://github.com/astral-sh/uv) for managing Python virtual environments and dependencies.\n- \ud83d\udee0\ufe0f Improved toolchain installations for Python, Node.js, Go, Rust and Ruby, shared between hooks.\n- \ud83d\udce6 Built-in implementation of some common hooks.\n- \ud83c\udfd7\ufe0f (TODO) Built-in support for monorepos.\n\n## How to migrate\n\nprek is designed as a drop-in replacement:\n\n- [Install prek](#installation)\n- Replace `pre-commit` with `prek` in your commands\n- Your existing `.pre-commit-config.yaml` works unchanged\n\n```console\n$ prek run\ntrim trailing whitespace.................................................Passed\nfix end of files.........................................................Passed\ntypos....................................................................Passed\ncargo fmt................................................................Passed\ncargo clippy.............................................................Passed\n```\n\nFor configuring `.pre-commit-config.yaml` and writing hooks, you can refer to the [pre-commit documentation](https://pre-commit.com/) as prek is fully compatible with it.\n\n## Why prek?\n\n### prek is way faster\n\n- It is about [10x faster](https://github.com/j178/prek/blob/master/docs/BENCHMARK.md) than `pre-commit` and uses only a third of disk space.\n- It redesigned how hook environments and toolchains are managed, they are all shared between hooks, which reduces the disk space usage and speeds up the installation process.\n- Repositories are cloned in parallel, and hooks are installed in parallel if their dependencies are disjoint.\n- It uses [`uv`](https://github.com/astral-sh/uv) for creating Python virtualenvs and installing dependencies, which is known for its speed and efficiency.\n- It implements some common hooks in Rust, built in prek, which are faster than their Python counterparts.\n\n### prek provides a better user experience\n\n- No need to install Python or any other runtime, just download a single binary.\n- No hassle with your Python version or virtual environments, prek automatically installs the required Python version and creates a virtual environment for you.\n- (TODO): Built-in support for workspaces (or monorepos), each subproject can have its own `.pre-commit-config.yaml` file.\n- `prek run` has some improvements over `pre-commit run`, such as:\n    - `prek run --directory <dir>` runs hooks for files in the specified directory, no need to use `git ls-files -- <dir> | xargs pre-commit run --files` anymore.\n    - `prek run --last-commit` runs hooks for files changed in the last commit.\n- `prek list` command lists all available hooks, their ids, and descriptions, providing a better overview of the configured hooks.\n- prek provides shell completions for `prek run <hook_id>` command, making it easier to run specific hooks without remembering their ids.\n\n## Who are using prek?\n\nprek is pretty new, but it is already being used or recommend by some projects and organizations:\n\n- [Airflow](https://github.com/apache/airflow/issues/44995)\n- [PDM](https://github.com/pdm-project/pdm/pull/3593)\n- [basedpyright](https://github.com/DetachHead/basedpyright/pull/1413)\n- [OpenLineage](https://github.com/OpenLineage/OpenLineage/pull/3965)\n- [Authlib](https://github.com/authlib/authlib/pull/804)\n\n## Installation\n\n<details>\n<summary>Standalone installer</summary>\n\nprek provides a standalone installer script to download and install the tool:\n\n```console\n# On Linux and macOS\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.1.4/prek-installer.sh | sh\n\n# On Windows\npowershell -ExecutionPolicy ByPass -c \"irm https://github.com/j178/prek/releases/download/v0.1.4/prek-installer.ps1 | iex\"\n```\n</details>\n\n<details>\n<summary>PyPI</summary>\n\nprek is published as Python binary wheel to PyPI, you can install it using `pip`, `uv` (recommended), or `pipx`:\n\n```console\npip install prek\n\n# or\n\nuv tool install prek\n\n# or\n\npipx install prek\n```\n</details>\n\n<details>\n<summary>Homebrew</summary>\n\n```console\nbrew install prek\n```\n</details>\n\n<details>\n<summary>mise</summary>\n\n```console\nmise use prek\n```\n</details>\n\n<details>\n<summary>Cargo</summary>\n\nBuild from source using Cargo:\n\n```console\ncargo install --locked --git https://github.com/j178/prek\n```\n</details>\n\n<details>\n<summary>GitHub Releases</summary>\n\nprek release artifacts can be downloaded directly from the [GitHub releases](https://github.com/j178/prek/releases).\n</details>\n\nIf installed via the standalone installer, prek can update itself to the latest version:\n\n```console\n$ prek self update\n```\n\n## Acknowledgements\n\nThis project is heavily inspired by the original [pre-commit](https://pre-commit.com/) tool, and it wouldn't be possible without the hard work\nof the maintainers and contributors of that project.\n\nAnd a special thanks to the [Astral](https://github.com/astral-sh) team for their remarkable projects, particularly [uv](https://github.com/astral-sh/uv),\nfrom which I've learned a lot on how to write efficient and idiomatic Rust code.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Better `pre-commit`, re-engineered in Rust",
    "version": "0.1.4",
    "project_urls": {
        "Changelog": "https://github.com/j178/prek/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/j178/prek",
        "Releases": "https://github.com/j178/prek/releases",
        "Repository": "https://github.com/j178/prek"
    },
    "split_keywords": [
        "pre-commit",
        " git",
        " hooks"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "83553fb04b46052079c37b28c0eb47f1efede14680f44f61ec548dfe85470709",
                "md5": "958478c2c0403bdc7d26f9bce18b464b",
                "sha256": "e3f780061b411cafa38291f09ed1ae59c7c049f73c80fb2475a55212d917a879"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-linux_armv6l.whl",
            "has_sig": false,
            "md5_digest": "958478c2c0403bdc7d26f9bce18b464b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5739841,
            "upload_time": "2025-08-26T16:26:34",
            "upload_time_iso_8601": "2025-08-26T16:26:34.793081Z",
            "url": "https://files.pythonhosted.org/packages/83/55/3fb04b46052079c37b28c0eb47f1efede14680f44f61ec548dfe85470709/prek-0.1.4-py3-none-linux_armv6l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e0cd454bedcdebfc6b8ba346eeaa199f288335a78029a3da28981fbb0f33c900",
                "md5": "1f9745fc5f7dd0182214e5f512b777e3",
                "sha256": "cd35b7ce0571172dbf0e6b8046e28a892797e5605610c8daee6a34f882f4dae1"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1f9745fc5f7dd0182214e5f512b777e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5708220,
            "upload_time": "2025-08-26T16:26:37",
            "upload_time_iso_8601": "2025-08-26T16:26:37.571724Z",
            "url": "https://files.pythonhosted.org/packages/e0/cd/454bedcdebfc6b8ba346eeaa199f288335a78029a3da28981fbb0f33c900/prek-0.1.4-py3-none-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c1fc997700b247604f19d1738435196cff5615db7172b11e207c13f6f6b4939",
                "md5": "ac70237b5779cf5d41d9ea6ac89c4deb",
                "sha256": "af66aea634b3f937ebfd5dc908879bb385eb5c3d7a01ebd64c718e3fb1a41bd8"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ac70237b5779cf5d41d9ea6ac89c4deb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5499663,
            "upload_time": "2025-08-26T16:26:39",
            "upload_time_iso_8601": "2025-08-26T16:26:39.255931Z",
            "url": "https://files.pythonhosted.org/packages/8c/1f/c997700b247604f19d1738435196cff5615db7172b11e207c13f6f6b4939/prek-0.1.4-py3-none-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "670d18172fb238358065a9e7ec502f01e5d8b2b3d0cf05c85df2d2a6d0b46a60",
                "md5": "7af88631d513026f9015f0dd977f9fcb",
                "sha256": "948517dae92d06c94c895b44e08a0bf623907c1c87faafa47d18f9548d2e189b"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "7af88631d513026f9015f0dd977f9fcb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5905176,
            "upload_time": "2025-08-26T16:26:40",
            "upload_time_iso_8601": "2025-08-26T16:26:40.917198Z",
            "url": "https://files.pythonhosted.org/packages/67/0d/18172fb238358065a9e7ec502f01e5d8b2b3d0cf05c85df2d2a6d0b46a60/prek-0.1.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "898d4b32bb2a0dcd9d5aa88833bb89725c91150f050f73654b682fe40b5cf006",
                "md5": "1c9e46145b23a41573e73474198da43b",
                "sha256": "9f510926a8252e9eaff20445ef4b261ad5e75a1b80bd0804e1d3135d93b5c5f6"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "1c9e46145b23a41573e73474198da43b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5649955,
            "upload_time": "2025-08-26T16:26:42",
            "upload_time_iso_8601": "2025-08-26T16:26:42.926938Z",
            "url": "https://files.pythonhosted.org/packages/89/8d/4b32bb2a0dcd9d5aa88833bb89725c91150f050f73654b682fe40b5cf006/prek-0.1.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5488f7f148c1f2ba3f8a653910ef397fde474eb731a5ccb1b0951f00945905f1",
                "md5": "68e6eb30a1d4ddd0e4125122b3de4a2d",
                "sha256": "90b323bdee83eac3ef84411b5b039663a9f0e015c95d3a87b5e46e1fbb8be954"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "68e6eb30a1d4ddd0e4125122b3de4a2d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6299615,
            "upload_time": "2025-08-26T16:26:44",
            "upload_time_iso_8601": "2025-08-26T16:26:44.443944Z",
            "url": "https://files.pythonhosted.org/packages/54/88/f7f148c1f2ba3f8a653910ef397fde474eb731a5ccb1b0951f00945905f1/prek-0.1.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c79ee7d937ee29e2c0b764e9f7875b7e436473308d7203b4b124682dab831d1d",
                "md5": "ca699388c946a1a61f86eae9ed8b5dd2",
                "sha256": "766f2b079b0e226d7c1cc0f6a69b571418cb6d69a33c07d3c8553aad60f35814"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "ca699388c946a1a61f86eae9ed8b5dd2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6697758,
            "upload_time": "2025-08-26T16:26:48",
            "upload_time_iso_8601": "2025-08-26T16:26:48.107743Z",
            "url": "https://files.pythonhosted.org/packages/c7/9e/e7d937ee29e2c0b764e9f7875b7e436473308d7203b4b124682dab831d1d/prek-0.1.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4167f14d0f38432fc354cc5f7a3c9dcc44d4c26c1eaf60b5d56a02e36a2dbe1f",
                "md5": "7011e38dfa33a56fb9e061491c59998e",
                "sha256": "4b37309b759c3ad4078db59f56f422f838e1be4fbb19139c546e3260281b133b"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "7011e38dfa33a56fb9e061491c59998e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6942078,
            "upload_time": "2025-08-26T16:26:46",
            "upload_time_iso_8601": "2025-08-26T16:26:46.394200Z",
            "url": "https://files.pythonhosted.org/packages/41/67/f14d0f38432fc354cc5f7a3c9dcc44d4c26c1eaf60b5d56a02e36a2dbe1f/prek-0.1.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "de4f4cec77bbc8055b6ce19ecbdc6c976b5d21651b506defc3f5c65918cbe1db",
                "md5": "74959fe202a2175684b256663d0c99d7",
                "sha256": "3a84cc80371eef9df4be110a273d22973bb0af9cfc7861ca54eda2a7b3bcfcc4"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "74959fe202a2175684b256663d0c99d7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6148057,
            "upload_time": "2025-08-26T16:26:50",
            "upload_time_iso_8601": "2025-08-26T16:26:50.221382Z",
            "url": "https://files.pythonhosted.org/packages/de/4f/4cec77bbc8055b6ce19ecbdc6c976b5d21651b506defc3f5c65918cbe1db/prek-0.1.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "045665e074837171b62be12739144b621d1ea37cc7b7e46f25ee533b8988bfa4",
                "md5": "39057b54640b932428452610beff52e7",
                "sha256": "a5ccc166fb627e5d2cbbc2f212dc0b539657fed82b30ef0af8d004cfdd5a8a4a"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "39057b54640b932428452610beff52e7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6100017,
            "upload_time": "2025-08-26T16:26:51",
            "upload_time_iso_8601": "2025-08-26T16:26:51.996505Z",
            "url": "https://files.pythonhosted.org/packages/04/56/65e074837171b62be12739144b621d1ea37cc7b7e46f25ee533b8988bfa4/prek-0.1.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a993f0605dee5f9649a9665e28f2764104b7649282b1d30c4b71f8effd5d3438",
                "md5": "1c78b4ff110abd3a947dc33d2d04bef4",
                "sha256": "055e8e56560692cf16ea2c4582982a3eef3e039da8dcb216b72d3f39d198429f"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1c78b4ff110abd3a947dc33d2d04bef4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5948839,
            "upload_time": "2025-08-26T16:26:53",
            "upload_time_iso_8601": "2025-08-26T16:26:53.658459Z",
            "url": "https://files.pythonhosted.org/packages/a9/93/f0605dee5f9649a9665e28f2764104b7649282b1d30c4b71f8effd5d3438/prek-0.1.4-py3-none-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1c7c55a9aac8517737f89e0356b1a4fa259e7b157c3baa8545ad69408280f1de",
                "md5": "cf184cec0ae8c6633221928c73d1d231",
                "sha256": "0aedfee7dd52954939525e3d16ec64f1ccca430154ad43485c4d284291c4513c"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-manylinux_2_31_riscv64.whl",
            "has_sig": false,
            "md5_digest": "cf184cec0ae8c6633221928c73d1d231",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6000282,
            "upload_time": "2025-08-26T16:26:55",
            "upload_time_iso_8601": "2025-08-26T16:26:55.035181Z",
            "url": "https://files.pythonhosted.org/packages/1c/7c/55a9aac8517737f89e0356b1a4fa259e7b157c3baa8545ad69408280f1de/prek-0.1.4-py3-none-manylinux_2_31_riscv64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fd0f2df8bb7fc08b28e83e79fd2bacc9d06a26bc5d24545f83ba763cdc6e2e34",
                "md5": "e0506b5e6e84aa387ce6e64a6e83bc6d",
                "sha256": "3543539c32057891b726115f0c5fd56ea3d4bb0828b8cd9b72751679c08570cb"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e0506b5e6e84aa387ce6e64a6e83bc6d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5661161,
            "upload_time": "2025-08-26T16:26:56",
            "upload_time_iso_8601": "2025-08-26T16:26:56.882724Z",
            "url": "https://files.pythonhosted.org/packages/fd/0f/2df8bb7fc08b28e83e79fd2bacc9d06a26bc5d24545f83ba763cdc6e2e34/prek-0.1.4-py3-none-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5c8e3b39f1a26e34851843c13e024022a5dc485e62d85791e78f43f66d0aa97d",
                "md5": "2dc30d3340402950f3d1a775468961b2",
                "sha256": "d5e1edcbe3e4d7b939a7d8738a06522d490faa45855128e9037e0211c704a52c"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "2dc30d3340402950f3d1a775468961b2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6003689,
            "upload_time": "2025-08-26T16:26:58",
            "upload_time_iso_8601": "2025-08-26T16:26:58.608418Z",
            "url": "https://files.pythonhosted.org/packages/5c/8e/3b39f1a26e34851843c13e024022a5dc485e62d85791e78f43f66d0aa97d/prek-0.1.4-py3-none-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "05c1da80823d3ed83955ae0dd1c40cd023bf0d6cbe41118a1c2f0bc7bc8d4998",
                "md5": "b217bab6a1938ebf371d0b4f1f2a5bf3",
                "sha256": "1c9e3117bf4504b78c141386c05bc99818997829d039328079de5c20dfcf561e"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b217bab6a1938ebf371d0b4f1f2a5bf3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6182889,
            "upload_time": "2025-08-26T16:27:00",
            "upload_time_iso_8601": "2025-08-26T16:27:00.280607Z",
            "url": "https://files.pythonhosted.org/packages/05/c1/da80823d3ed83955ae0dd1c40cd023bf0d6cbe41118a1c2f0bc7bc8d4998/prek-0.1.4-py3-none-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7208c4d770b92ca9e1c21fb3c961d2743a9b5290804f38131fa600c88be323db",
                "md5": "7a3c3c28645adf44c38151f4328c073d",
                "sha256": "10cbfee37944d020938e1fde8ac5d006061a0e9c0a7bdfad9acebd84fef525a9"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-win32.whl",
            "has_sig": false,
            "md5_digest": "7a3c3c28645adf44c38151f4328c073d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4421272,
            "upload_time": "2025-08-26T16:27:01",
            "upload_time_iso_8601": "2025-08-26T16:27:01.749091Z",
            "url": "https://files.pythonhosted.org/packages/72/08/c4d770b92ca9e1c21fb3c961d2743a9b5290804f38131fa600c88be323db/prek-0.1.4-py3-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "24ce358a038f9da24cd5e527449dbff43748292aabda64377f88e29c7699bc44",
                "md5": "1f70179df1ef90377fb9194c9870bca8",
                "sha256": "920906ba3d8042df39eec9e4a06df61adb847f924fd8f1a184ab4361da8738d3"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1f70179df1ef90377fb9194c9870bca8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4952726,
            "upload_time": "2025-08-26T16:27:03",
            "upload_time_iso_8601": "2025-08-26T16:27:03.034592Z",
            "url": "https://files.pythonhosted.org/packages/24/ce/358a038f9da24cd5e527449dbff43748292aabda64377f88e29c7699bc44/prek-0.1.4-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3a99dcac11bd0ba51a1a8b3a7de8880c709b896a2aa333e9881ee4130ec302cb",
                "md5": "488822853245306a140b0c1659dcd1c3",
                "sha256": "a62f3595642e8de016245ca092c53c93021e7a8af237de807349b8b6e11c540d"
            },
            "downloads": -1,
            "filename": "prek-0.1.4-py3-none-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "488822853245306a140b0c1659dcd1c3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4697465,
            "upload_time": "2025-08-26T16:27:04",
            "upload_time_iso_8601": "2025-08-26T16:27:04.828809Z",
            "url": "https://files.pythonhosted.org/packages/3a/99/dcac11bd0ba51a1a8b3a7de8880c709b896a2aa333e9881ee4130ec302cb/prek-0.1.4-py3-none-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ae59853fa5dcdf4a60dcb81bb7815e4a2c0732563775601087bdbf0f2c975653",
                "md5": "16b52cc8a663e946e9ef078752ad0639",
                "sha256": "5d97b43afba3c8513ac349196d578a65dc3fee9420695714a395ab220e13f515"
            },
            "downloads": -1,
            "filename": "prek-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "16b52cc8a663e946e9ef078752ad0639",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 191229,
            "upload_time": "2025-08-26T16:27:07",
            "upload_time_iso_8601": "2025-08-26T16:27:07.282586Z",
            "url": "https://files.pythonhosted.org/packages/ae/59/853fa5dcdf4a60dcb81bb7815e4a2c0732563775601087bdbf0f2c975653/prek-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-26 16:27:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "j178",
    "github_project": "prek",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "prek"
}
        
Elapsed time: 0.99767s