<div align="center">
# prek
<img width="220" alt="prek" src="https://github.com/user-attachments/assets/3a87815a-9f3c-48e7-8c1d-384b07ad3b35" />
[](https://github.com/j178/prek/actions/workflows/ci.yml)
[](https://github.com/j178/prek/releases)
[](https://pepy.tech/projects/prek)
[](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[](https://github.com/j178/prek/actions/workflows/ci.yml)\n[](https://github.com/j178/prek/releases)\n[](https://pepy.tech/projects/prek)\n[](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"
}