django-cap


Namedjango-cap JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryDjango implementation of Cap.js Server for Proof of Work captcha
upload_time2025-08-01 22:49:29
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseApache-2.0
keywords django captcha proof-of-work cap security
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![django_cap_tests](https://github.com/somiona/django_cap/actions/workflows/test.yml/badge.svg)](https://github.com/somiona/django_cap/actions/workflows/test.yml)
[![cov](https://somiona.github.io/django_cap/badges/coverage.svg)](https://github.com/somiona/django_cap/actions)
[![release](https://img.shields.io/github/v/tag/somiona/django_cap?label=version)](https://github.com/Somiona/django_cap/releases)
[![downloads](https://img.shields.io/pypi/dm/django-cap)](https://pypi.org/project/django-cap/)
[![PyPI - Status](https://img.shields.io/pypi/status/django-cap)](https://pypi.org/project/django-cap/)
## Django Cap
This is a implementation of [Cap.js](https://capjs.js.org/) Server for Django, which provides challenge generation and verification for PoW (Proof of Work) captcha. See

## Usage
### Installation
To install the package, simply run:
```bash
pip install django-cap
```

If you want to use the Django Ninja integration, you can install it with:
```bash
pip install django-cap[ninja]
```

Or if you want to use the Django Rest Framework integration, you can install it with:
```bash
pip install django-cap[drf]
```

**TODO**: only ninja integration and vanilla Django Json views are implemented, DRF integration will be added in the future.

### Configuration
To use this package, you need to add `django_cap` to your `INSTALLED_APPS` in your Django settings file:
```python
INSTALLED_APPS = [
    ...
    'django_cap',
    'django_cap.ninja',  # Add this if you want enable ninja integration
]
```

You need to configure the url patterns in your Django project's `urls.py` file:
```python
from django_cap.example_views import urls as example_views_urls
# import examples if you want to see them


urlpatterns = [
    ...
    path("cap/", include("django_cap.urls")),
    path("cap/examples/", include("django_cap.example.urls")),, # add this if you want to see examples
    ...
]
```

You can access the api at `/cap/v1/[challenge|redeem|validate]` endpoints. This is compatible with Cap.js/widgets. If your frontend is not hosted by Django, you need to refer Cap.js documentation for the installation, and simply configure the api endpoint as following:
```html
<cap-widget id="cap" data-cap-api-endpoint="https://your-api-site/cap/v1/"></cap-widget>
```

By default, ninja doc will be avaliable at `/cap/v1/docs/` and `/cap/v1/openapi.json`. If you want to disable the ninja doc, you can disable it in your Django settings file:

```python
#django_settings.py
...
CAP_NINJA_API_ENABLE_DOCS = False
...
```

### Use with Django Templates and Forms

This package provides comprehensive Django form integration for CAP verification. You can easily add CAP verification to any Django form:

#### Basic Form Integration

1. Add `CapField` to your form:

```python
from django import forms
from django_cap.forms import CapField
class MyForm(forms.Form):
    name = forms.CharField(max_length=100)
    email = forms.EmailField()
    # Add CapField for CAP verification
    cap_token = CapField(help_text="Please retry the verification challenge.")
```

2. In your template, render the form as usual:

```html
<form method="post">
    {% csrf_token %}
    {{ form.name.label_tag }} {{ form.name }}
    {{ form.email.label_tag }} {{ form.email }}
    {{ form.cap_token.label_tag }} {{ form.cap_token }}
    {% if form.cap_token.errors %}
    <div class="form-errors">
        {% for error in form.cap_token.errors %}<div class="error">{{ error }}</div>{% endfor %}
    </div>
    {% endif %}
    <button type="submit">Submit</button>
</form>
```
That's it! The `CapField` will automatically handle the CAP verification process, including generating the challenge and validating the response.

### Configuration Options
- `CAP_NINJA_API_ENABLE_DOCS`: Enable or disable the ninja API docs. Default is `True`.
- `CAP_CHALLENGE_COUNT`: The number of answer required for one challenge. Default is 50.
- `CAP_CHALLENGE_SIZE`: The size of the challenge string. Default is 32.
- `CAP_CHALLENGE_DIFFICULTY`: The difficulty of the challenge, Default is 4
- `CAP_CHALLENGE_EXPIRES_S`: The expiration time of the challenge in seconds. Default is 30 seconds.
- `CAP_TOKEN_EXPIRES_S`: The expiration time of the token in seconds. Default is 10 minutes.
- `CAP_CLEANUP_INTERVAL_S`: The interval for cleaning up expired challenges and tokens in seconds. Default is 60 seconds.


## Dev environment setup
1. Clone this repository.
2. Make sure you have python 3.13 installed.
    ```bash
    python --version
    ```
3. Make sure you have uv installed.
    ```bash
    # for MacOS, recommend using homebrew
    brew install uv
    ```
    ```bash
    # for Linux, recommend using their installer
    # curl
    curl -LsSf https://astral.sh/uv/install.sh | sh
    # wget
    wget -qO- https://astral.sh/uv/install.sh | sh
    ```
    ```powershell
    # for Windows, recommend using WinGet
    winget install --id=astral-sh.uv  -e
    # you can also use scoop
    scoop install main/uv
    ```
4. Install the dependencies:
    ```bash
    uv sync
    ```

5. Activate the virtual environment:
    ```bash
    # for linux/macOS
    source .venv/bin/activate
    ```
    ```powershell
    # for windows
    .\.venv\Scripts\Activate.ps1
    ```

6. Run tests:
    ```bash
    uv run pytest
    ```

7. Run linting and formatting:
    ```bash
    # Check code quality
    uv run ruff check

    # Format code
    uv run ruff format
    ```

8. Build the package:
    ```bash
    uv run pdm build
    ```

## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.

## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.

## Links
- [GitHub Repository](https://github.com/somiona/django-cap)
- [PyPI Package](https://pypi.org/project/django-cap/)
- [Cap.js Project](https://capjs.js.org/)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "django-cap",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "django, captcha, proof-of-work, cap, security",
    "author": null,
    "author_email": "Somiona <somionat@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/80/77/c7742b07d690ca2eb16ff38f060b8cfbbe8098a3d1cc76d5f39d7a5cea98/django_cap-0.3.0.tar.gz",
    "platform": null,
    "description": "[![django_cap_tests](https://github.com/somiona/django_cap/actions/workflows/test.yml/badge.svg)](https://github.com/somiona/django_cap/actions/workflows/test.yml)\n[![cov](https://somiona.github.io/django_cap/badges/coverage.svg)](https://github.com/somiona/django_cap/actions)\n[![release](https://img.shields.io/github/v/tag/somiona/django_cap?label=version)](https://github.com/Somiona/django_cap/releases)\n[![downloads](https://img.shields.io/pypi/dm/django-cap)](https://pypi.org/project/django-cap/)\n[![PyPI - Status](https://img.shields.io/pypi/status/django-cap)](https://pypi.org/project/django-cap/)\n## Django Cap\nThis is a implementation of [Cap.js](https://capjs.js.org/) Server for Django, which provides challenge generation and verification for PoW (Proof of Work) captcha. See\n\n## Usage\n### Installation\nTo install the package, simply run:\n```bash\npip install django-cap\n```\n\nIf you want to use the Django Ninja integration, you can install it with:\n```bash\npip install django-cap[ninja]\n```\n\nOr if you want to use the Django Rest Framework integration, you can install it with:\n```bash\npip install django-cap[drf]\n```\n\n**TODO**: only ninja integration and vanilla Django Json views are implemented, DRF integration will be added in the future.\n\n### Configuration\nTo use this package, you need to add `django_cap` to your `INSTALLED_APPS` in your Django settings file:\n```python\nINSTALLED_APPS = [\n    ...\n    'django_cap',\n    'django_cap.ninja',  # Add this if you want enable ninja integration\n]\n```\n\nYou need to configure the url patterns in your Django project's `urls.py` file:\n```python\nfrom django_cap.example_views import urls as example_views_urls\n# import examples if you want to see them\n\n\nurlpatterns = [\n    ...\n    path(\"cap/\", include(\"django_cap.urls\")),\n    path(\"cap/examples/\", include(\"django_cap.example.urls\")),, # add this if you want to see examples\n    ...\n]\n```\n\nYou can access the api at `/cap/v1/[challenge|redeem|validate]` endpoints. This is compatible with Cap.js/widgets. If your frontend is not hosted by Django, you need to refer Cap.js documentation for the installation, and simply configure the api endpoint as following:\n```html\n<cap-widget id=\"cap\" data-cap-api-endpoint=\"https://your-api-site/cap/v1/\"></cap-widget>\n```\n\nBy default, ninja doc will be avaliable at `/cap/v1/docs/` and `/cap/v1/openapi.json`. If you want to disable the ninja doc, you can disable it in your Django settings file:\n\n```python\n#django_settings.py\n...\nCAP_NINJA_API_ENABLE_DOCS = False\n...\n```\n\n### Use with Django Templates and Forms\n\nThis package provides comprehensive Django form integration for CAP verification. You can easily add CAP verification to any Django form:\n\n#### Basic Form Integration\n\n1. Add `CapField` to your form:\n\n```python\nfrom django import forms\nfrom django_cap.forms import CapField\nclass MyForm(forms.Form):\n    name = forms.CharField(max_length=100)\n    email = forms.EmailField()\n    # Add CapField for CAP verification\n    cap_token = CapField(help_text=\"Please retry the verification challenge.\")\n```\n\n2. In your template, render the form as usual:\n\n```html\n<form method=\"post\">\n    {% csrf_token %}\n    {{ form.name.label_tag }} {{ form.name }}\n    {{ form.email.label_tag }} {{ form.email }}\n    {{ form.cap_token.label_tag }} {{ form.cap_token }}\n    {% if form.cap_token.errors %}\n    <div class=\"form-errors\">\n        {% for error in form.cap_token.errors %}<div class=\"error\">{{ error }}</div>{% endfor %}\n    </div>\n    {% endif %}\n    <button type=\"submit\">Submit</button>\n</form>\n```\nThat's it! The `CapField` will automatically handle the CAP verification process, including generating the challenge and validating the response.\n\n### Configuration Options\n- `CAP_NINJA_API_ENABLE_DOCS`: Enable or disable the ninja API docs. Default is `True`.\n- `CAP_CHALLENGE_COUNT`: The number of answer required for one challenge. Default is 50.\n- `CAP_CHALLENGE_SIZE`: The size of the challenge string. Default is 32.\n- `CAP_CHALLENGE_DIFFICULTY`: The difficulty of the challenge, Default is 4\n- `CAP_CHALLENGE_EXPIRES_S`: The expiration time of the challenge in seconds. Default is 30 seconds.\n- `CAP_TOKEN_EXPIRES_S`: The expiration time of the token in seconds. Default is 10 minutes.\n- `CAP_CLEANUP_INTERVAL_S`: The interval for cleaning up expired challenges and tokens in seconds. Default is 60 seconds.\n\n\n## Dev environment setup\n1. Clone this repository.\n2. Make sure you have python 3.13 installed.\n    ```bash\n    python --version\n    ```\n3. Make sure you have uv installed.\n    ```bash\n    # for MacOS, recommend using homebrew\n    brew install uv\n    ```\n    ```bash\n    # for Linux, recommend using their installer\n    # curl\n    curl -LsSf https://astral.sh/uv/install.sh | sh\n    # wget\n    wget -qO- https://astral.sh/uv/install.sh | sh\n    ```\n    ```powershell\n    # for Windows, recommend using WinGet\n    winget install --id=astral-sh.uv  -e\n    # you can also use scoop\n    scoop install main/uv\n    ```\n4. Install the dependencies:\n    ```bash\n    uv sync\n    ```\n\n5. Activate the virtual environment:\n    ```bash\n    # for linux/macOS\n    source .venv/bin/activate\n    ```\n    ```powershell\n    # for windows\n    .\\.venv\\Scripts\\Activate.ps1\n    ```\n\n6. Run tests:\n    ```bash\n    uv run pytest\n    ```\n\n7. Run linting and formatting:\n    ```bash\n    # Check code quality\n    uv run ruff check\n\n    # Format code\n    uv run ruff format\n    ```\n\n8. Build the package:\n    ```bash\n    uv run pdm build\n    ```\n\n## Contributing\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## Links\n- [GitHub Repository](https://github.com/somiona/django-cap)\n- [PyPI Package](https://pypi.org/project/django-cap/)\n- [Cap.js Project](https://capjs.js.org/)\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Django implementation of Cap.js Server for Proof of Work captcha",
    "version": "0.3.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/somiona/django-cap/issues",
        "Documentation": "https://github.com/somiona/django-cap#readme",
        "Homepage": "https://github.com/somiona/django_cap",
        "Repository": "https://github.com/somiona/django_cap"
    },
    "split_keywords": [
        "django",
        " captcha",
        " proof-of-work",
        " cap",
        " security"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fdc35fb1ed9d8f1d72d54a9421e1bccb9bcf399dcfefd70317543c2a3281a7b3",
                "md5": "a5c0ce068f370c1b91b5ec2db38fc40c",
                "sha256": "d319ec2c388772a7b95f76f17fcab5dc4da179021554cd83ef97d04902fe3fce"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a5c0ce068f370c1b91b5ec2db38fc40c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 256815,
            "upload_time": "2025-08-01T22:48:01",
            "upload_time_iso_8601": "2025-08-01T22:48:01.238944Z",
            "url": "https://files.pythonhosted.org/packages/fd/c3/5fb1ed9d8f1d72d54a9421e1bccb9bcf399dcfefd70317543c2a3281a7b3/django_cap-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b24357b19c14fec3775a8c4be4bcf3eda20a7dd1c86d73885de69d2166c780cb",
                "md5": "a3356f3fdb92c9ae03dbd229fa9bb63c",
                "sha256": "5e32a8480dca5b093aec358b2a88f2ee698500862a1a61cba0c9095da57d892d"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a3356f3fdb92c9ae03dbd229fa9bb63c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 250127,
            "upload_time": "2025-08-01T22:48:02",
            "upload_time_iso_8601": "2025-08-01T22:48:02.910826Z",
            "url": "https://files.pythonhosted.org/packages/b2/43/57b19c14fec3775a8c4be4bcf3eda20a7dd1c86d73885de69d2166c780cb/django_cap-0.3.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "443219daec0690f19262d52a0383d556df7d0eeea4601b9a472aa6c5b7819beb",
                "md5": "2dfb8f726afd7cf15485411e1b88e510",
                "sha256": "ac86e0101085b8224da73cdae525925f5e6c3b54f768ec79ac1b3c1a01ad59f4"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2dfb8f726afd7cf15485411e1b88e510",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 273424,
            "upload_time": "2025-08-01T22:48:04",
            "upload_time_iso_8601": "2025-08-01T22:48:04.127135Z",
            "url": "https://files.pythonhosted.org/packages/44/32/19daec0690f19262d52a0383d556df7d0eeea4601b9a472aa6c5b7819beb/django_cap-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "deba390cdf865c4778e8bf4db5ebbd6b2aa9782c518125ed0e002c1cec2d5643",
                "md5": "6c3495d45f38b19277c71426e92f65bf",
                "sha256": "582fb82e8d21cffa44a50f99b24b804f70df6d359fe9c1d75841f4cf6b518a49"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "6c3495d45f38b19277c71426e92f65bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 283423,
            "upload_time": "2025-08-01T22:48:05",
            "upload_time_iso_8601": "2025-08-01T22:48:05.691275Z",
            "url": "https://files.pythonhosted.org/packages/de/ba/390cdf865c4778e8bf4db5ebbd6b2aa9782c518125ed0e002c1cec2d5643/django_cap-0.3.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c14a3ef4393e978e10af2f62ee59babce0981665cd82945ae98b87d46aa78f12",
                "md5": "2a270313cd6ba19588db44e228faf7eb",
                "sha256": "ad16a76efcf3666f06fd2f849f607ed59c92f791caa64e5a8cb476897ddf7fa7"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "2a270313cd6ba19588db44e228faf7eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 406216,
            "upload_time": "2025-08-01T22:48:06",
            "upload_time_iso_8601": "2025-08-01T22:48:06.910659Z",
            "url": "https://files.pythonhosted.org/packages/c1/4a/3ef4393e978e10af2f62ee59babce0981665cd82945ae98b87d46aa78f12/django_cap-0.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f9aab22142ce6dd29bfa148a9e8c335ddde073ed711470f8dc43a7963a8cb338",
                "md5": "a574002dc25a2dc11cb536e462c7b2ac",
                "sha256": "8ca77233f72124f6c438ab473ca01caa9c3a5b1a13007f30d1ab1bcab35cd2e8"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "a574002dc25a2dc11cb536e462c7b2ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 299509,
            "upload_time": "2025-08-01T22:48:09",
            "upload_time_iso_8601": "2025-08-01T22:48:09.021337Z",
            "url": "https://files.pythonhosted.org/packages/f9/aa/b22142ce6dd29bfa148a9e8c335ddde073ed711470f8dc43a7963a8cb338/django_cap-0.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bb826c8f12a354166485b02edfe65c3d19bec59a3be72a3cec9f5b008b78068b",
                "md5": "fa4099941182924d0b3a06dd70a746ee",
                "sha256": "f90e3d9d14aa059009aa1fac07efd600d2de3ebde24f951a705466bed6dfd579"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa4099941182924d0b3a06dd70a746ee",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 276614,
            "upload_time": "2025-08-01T22:48:10",
            "upload_time_iso_8601": "2025-08-01T22:48:10.618532Z",
            "url": "https://files.pythonhosted.org/packages/bb/82/6c8f12a354166485b02edfe65c3d19bec59a3be72a3cec9f5b008b78068b/django_cap-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb87b1ada48d74fe4d4624c73e875bb63424c05b79ce97dd3d3c48525cd1c4ab",
                "md5": "7ec53730242ae6e1b663202bcf857995",
                "sha256": "ece14baa7aa974355e6d3731104e2940bf69cb7a4f2554e4699fbb3f94cda9cc"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "7ec53730242ae6e1b663202bcf857995",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 295051,
            "upload_time": "2025-08-01T22:48:12",
            "upload_time_iso_8601": "2025-08-01T22:48:12.172572Z",
            "url": "https://files.pythonhosted.org/packages/eb/87/b1ada48d74fe4d4624c73e875bb63424c05b79ce97dd3d3c48525cd1c4ab/django_cap-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1f24a7d0442c1b041d54a54328c7db03beb2d75a615550db8876a07e12050df3",
                "md5": "63ec51a9101b5b12ba2800517e311156",
                "sha256": "2751f1fc6f140bfc1c8ff7fbe822bfb51703607127d7b5bf80eb9a56be2ac7fb"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "63ec51a9101b5b12ba2800517e311156",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 451684,
            "upload_time": "2025-08-01T22:48:13",
            "upload_time_iso_8601": "2025-08-01T22:48:13.810510Z",
            "url": "https://files.pythonhosted.org/packages/1f/24/a7d0442c1b041d54a54328c7db03beb2d75a615550db8876a07e12050df3/django_cap-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0360e3fbb0990134ecd9179668e99eb294d3bf1f75c40244f373d569809e593",
                "md5": "95ae43c784d3f3765b96615b354c464a",
                "sha256": "e9c3b20880ba78f206fe379fd7b7b4c3d7526905885cfc313e2951119475d442"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "95ae43c784d3f3765b96615b354c464a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 545838,
            "upload_time": "2025-08-01T22:48:15",
            "upload_time_iso_8601": "2025-08-01T22:48:15.513819Z",
            "url": "https://files.pythonhosted.org/packages/c0/36/0e3fbb0990134ecd9179668e99eb294d3bf1f75c40244f373d569809e593/django_cap-0.3.0-cp311-cp311-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f8e1cf1dd4481e39094b6e1c7c584508488aea585ebebbd9126e2110c077ddc8",
                "md5": "3c0fdea915944a4edfbe0479bb1883b9",
                "sha256": "dc0956c8db516b827ee0f7fd6a1d44cd65ad5e7caa7fd0395e987fd8e04703d1"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "3c0fdea915944a4edfbe0479bb1883b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 475075,
            "upload_time": "2025-08-01T22:48:17",
            "upload_time_iso_8601": "2025-08-01T22:48:17.205596Z",
            "url": "https://files.pythonhosted.org/packages/f8/e1/cf1dd4481e39094b6e1c7c584508488aea585ebebbd9126e2110c077ddc8/django_cap-0.3.0-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7a96afccc2efa4922ff49aeea9f896d1b9ed0aa1739fbcdeb81110e873b37864",
                "md5": "359945ae9bedc575ad9f05a48d1cab8c",
                "sha256": "6c1ed922170faeaa499eb9b3ef0a18f49d634cfccee703cc9b2eec2715b48ac1"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "359945ae9bedc575ad9f05a48d1cab8c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 447219,
            "upload_time": "2025-08-01T22:48:18",
            "upload_time_iso_8601": "2025-08-01T22:48:18.931635Z",
            "url": "https://files.pythonhosted.org/packages/7a/96/afccc2efa4922ff49aeea9f896d1b9ed0aa1739fbcdeb81110e873b37864/django_cap-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "30ee9a9eb4d454e0063385535c4167d631572b7d3162a5cea7fa5af1f176633b",
                "md5": "e513ea5c0d7a5e41d266de71b9ed0712",
                "sha256": "0df72b81d443751e0b59ad6846831c3c130d5449343ddd5553db596b9e38c31b"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "e513ea5c0d7a5e41d266de71b9ed0712",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 141304,
            "upload_time": "2025-08-01T22:48:20",
            "upload_time_iso_8601": "2025-08-01T22:48:20.060658Z",
            "url": "https://files.pythonhosted.org/packages/30/ee/9a9eb4d454e0063385535c4167d631572b7d3162a5cea7fa5af1f176633b/django_cap-0.3.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b34c693dffaf67f32a4d47be5e1a1f297ba090604af7b63f867dcf6c98cd6d3d",
                "md5": "9b29c68e30fc9287716d38257aae3997",
                "sha256": "ece4b0d775f0533d5fca8ed3526b4fc229253f3c103cc63405cb5be1031716af"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9b29c68e30fc9287716d38257aae3997",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 146941,
            "upload_time": "2025-08-01T22:48:21",
            "upload_time_iso_8601": "2025-08-01T22:48:21.199788Z",
            "url": "https://files.pythonhosted.org/packages/b3/4c/693dffaf67f32a4d47be5e1a1f297ba090604af7b63f867dcf6c98cd6d3d/django_cap-0.3.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "24feda36166d9cb0e9f82f40236659c0e9c56d8c09dfaf15d927a68390c23fc4",
                "md5": "2c19d5f8553b6b2b9da879a680860641",
                "sha256": "f32e7b04009b78c9288a324c3d079d2c6d85da2327f3cc2781001cde4f95bd52"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2c19d5f8553b6b2b9da879a680860641",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 254535,
            "upload_time": "2025-08-01T22:48:22",
            "upload_time_iso_8601": "2025-08-01T22:48:22.343067Z",
            "url": "https://files.pythonhosted.org/packages/24/fe/da36166d9cb0e9f82f40236659c0e9c56d8c09dfaf15d927a68390c23fc4/django_cap-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d133f248854c4fb4750eeef914e5cb83ec1782e26477076004e0f22d1239d5cb",
                "md5": "eb22b6a1b1bff008cf32e3a8befd1bc3",
                "sha256": "48eea4b58f66b3c05c1a98d2875985905a7ab6392fc5073c39d217460ad7d4d4"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "eb22b6a1b1bff008cf32e3a8befd1bc3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 247270,
            "upload_time": "2025-08-01T22:48:23",
            "upload_time_iso_8601": "2025-08-01T22:48:23.916796Z",
            "url": "https://files.pythonhosted.org/packages/d1/33/f248854c4fb4750eeef914e5cb83ec1782e26477076004e0f22d1239d5cb/django_cap-0.3.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "658d28db5b7f9f448325df327f31aa18f33318fcc0ef850ea7ad5f3f6888567d",
                "md5": "ad5b9f2b729ccd079b3ec31e61d0f793",
                "sha256": "b0261fef22fcee07b1f7e9a21f4f157afd2009182f2626062b860685875285a2"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ad5b9f2b729ccd079b3ec31e61d0f793",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 272921,
            "upload_time": "2025-08-01T22:48:25",
            "upload_time_iso_8601": "2025-08-01T22:48:25.501707Z",
            "url": "https://files.pythonhosted.org/packages/65/8d/28db5b7f9f448325df327f31aa18f33318fcc0ef850ea7ad5f3f6888567d/django_cap-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fb45bd20aa2f340cd286983b5e2562632b1cd6ff69ad6506b746acf8393220d",
                "md5": "1655a941f1a60be585df9aa640bbc83c",
                "sha256": "570091f6779025ec64cf32987625be8822614f5d011f45217e58a9d6dd58cf1f"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "1655a941f1a60be585df9aa640bbc83c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 281979,
            "upload_time": "2025-08-01T22:48:27",
            "upload_time_iso_8601": "2025-08-01T22:48:27.207742Z",
            "url": "https://files.pythonhosted.org/packages/7f/b4/5bd20aa2f340cd286983b5e2562632b1cd6ff69ad6506b746acf8393220d/django_cap-0.3.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6972ada738dc817a1477794e91ca5f3accadf268f547b1b9b379ac093adea8b2",
                "md5": "d9f70df4f63521617ccb92a880a9fde4",
                "sha256": "5f7f9dfa8d0b7c3601ff12bf816fc8149ff463d62757c9558ab2fdaeb4bbe33e"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "d9f70df4f63521617ccb92a880a9fde4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 409304,
            "upload_time": "2025-08-01T22:48:28",
            "upload_time_iso_8601": "2025-08-01T22:48:28.804178Z",
            "url": "https://files.pythonhosted.org/packages/69/72/ada738dc817a1477794e91ca5f3accadf268f547b1b9b379ac093adea8b2/django_cap-0.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5bb6e1d38d3da192af75410339238402fb10d00316c0404d0acda58708849b43",
                "md5": "1f12a6eddd6899a95d732c5305bf8573",
                "sha256": "568f9b810a0fe800a4853d9c6eb9fe44366e597a972e65884781cbf6fffcfb9c"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "1f12a6eddd6899a95d732c5305bf8573",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 299827,
            "upload_time": "2025-08-01T22:48:29",
            "upload_time_iso_8601": "2025-08-01T22:48:29.944773Z",
            "url": "https://files.pythonhosted.org/packages/5b/b6/e1d38d3da192af75410339238402fb10d00316c0404d0acda58708849b43/django_cap-0.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cce8873ed6d22af6c4ad58622944c2e576b59681a50351fe863bffea9154d964",
                "md5": "76a90f52d596b1b3a1b6c733d16275d4",
                "sha256": "264ea7875be22bc20f897b41ab0ba338e8b9d421825debcbb8c90a8bbf0f9695"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "76a90f52d596b1b3a1b6c733d16275d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 275496,
            "upload_time": "2025-08-01T22:48:31",
            "upload_time_iso_8601": "2025-08-01T22:48:31.580997Z",
            "url": "https://files.pythonhosted.org/packages/cc/e8/873ed6d22af6c4ad58622944c2e576b59681a50351fe863bffea9154d964/django_cap-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5c6070b58631c79b3f66e28680f1bcba5b077601fe24a28ff823a440f378f4b",
                "md5": "116e5e0c36fa9f59498bfbdf5b539d16",
                "sha256": "690cec67d9a933a9988ebf506edbc38fe2c978a21b0892bdb735f5ca2545c684"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "116e5e0c36fa9f59498bfbdf5b539d16",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 293908,
            "upload_time": "2025-08-01T22:48:32",
            "upload_time_iso_8601": "2025-08-01T22:48:32.778906Z",
            "url": "https://files.pythonhosted.org/packages/f5/c6/070b58631c79b3f66e28680f1bcba5b077601fe24a28ff823a440f378f4b/django_cap-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eca60965d5be24441d905fcab8a6ab5c58ab3580e2da4f4bc04cd31ed4fa7b4e",
                "md5": "992b20fd8547b902115eaf9312b97f53",
                "sha256": "543edd56bd1a0d01cc79b4b7374b9ca6de45ff25c65c7713c9cdc56660e67de6"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "992b20fd8547b902115eaf9312b97f53",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 451274,
            "upload_time": "2025-08-01T22:48:34",
            "upload_time_iso_8601": "2025-08-01T22:48:34.024168Z",
            "url": "https://files.pythonhosted.org/packages/ec/a6/0965d5be24441d905fcab8a6ab5c58ab3580e2da4f4bc04cd31ed4fa7b4e/django_cap-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14edf86ffeaf8c34e237af46ce90a52ed62d4eceb27eb7423fa587e69115d81c",
                "md5": "a1f8ac1bad83f34a1946655241178d79",
                "sha256": "955e7a5a75c79495ffbb232facdb20f1927a90b841db682a34070421f9adbf92"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "a1f8ac1bad83f34a1946655241178d79",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 544415,
            "upload_time": "2025-08-01T22:48:35",
            "upload_time_iso_8601": "2025-08-01T22:48:35.262059Z",
            "url": "https://files.pythonhosted.org/packages/14/ed/f86ffeaf8c34e237af46ce90a52ed62d4eceb27eb7423fa587e69115d81c/django_cap-0.3.0-cp312-cp312-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e98103cd64dea1a64738982d78a5852b5511894e94434d81fa5b3a17d8f9de5a",
                "md5": "cfad318fb6fcdad904515e522677a0fd",
                "sha256": "7b568b85955e5b2466daa62cfaba8d786551d12f7b8e00a0d9824f71201e2ac7"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "cfad318fb6fcdad904515e522677a0fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 473619,
            "upload_time": "2025-08-01T22:48:36",
            "upload_time_iso_8601": "2025-08-01T22:48:36.469061Z",
            "url": "https://files.pythonhosted.org/packages/e9/81/03cd64dea1a64738982d78a5852b5511894e94434d81fa5b3a17d8f9de5a/django_cap-0.3.0-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c15ec11dba77423582ecc6d59c1376180643c2af927cf36274fc2cd99013f495",
                "md5": "64aa6804e416c6ace1f2464e2bbe0980",
                "sha256": "813bf603597b2ff03e72eb31e399b6dd91defc081fb06143afbead4b46c17a5a"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "64aa6804e416c6ace1f2464e2bbe0980",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 446028,
            "upload_time": "2025-08-01T22:48:37",
            "upload_time_iso_8601": "2025-08-01T22:48:37.660445Z",
            "url": "https://files.pythonhosted.org/packages/c1/5e/c11dba77423582ecc6d59c1376180643c2af927cf36274fc2cd99013f495/django_cap-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "724929ed9cb4425e3ce572e5bf3a2b0ab0fe9a5268b71b427c3ebd67097ed271",
                "md5": "dd652a3d326a445d81d3b47cfc952c2f",
                "sha256": "7514e79cfc000d87f3fc030a5ac47d03709e24f2aa97144953fcda7abeaab6b5"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "dd652a3d326a445d81d3b47cfc952c2f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 141045,
            "upload_time": "2025-08-01T22:48:39",
            "upload_time_iso_8601": "2025-08-01T22:48:39.245011Z",
            "url": "https://files.pythonhosted.org/packages/72/49/29ed9cb4425e3ce572e5bf3a2b0ab0fe9a5268b71b427c3ebd67097ed271/django_cap-0.3.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80d340d2384567694cf4bfd27f23bb126343296fbf1661f3df11ca8cf3328389",
                "md5": "b1d01df1792bff9a597ba536bd09ff36",
                "sha256": "991646ec419addb6a73f6c6c086938ed04662f02434055a9f3a90e94e2b40d15"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b1d01df1792bff9a597ba536bd09ff36",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 146681,
            "upload_time": "2025-08-01T22:48:41",
            "upload_time_iso_8601": "2025-08-01T22:48:41.058064Z",
            "url": "https://files.pythonhosted.org/packages/80/d3/40d2384567694cf4bfd27f23bb126343296fbf1661f3df11ca8cf3328389/django_cap-0.3.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c6e4f7c86f88a2721e5a9a15a4b377d7ffe6039a91bbcd7efa771e02b1c5b72f",
                "md5": "9233f4ded42de9312116e8f60b7d1d55",
                "sha256": "b98565a9ad9180244de98d148c5bf636b8c8ff0eed9ae8198a64704c564b171a"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9233f4ded42de9312116e8f60b7d1d55",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 254569,
            "upload_time": "2025-08-01T22:48:42",
            "upload_time_iso_8601": "2025-08-01T22:48:42.248774Z",
            "url": "https://files.pythonhosted.org/packages/c6/e4/f7c86f88a2721e5a9a15a4b377d7ffe6039a91bbcd7efa771e02b1c5b72f/django_cap-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63ab4c63d442c7a788dd7e02c1b4a46464528ef85adb291c8ad9f3e819db453d",
                "md5": "04b220908aa10f35d609b2ddcb661fbe",
                "sha256": "1d6279e7a6f074aa77f3dd5ea33fa8b2dabde0cb64e83e657c6441cdbab61207"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "04b220908aa10f35d609b2ddcb661fbe",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 247344,
            "upload_time": "2025-08-01T22:48:43",
            "upload_time_iso_8601": "2025-08-01T22:48:43.458290Z",
            "url": "https://files.pythonhosted.org/packages/63/ab/4c63d442c7a788dd7e02c1b4a46464528ef85adb291c8ad9f3e819db453d/django_cap-0.3.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "709931d33512a5f205d9f6c9452b32584fd39d813d296087d52fd14764520730",
                "md5": "509d4b1ed1b54124a92c2f1c0ce8e965",
                "sha256": "f290dcd9544bec54cdbf9f58b19e088a29e4e7fc9a15e9eb7619ed750a2be5d0"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "509d4b1ed1b54124a92c2f1c0ce8e965",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 273008,
            "upload_time": "2025-08-01T22:48:44",
            "upload_time_iso_8601": "2025-08-01T22:48:44.626423Z",
            "url": "https://files.pythonhosted.org/packages/70/99/31d33512a5f205d9f6c9452b32584fd39d813d296087d52fd14764520730/django_cap-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "999b417379f03ccedf968e673363a1d0d811623e88ebbe9e7c3d7787f3aee3e8",
                "md5": "3ad505168810d44e53c1f2e68663dbec",
                "sha256": "23bdc8db680316cff24d4d72e1f6b855b340d989b850752f57bcf1ae6d6e4285"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "3ad505168810d44e53c1f2e68663dbec",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 281974,
            "upload_time": "2025-08-01T22:48:45",
            "upload_time_iso_8601": "2025-08-01T22:48:45.923615Z",
            "url": "https://files.pythonhosted.org/packages/99/9b/417379f03ccedf968e673363a1d0d811623e88ebbe9e7c3d7787f3aee3e8/django_cap-0.3.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c4e928da12789a9c227ef1d1fbd02a289f84bdbf3d0eed356ea0225fe9c23c67",
                "md5": "340df012314aac5b6d992501a963a6e1",
                "sha256": "51a018d18016e155893124e314deb298af0605aa591c76fb318f261b3187ddd8"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "340df012314aac5b6d992501a963a6e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 406796,
            "upload_time": "2025-08-01T22:48:47",
            "upload_time_iso_8601": "2025-08-01T22:48:47.099562Z",
            "url": "https://files.pythonhosted.org/packages/c4/e9/28da12789a9c227ef1d1fbd02a289f84bdbf3d0eed356ea0225fe9c23c67/django_cap-0.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "19dde09c53f30d6021fa99d0ddb39506172a8c51cda729e522a45ac0508b59cf",
                "md5": "58575c5d97e1fb7f5ec8777047bd7429",
                "sha256": "d08b696fd06b352ad48bb22c275b2f1eea9c6f3e8c4610d796dbec2b96ebc533"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "58575c5d97e1fb7f5ec8777047bd7429",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 299642,
            "upload_time": "2025-08-01T22:48:48",
            "upload_time_iso_8601": "2025-08-01T22:48:48.261764Z",
            "url": "https://files.pythonhosted.org/packages/19/dd/e09c53f30d6021fa99d0ddb39506172a8c51cda729e522a45ac0508b59cf/django_cap-0.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e2ad7cc49f003c3076d7ac88716e0f125d8ecaf1ea22ce75efedb85d7f87a039",
                "md5": "b75974a8b6b0018d0f12ccab778338c1",
                "sha256": "513635c0002e1a7369c837ecafdc15fcea7952df0f47f5a7f2e97abdfc033a8d"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b75974a8b6b0018d0f12ccab778338c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 275217,
            "upload_time": "2025-08-01T22:48:49",
            "upload_time_iso_8601": "2025-08-01T22:48:49.435493Z",
            "url": "https://files.pythonhosted.org/packages/e2/ad/7cc49f003c3076d7ac88716e0f125d8ecaf1ea22ce75efedb85d7f87a039/django_cap-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "135a9d5193c7cf6d9277eea83dd582d990df8dc2e599cb88e6a02bb641e94c75",
                "md5": "443cdf0cde040d5cc365361ef7c2cc9f",
                "sha256": "b496dff57bf5ec818ed15262c7126a3970f14ee948c5b3f4901add01a1777645"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "443cdf0cde040d5cc365361ef7c2cc9f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 293843,
            "upload_time": "2025-08-01T22:48:50",
            "upload_time_iso_8601": "2025-08-01T22:48:50.627668Z",
            "url": "https://files.pythonhosted.org/packages/13/5a/9d5193c7cf6d9277eea83dd582d990df8dc2e599cb88e6a02bb641e94c75/django_cap-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9bcf5c5118fe8f697fefc6fd28e6b2c27a348527b7aeb6b0563fe62861830c96",
                "md5": "446336732e1b0a5bdefef473750595fe",
                "sha256": "d49df561052bb12e0c6cedbf3cc4ee62227164ee9a51c1c28f697f141f904c6e"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "446336732e1b0a5bdefef473750595fe",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 451233,
            "upload_time": "2025-08-01T22:48:52",
            "upload_time_iso_8601": "2025-08-01T22:48:52.319375Z",
            "url": "https://files.pythonhosted.org/packages/9b/cf/5c5118fe8f697fefc6fd28e6b2c27a348527b7aeb6b0563fe62861830c96/django_cap-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "67cd53b86009dabd920a8419fe827913d8fdcafb871e4b3b4105ef4d76782f1e",
                "md5": "ec1e48cd738d0b39936f53551eaecbe2",
                "sha256": "c5604a0cc87d2bd9f173b02390d146f4976cfa022684bda441bd24ee2c94c80f"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "ec1e48cd738d0b39936f53551eaecbe2",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 544302,
            "upload_time": "2025-08-01T22:48:53",
            "upload_time_iso_8601": "2025-08-01T22:48:53.562306Z",
            "url": "https://files.pythonhosted.org/packages/67/cd/53b86009dabd920a8419fe827913d8fdcafb871e4b3b4105ef4d76782f1e/django_cap-0.3.0-cp313-cp313-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f1842b25989ad89e9d32f5c472563191b60d28be3f3b1ce01fafdcbafa481ae",
                "md5": "c30bd2cad2d1c507fdc3df4930764fb6",
                "sha256": "5f6708a154853370ba233e56cb4053e057653d4f7d35336521af81c73e807fce"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "c30bd2cad2d1c507fdc3df4930764fb6",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 473583,
            "upload_time": "2025-08-01T22:48:55",
            "upload_time_iso_8601": "2025-08-01T22:48:55.260974Z",
            "url": "https://files.pythonhosted.org/packages/2f/18/42b25989ad89e9d32f5c472563191b60d28be3f3b1ce01fafdcbafa481ae/django_cap-0.3.0-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "497faf3990637d75c896fdcd77ed901df00119666d3318f8020a9e5fcf14f4df",
                "md5": "f8b9a335f5c617f552cb79210a5f9e6c",
                "sha256": "aad65dc0b95fc45cd701ddc90f9ce79cfcac9bd93e956e1db0c0545bc77cf7a3"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f8b9a335f5c617f552cb79210a5f9e6c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 445771,
            "upload_time": "2025-08-01T22:48:56",
            "upload_time_iso_8601": "2025-08-01T22:48:56.876238Z",
            "url": "https://files.pythonhosted.org/packages/49/7f/af3990637d75c896fdcd77ed901df00119666d3318f8020a9e5fcf14f4df/django_cap-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fd042b562365f5d95ff7d910c91670fc878dbe8c400e5d7cbc75e3231d937ca",
                "md5": "1ec3e8a9783833a870c6651134241ad5",
                "sha256": "00cb7369483ebc4507d9d378a52bfe9bf90a3b0ab2be3609a609fff3f25375f7"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1ec3e8a9783833a870c6651134241ad5",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 272300,
            "upload_time": "2025-08-01T22:49:02",
            "upload_time_iso_8601": "2025-08-01T22:49:02.990585Z",
            "url": "https://files.pythonhosted.org/packages/7f/d0/42b562365f5d95ff7d910c91670fc878dbe8c400e5d7cbc75e3231d937ca/django_cap-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b9c1caab7502c66494af2ac9e9a80a50bfe27187d29a534af7bf10619d00b30a",
                "md5": "824dc7341c03dabc5fef8e7673fb349b",
                "sha256": "097b82f38a6c1e766d4cfe79b63238be136c2ae58f29e8bd92aea9293c152525"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "824dc7341c03dabc5fef8e7673fb349b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 281107,
            "upload_time": "2025-08-01T22:49:04",
            "upload_time_iso_8601": "2025-08-01T22:49:04.279832Z",
            "url": "https://files.pythonhosted.org/packages/b9/c1/caab7502c66494af2ac9e9a80a50bfe27187d29a534af7bf10619d00b30a/django_cap-0.3.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e4e31a0026729e2a183935c400c313ac439e59db6b89926ddaf8d248f0e3988e",
                "md5": "0ff9e2dffd4913c5f2640a6999e4e433",
                "sha256": "dbb7e92d05edc3e19be75fae2b9729d43af1081b50ba4960aaa9c91787893597"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "0ff9e2dffd4913c5f2640a6999e4e433",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 406977,
            "upload_time": "2025-08-01T22:49:05",
            "upload_time_iso_8601": "2025-08-01T22:49:05.570628Z",
            "url": "https://files.pythonhosted.org/packages/e4/e3/1a0026729e2a183935c400c313ac439e59db6b89926ddaf8d248f0e3988e/django_cap-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a99bd81396893af4997945312ab8a435d96c03bdb2c19a5bd40339e593df3508",
                "md5": "7682a2d6252e37d148b597e711b40dcb",
                "sha256": "46fa4dc9a21b4c23210f0a9d0c148280ab4d7cf305a6c0beca5c3dc21edbe4ca"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "7682a2d6252e37d148b597e711b40dcb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 299283,
            "upload_time": "2025-08-01T22:49:07",
            "upload_time_iso_8601": "2025-08-01T22:49:07.030920Z",
            "url": "https://files.pythonhosted.org/packages/a9/9b/d81396893af4997945312ab8a435d96c03bdb2c19a5bd40339e593df3508/django_cap-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7ef0aa9d21211c08ce2e5e008243b6ccbdbfbf30bbd8d8c8ca8755fcbd378489",
                "md5": "2e6db86ae17b756385f927c068919c76",
                "sha256": "b62c1d19eebe0172855c29831920519084e39344fdf3fbcb0982493de06bc211"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2e6db86ae17b756385f927c068919c76",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 450482,
            "upload_time": "2025-08-01T22:49:08",
            "upload_time_iso_8601": "2025-08-01T22:49:08.223064Z",
            "url": "https://files.pythonhosted.org/packages/7e/f0/aa9d21211c08ce2e5e008243b6ccbdbfbf30bbd8d8c8ca8755fcbd378489/django_cap-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ae3fa427245c5b0aa23bfb4ca1234735360741d72cafbdafa32fb9d9031d356e",
                "md5": "dba5969a6ad321af4f80c907e3fa93b4",
                "sha256": "9dc6c7f32deece22d0f1805d9508cdf50aa771460d6540767229f2b0dc5d1f39"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "dba5969a6ad321af4f80c907e3fa93b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 543549,
            "upload_time": "2025-08-01T22:49:09",
            "upload_time_iso_8601": "2025-08-01T22:49:09.454345Z",
            "url": "https://files.pythonhosted.org/packages/ae/3f/a427245c5b0aa23bfb4ca1234735360741d72cafbdafa32fb9d9031d356e/django_cap-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab0eb82349d53de6766ca557a7c693da8d47fdc5440eea25417596a3c9b4a662",
                "md5": "8c9946ad5d97ec8ae9b8aba4292aa991",
                "sha256": "84a55c89e3886aab2e2aa7f6d2d29d9c4eab919d5b90d91134fdf95ed1914225"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "8c9946ad5d97ec8ae9b8aba4292aa991",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 473036,
            "upload_time": "2025-08-01T22:49:10",
            "upload_time_iso_8601": "2025-08-01T22:49:10.784772Z",
            "url": "https://files.pythonhosted.org/packages/ab/0e/b82349d53de6766ca557a7c693da8d47fdc5440eea25417596a3c9b4a662/django_cap-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cd1afb93c7f647a5bdaa27195ad660e0340e822a8a56e3902eb7720f2c20e042",
                "md5": "fb3791721a40f6cb381c5cd36d2e208d",
                "sha256": "f587098eca064e7d7da6401f1049d1344c190009b1b8de9fba1fc9aa499188f1"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fb3791721a40f6cb381c5cd36d2e208d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 445519,
            "upload_time": "2025-08-01T22:49:11",
            "upload_time_iso_8601": "2025-08-01T22:49:11.969522Z",
            "url": "https://files.pythonhosted.org/packages/cd/1a/fb93c7f647a5bdaa27195ad660e0340e822a8a56e3902eb7720f2c20e042/django_cap-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d55c3c253e45450abb59fa3ee9c6d8088c94e77710dc92b54e43d4f24f23d618",
                "md5": "c3e6afae91a2ba2a7bdf3b2f80d263bb",
                "sha256": "01c9fd2e3e98a612ecc72ac5fe9103649b5a1653c550433dc071ff4a5dff3f02"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "c3e6afae91a2ba2a7bdf3b2f80d263bb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 141018,
            "upload_time": "2025-08-01T22:48:58",
            "upload_time_iso_8601": "2025-08-01T22:48:58.194273Z",
            "url": "https://files.pythonhosted.org/packages/d5/5c/3c253e45450abb59fa3ee9c6d8088c94e77710dc92b54e43d4f24f23d618/django_cap-0.3.0-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb5dedde47d1fa9ea6411283518d986737f7b4f0dc8b4c7367536c96b51be9e6",
                "md5": "96ba35b64100941beaea97e7ea005184",
                "sha256": "1d3fbd363966f8bd852f344187edfb749278895abcfb078346548e4416b7a704"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "96ba35b64100941beaea97e7ea005184",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 146462,
            "upload_time": "2025-08-01T22:49:01",
            "upload_time_iso_8601": "2025-08-01T22:49:01.716159Z",
            "url": "https://files.pythonhosted.org/packages/eb/5d/edde47d1fa9ea6411283518d986737f7b4f0dc8b4c7367536c96b51be9e6/django_cap-0.3.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "abc3e45af976c225cdf7e7c83560ebb77c385915f63a73f55a535649a175d528",
                "md5": "e5f4118c9dc5fdd7c4c1dbfbd46d8ecf",
                "sha256": "4f8bfd9de19e80492d68029097ed000703a549d5b40037e92c35119148d9249c"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e5f4118c9dc5fdd7c4c1dbfbd46d8ecf",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.11",
            "size": 275505,
            "upload_time": "2025-08-01T22:49:13",
            "upload_time_iso_8601": "2025-08-01T22:49:13.149477Z",
            "url": "https://files.pythonhosted.org/packages/ab/c3/e45af976c225cdf7e7c83560ebb77c385915f63a73f55a535649a175d528/django_cap-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e798cb723055a452fe7acfa1e2ac30ea93c129eb4cda96ac1b4b19fdeff5ca3b",
                "md5": "dcb5ce02c3cebb1cfd41016c291c50d4",
                "sha256": "07ae6c85d331a1f5b6c60e888a000498e468ec73ba6b813ab2d65ae1e4882ed7"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "dcb5ce02c3cebb1cfd41016c291c50d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.11",
            "size": 293747,
            "upload_time": "2025-08-01T22:49:14",
            "upload_time_iso_8601": "2025-08-01T22:49:14.355218Z",
            "url": "https://files.pythonhosted.org/packages/e7/98/cb723055a452fe7acfa1e2ac30ea93c129eb4cda96ac1b4b19fdeff5ca3b/django_cap-0.3.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "97a202820210817bc63d9f91fb66d9b1a594ef05d67ebcd6a28f7ec3b48f0b8e",
                "md5": "70964fc50c82bbe33e089bfbb2cbf4ff",
                "sha256": "2892ffd83ef02a3f0d3f37ffa07bf9345f8ff33d9788b3d9eaced10275eae9dd"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "70964fc50c82bbe33e089bfbb2cbf4ff",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 274785,
            "upload_time": "2025-08-01T22:49:15",
            "upload_time_iso_8601": "2025-08-01T22:49:15.515126Z",
            "url": "https://files.pythonhosted.org/packages/97/a2/02820210817bc63d9f91fb66d9b1a594ef05d67ebcd6a28f7ec3b48f0b8e/django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "88eed3a28fffd4a9ec52669e4a3968271b4622433d894582c2a6f1c186325976",
                "md5": "85141145abdbf50cfb4e888a01318e92",
                "sha256": "8b947f28a6dc6f31f59bca730e957f13ab0759b653e361a4cf069c93e67967b4"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "85141145abdbf50cfb4e888a01318e92",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 284234,
            "upload_time": "2025-08-01T22:49:17",
            "upload_time_iso_8601": "2025-08-01T22:49:17.366238Z",
            "url": "https://files.pythonhosted.org/packages/88/ee/d3a28fffd4a9ec52669e4a3968271b4622433d894582c2a6f1c186325976/django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c8446d70564891dd09e21846a8968ceb6e4c80fd1f9854aedeb5ced2434bf7fa",
                "md5": "f32e694f33b7eaa0de50a8d6645a0e35",
                "sha256": "15e58f57e0f11d5b88ca5252867f96787a2822273b50eedab5e6c81e6eb836ad"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "f32e694f33b7eaa0de50a8d6645a0e35",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 407778,
            "upload_time": "2025-08-01T22:49:18",
            "upload_time_iso_8601": "2025-08-01T22:49:18.732331Z",
            "url": "https://files.pythonhosted.org/packages/c8/44/6d70564891dd09e21846a8968ceb6e4c80fd1f9854aedeb5ced2434bf7fa/django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e1d5e73a771f306d57d9bb74f4a498687a2b542e9adebe396379fd71c5ccbb8",
                "md5": "10d4f54c4c3ca0705968894b306cb736",
                "sha256": "9b68a2c7170f15fb5b9e40525c939feaa8bdb4630b27837fc02279af0278d819"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "10d4f54c4c3ca0705968894b306cb736",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 300771,
            "upload_time": "2025-08-01T22:49:19",
            "upload_time_iso_8601": "2025-08-01T22:49:19.926680Z",
            "url": "https://files.pythonhosted.org/packages/1e/1d/5e73a771f306d57d9bb74f4a498687a2b542e9adebe396379fd71c5ccbb8/django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ae311bc3464f6bbfd9668f5b6b885db5cac5b7008029f80bb9b3316ab314dc6c",
                "md5": "7b65915019c2d66ea5c6cacea49f7361",
                "sha256": "fd243582cddfe7b4cbb470091a2a9b2aeaba09608021e798f8670209620f8d74"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7b65915019c2d66ea5c6cacea49f7361",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 277925,
            "upload_time": "2025-08-01T22:49:21",
            "upload_time_iso_8601": "2025-08-01T22:49:21.126565Z",
            "url": "https://files.pythonhosted.org/packages/ae/31/1bc3464f6bbfd9668f5b6b885db5cac5b7008029f80bb9b3316ab314dc6c/django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee89f7fc19b7a4d6a03d59d1901af591c989dd850f5a03e75560b68fc8e263e5",
                "md5": "3ef9d421653ea23ab8e21ba45901e611",
                "sha256": "bb2dee38e8cb38ec6d373096e88ae99649b3940ae33964bc0e72a0a205aa9149"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "3ef9d421653ea23ab8e21ba45901e611",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 296383,
            "upload_time": "2025-08-01T22:49:22",
            "upload_time_iso_8601": "2025-08-01T22:49:22.361455Z",
            "url": "https://files.pythonhosted.org/packages/ee/89/f7fc19b7a4d6a03d59d1901af591c989dd850f5a03e75560b68fc8e263e5/django_cap-0.3.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cd6fb4a6094a54bbc2f51bde8632c8fdfb76259372766f7bf93dc3ec160a04d0",
                "md5": "fb16159f634c7c7d87f90a2ac08548b5",
                "sha256": "50e285ced9781ececab3b475ae8f4446b5688c3272271bfa9fd70e98040045ed"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fb16159f634c7c7d87f90a2ac08548b5",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 453051,
            "upload_time": "2025-08-01T22:49:23",
            "upload_time_iso_8601": "2025-08-01T22:49:23.565346Z",
            "url": "https://files.pythonhosted.org/packages/cd/6f/b4a6094a54bbc2f51bde8632c8fdfb76259372766f7bf93dc3ec160a04d0/django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c375e89b446f317546d88cb01d455737e683ab76b4ac2824cbbeee3cbd642d5a",
                "md5": "0dd99a3571445e7a06b7a1d559909eaf",
                "sha256": "ae051ad40575cd0e0ec96057004bb585566c59af5bd63f63090aacd69a7902f4"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "0dd99a3571445e7a06b7a1d559909eaf",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 546690,
            "upload_time": "2025-08-01T22:49:25",
            "upload_time_iso_8601": "2025-08-01T22:49:25.300613Z",
            "url": "https://files.pythonhosted.org/packages/c3/75/e89b446f317546d88cb01d455737e683ab76b4ac2824cbbeee3cbd642d5a/django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cb145e506ec0a9cbc84dfbf5ef1205eaae614ce0d9c9aaf8fc4cc1764d0b5e4a",
                "md5": "ad432b5875a9595dda1bae1f29546bf4",
                "sha256": "443528cdd83298d314fecaf6689ae037ccd508a332e0f1164a61b3cdd3f38d88"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "ad432b5875a9595dda1bae1f29546bf4",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 476364,
            "upload_time": "2025-08-01T22:49:26",
            "upload_time_iso_8601": "2025-08-01T22:49:26.922288Z",
            "url": "https://files.pythonhosted.org/packages/cb/14/5e506ec0a9cbc84dfbf5ef1205eaae614ce0d9c9aaf8fc4cc1764d0b5e4a/django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "31be739e7e972c0c28203c0a15fa091c6b1074ead6cc3d725c20f6b9765c5c9b",
                "md5": "2daf464f4b462da31fe538cc58c1e576",
                "sha256": "39860ec55ef65d25b1ba1f03f01b960507d6ffa97166590abf454662619ddaf5"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2daf464f4b462da31fe538cc58c1e576",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 448435,
            "upload_time": "2025-08-01T22:49:28",
            "upload_time_iso_8601": "2025-08-01T22:49:28.631572Z",
            "url": "https://files.pythonhosted.org/packages/31/be/739e7e972c0c28203c0a15fa091c6b1074ead6cc3d725c20f6b9765c5c9b/django_cap-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8077c7742b07d690ca2eb16ff38f060b8cfbbe8098a3d1cc76d5f39d7a5cea98",
                "md5": "3e99490c20c0cfd9dc19db837e4fd393",
                "sha256": "ee588692267ad8aaf4bb1297ab06f87c92d6fa7bba76a41371194ef4d3c87a25"
            },
            "downloads": -1,
            "filename": "django_cap-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3e99490c20c0cfd9dc19db837e4fd393",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 36576,
            "upload_time": "2025-08-01T22:49:29",
            "upload_time_iso_8601": "2025-08-01T22:49:29.826422Z",
            "url": "https://files.pythonhosted.org/packages/80/77/c7742b07d690ca2eb16ff38f060b8cfbbe8098a3d1cc76d5f39d7a5cea98/django_cap-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 22:49:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "somiona",
    "github_project": "django-cap",
    "github_not_found": true,
    "lcname": "django-cap"
}
        
Elapsed time: 1.23736s