app-store-download-count-badge-maker


Nameapp-store-download-count-badge-maker JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryA command-line tool to create badges displaying the number of app downloads from App Store
upload_time2025-10-10 15:16:48
maintainerNone
docs_urlNone
authorNone
requires_python<3.15,>=3.10
licenseNone
keywords app store apple badge download count
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # app-store-download-count-badge-maker

[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

[![PyPI Package version](https://badge.fury.io/py/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)
[![Python Supported versions](https://img.shields.io/pypi/pyversions/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)
[![format](https://img.shields.io/pypi/format/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)
[![implementation](https://img.shields.io/pypi/implementation/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)
[![LICENSE](https://img.shields.io/pypi/l/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)


A command-line tool to create badges displaying the number of app downloads from App Store

## Installation

```shell
$ pip install app-store-download-count-badge-maker
```

or

```shell
$ pipx install app-store-download-count-badge-maker
```

## Required

- Python 3.10 or later

## Features

- Generate badges for the App Store download count.
  - `app-store-download-count-badge-maker generate` command.
- Generate index.html from config.yml.
  - `app-store-download-count-badge-maker make-index` command.

## Usage

```shell
$ app-store-download-count-badge-maker generate \
  --config config.yml \
  --output dist
```

By default, the `--config (or -c)` option is set to `config.yml` and the `--output (or -o)` options is set to `dist`.

> [!NOTE]
> The count is based on 3 days prior to the execution date.

## Configuration

Create a configuration file in YAML format.  
The recommended name is `config.yml`.

### Configuration Details

The configuration file `config.yml` should contain the following sections:

- `secrets`: This section holds the credentials required to access the App Store Connect API.
  - `private_key`: Path to the private key file (e.g., `private.p8`). The private key must have access **Finance**.
  - `issuer_id`: The issuer ID from App Store Connect.
  - `key_id`: The key ID from App Store Connect.
  - `vendor_number`: The vendor number associated with your App Store account. [View payments and proceeds](https://developer.apple.com/help/app-store-connect/getting-paid/view-payments-and-proceeds)
- `apps`: A list of applications for which you want to create download count badges.
  - `apple_identifier`: The unique identifier for the app in the App Store.
  - `frequency`: The frequency at which you want to generate the badge. Must be one of `DAILY`, `WEEKLY`, `MONTHLY`, `YEARLY`.
  - `badge_style` (Optional): The style of the badge. Must be one of `flat` (default), `flat-square`, `plastic`, `for-the-badge`, `social`.

### Example Configuration

```yaml
secrets:
  private_key: private.p8
  issuer_id: 12345678-1234-1234-1234-123456789012
  key_id: 12345678
  vendor_number: 12345678
apps:
  - apple_identifier: 1289764391
    frequency: MONTHLY
  - apple_identifier: 1234567890
    frequency: WEEKLY
    badge_style: flat-square
```

## Badge Creation :sparkles:

This tool uses [Shields.io](https://shields.io/) to create badges displaying the number of app downloads from App Store.

### Examples

|  Frequency  | Badge Style                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:-----------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|   YEARLY    | ![year-flat](https://img.shields.io/badge/download-1.2k%2Fyear-brightgreen?style=flat&cacheSeconds=31536000) ![year-flat-square](https://img.shields.io/badge/download-123%2Fyear-green?style=flat-square&cacheSeconds=31536000) ![year-plastic](https://img.shields.io/badge/download-99%2Fyear-yellowgreen?style=plastic&cacheSeconds=31536000) ![year-for-the-badge](https://img.shields.io/badge/download-9%2Fyear-yellow?style=for-the-badge&cacheSeconds=31536000) ![year-social](https://img.shields.io/badge/download-0%2Fyear-yellow?style=social&cacheSeconds=31536000)           |
|   MONTHLY   | ![month-flat](https://img.shields.io/badge/download-1.2k%2Fmonth-brightgreen?style=flat&cacheSeconds=31536000) ![month-flat-square](https://img.shields.io/badge/download-123%2Fmonth-green?style=flat-square&cacheSeconds=31536000) ![month-plastic](https://img.shields.io/badge/download-99%2Fmonth-yellowgreen?style=plastic&cacheSeconds=31536000) ![month-for-the-badge](https://img.shields.io/badge/download-9%2Fmonth-yellow?style=for-the-badge&cacheSeconds=31536000) ![month-social](https://img.shields.io/badge/download-0%2Fmonth-yellow?style=social&cacheSeconds=31536000) |
|   WEEKLY    | ![week-flat](https://img.shields.io/badge/download-1.2k%2Fweek-brightgreen?style=flat&cacheSeconds=31536000) ![week-flat-square](https://img.shields.io/badge/download-123%2Fweek-green?style=flat-square&cacheSeconds=31536000) ![week-plastic](https://img.shields.io/badge/download-99%2Fweek-yellowgreen?style=plastic&cacheSeconds=31536000) ![week-for-the-badge](https://img.shields.io/badge/download-9%2Fweek-yellow?style=for-the-badge&cacheSeconds=31536000) ![week-social](https://img.shields.io/badge/download-0%2Fweek-yellow?style=social&cacheSeconds=31536000)           |
|    DAILY    | ![day-flat](https://img.shields.io/badge/download-1.2k%2Fday-brightgreen?style=flat&cacheSeconds=31536000) ![day-flat-square](https://img.shields.io/badge/download-123%2Fday-green?style=flat-square&cacheSeconds=31536000) ![day-plastic](https://img.shields.io/badge/download-99%2Fday-yellowgreen?style=plastic&cacheSeconds=31536000) ![day-for-the-badge](https://img.shields.io/badge/download-9%2Fday-yellow?style=for-the-badge&cacheSeconds=31536000) ![day-social](https://img.shields.io/badge/download-0%2Fday-yellow?style=social&cacheSeconds=31536000)                     |

## Projects using `app-store-download-count-badge-maker`

- [nnsnodnb/self-app-store-download-count-badges](https://github.com/nnsnodnb/self-app-store-download-count-badges)

## License

This software is licensed under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "app-store-download-count-badge-maker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.15,>=3.10",
    "maintainer_email": null,
    "keywords": "app store, apple, badge, download count",
    "author": null,
    "author_email": "nnsnodnb <nnsnodnb@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/80/af/0e41078ba1944ed3e413b2971bc7308f988bb0621155022802230d26a9c8/app_store_download_count_badge_maker-0.4.0.tar.gz",
    "platform": null,
    "description": "# app-store-download-count-badge-maker\n\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n[![PyPI Package version](https://badge.fury.io/py/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)\n[![Python Supported versions](https://img.shields.io/pypi/pyversions/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)\n[![format](https://img.shields.io/pypi/format/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)\n[![implementation](https://img.shields.io/pypi/implementation/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)\n[![LICENSE](https://img.shields.io/pypi/l/app-store-download-count-badge-maker.svg)](https://pypi.org/project/app-store-download-count-badge-maker)\n\n\nA command-line tool to create badges displaying the number of app downloads from App Store\n\n## Installation\n\n```shell\n$ pip install app-store-download-count-badge-maker\n```\n\nor\n\n```shell\n$ pipx install app-store-download-count-badge-maker\n```\n\n## Required\n\n- Python 3.10 or later\n\n## Features\n\n- Generate badges for the App Store download count.\n  - `app-store-download-count-badge-maker generate` command.\n- Generate index.html from config.yml.\n  - `app-store-download-count-badge-maker make-index` command.\n\n## Usage\n\n```shell\n$ app-store-download-count-badge-maker generate \\\n  --config config.yml \\\n  --output dist\n```\n\nBy default, the `--config (or -c)` option is set to `config.yml` and the `--output (or -o)` options is set to `dist`.\n\n> [!NOTE]\n> The count is based on 3 days prior to the execution date.\n\n## Configuration\n\nCreate a configuration file in YAML format.  \nThe recommended name is `config.yml`.\n\n### Configuration Details\n\nThe configuration file `config.yml` should contain the following sections:\n\n- `secrets`: This section holds the credentials required to access the App Store Connect API.\n  - `private_key`: Path to the private key file (e.g., `private.p8`). The private key must have access **Finance**.\n  - `issuer_id`: The issuer ID from App Store Connect.\n  - `key_id`: The key ID from App Store Connect.\n  - `vendor_number`: The vendor number associated with your App Store account. [View payments and proceeds](https://developer.apple.com/help/app-store-connect/getting-paid/view-payments-and-proceeds)\n- `apps`: A list of applications for which you want to create download count badges.\n  - `apple_identifier`: The unique identifier for the app in the App Store.\n  - `frequency`: The frequency at which you want to generate the badge. Must be one of `DAILY`, `WEEKLY`, `MONTHLY`, `YEARLY`.\n  - `badge_style` (Optional): The style of the badge. Must be one of `flat` (default), `flat-square`, `plastic`, `for-the-badge`, `social`.\n\n### Example Configuration\n\n```yaml\nsecrets:\n  private_key: private.p8\n  issuer_id: 12345678-1234-1234-1234-123456789012\n  key_id: 12345678\n  vendor_number: 12345678\napps:\n  - apple_identifier: 1289764391\n    frequency: MONTHLY\n  - apple_identifier: 1234567890\n    frequency: WEEKLY\n    badge_style: flat-square\n```\n\n## Badge Creation :sparkles:\n\nThis tool uses [Shields.io](https://shields.io/) to create badges displaying the number of app downloads from App Store.\n\n### Examples\n\n|  Frequency  | Badge Style                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n|:-----------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|   YEARLY    | ![year-flat](https://img.shields.io/badge/download-1.2k%2Fyear-brightgreen?style=flat&cacheSeconds=31536000) ![year-flat-square](https://img.shields.io/badge/download-123%2Fyear-green?style=flat-square&cacheSeconds=31536000) ![year-plastic](https://img.shields.io/badge/download-99%2Fyear-yellowgreen?style=plastic&cacheSeconds=31536000) ![year-for-the-badge](https://img.shields.io/badge/download-9%2Fyear-yellow?style=for-the-badge&cacheSeconds=31536000) ![year-social](https://img.shields.io/badge/download-0%2Fyear-yellow?style=social&cacheSeconds=31536000)           |\n|   MONTHLY   | ![month-flat](https://img.shields.io/badge/download-1.2k%2Fmonth-brightgreen?style=flat&cacheSeconds=31536000) ![month-flat-square](https://img.shields.io/badge/download-123%2Fmonth-green?style=flat-square&cacheSeconds=31536000) ![month-plastic](https://img.shields.io/badge/download-99%2Fmonth-yellowgreen?style=plastic&cacheSeconds=31536000) ![month-for-the-badge](https://img.shields.io/badge/download-9%2Fmonth-yellow?style=for-the-badge&cacheSeconds=31536000) ![month-social](https://img.shields.io/badge/download-0%2Fmonth-yellow?style=social&cacheSeconds=31536000) |\n|   WEEKLY    | ![week-flat](https://img.shields.io/badge/download-1.2k%2Fweek-brightgreen?style=flat&cacheSeconds=31536000) ![week-flat-square](https://img.shields.io/badge/download-123%2Fweek-green?style=flat-square&cacheSeconds=31536000) ![week-plastic](https://img.shields.io/badge/download-99%2Fweek-yellowgreen?style=plastic&cacheSeconds=31536000) ![week-for-the-badge](https://img.shields.io/badge/download-9%2Fweek-yellow?style=for-the-badge&cacheSeconds=31536000) ![week-social](https://img.shields.io/badge/download-0%2Fweek-yellow?style=social&cacheSeconds=31536000)           |\n|    DAILY    | ![day-flat](https://img.shields.io/badge/download-1.2k%2Fday-brightgreen?style=flat&cacheSeconds=31536000) ![day-flat-square](https://img.shields.io/badge/download-123%2Fday-green?style=flat-square&cacheSeconds=31536000) ![day-plastic](https://img.shields.io/badge/download-99%2Fday-yellowgreen?style=plastic&cacheSeconds=31536000) ![day-for-the-badge](https://img.shields.io/badge/download-9%2Fday-yellow?style=for-the-badge&cacheSeconds=31536000) ![day-social](https://img.shields.io/badge/download-0%2Fday-yellow?style=social&cacheSeconds=31536000)                     |\n\n## Projects using `app-store-download-count-badge-maker`\n\n- [nnsnodnb/self-app-store-download-count-badges](https://github.com/nnsnodnb/self-app-store-download-count-badges)\n\n## License\n\nThis software is licensed under the MIT License.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A command-line tool to create badges displaying the number of app downloads from App Store",
    "version": "0.4.0",
    "project_urls": {
        "repository": "https://github.com/nnsnodnb/app-store-download-count-badge-maker"
    },
    "split_keywords": [
        "app store",
        " apple",
        " badge",
        " download count"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eecc57a046c1239ac1c9ad95a4a2d7aa0280007f140c23ae370faa9e7e7e70d6",
                "md5": "fcb067d0281448e6f5edc63cdf1eae07",
                "sha256": "9b026f313e3ce202157f699084a06a38e57663f0096a043db4c3fa6f2e81617c"
            },
            "downloads": -1,
            "filename": "app_store_download_count_badge_maker-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fcb067d0281448e6f5edc63cdf1eae07",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.15,>=3.10",
            "size": 10480,
            "upload_time": "2025-10-10T15:16:47",
            "upload_time_iso_8601": "2025-10-10T15:16:47.133372Z",
            "url": "https://files.pythonhosted.org/packages/ee/cc/57a046c1239ac1c9ad95a4a2d7aa0280007f140c23ae370faa9e7e7e70d6/app_store_download_count_badge_maker-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80af0e41078ba1944ed3e413b2971bc7308f988bb0621155022802230d26a9c8",
                "md5": "8c3946267b4654ebcea282ef9df99fd7",
                "sha256": "a510670c6f08589bc938c615a0ccf5fa9a0b2a0932b50a2981f01915f8b22e6e"
            },
            "downloads": -1,
            "filename": "app_store_download_count_badge_maker-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8c3946267b4654ebcea282ef9df99fd7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.15,>=3.10",
            "size": 9654,
            "upload_time": "2025-10-10T15:16:48",
            "upload_time_iso_8601": "2025-10-10T15:16:48.215783Z",
            "url": "https://files.pythonhosted.org/packages/80/af/0e41078ba1944ed3e413b2971bc7308f988bb0621155022802230d26a9c8/app_store_download_count_badge_maker-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-10 15:16:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nnsnodnb",
    "github_project": "app-store-download-count-badge-maker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "app-store-download-count-badge-maker"
}
        
Elapsed time: 2.14268s