tap-bitly


Nametap-bitly JSON
Version 0.2.0 PyPI version JSON
download
home_page
Summary`tap-bitly` is a Singer tap for Bitly, built with the Meltano SDK for Singer Taps.
upload_time2024-01-02 18:33:22
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords bitly elt singer.io
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

# tap-bitly

<div>
  <a href="https://results.pre-commit.ci/latest/github/edgarrmondragon/tap-bitly/main">
    <img alt="pre-commit.ci status" src="https://results.pre-commit.ci/badge/github/edgarrmondragon/tap-bitly/main.svg"/>
  </a>
  <a href="https://github.com/edgarrmondragon/tap-bitly/blob/main/LICENSE">
    <img alt="License" src="https://img.shields.io/github/license/edgarrmondragon/tap-bitly"/>
  </a>
  <a href="https://github.com/astral-sh/ruff">
    <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json" alt="Ruff" style="max-width:100%;">
  </a>
  <a href="https://github.com/pypa/hatch">
    <img alt="Hatch project" src="https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg"/>
  </a>
</div>

Singer tap for [Bitly](https://bitly.com/). Built with the [Meltano Singer SDK](https://sdk.meltano.com).

</div>

## Capabilities

* `catalog`
* `state`
* `discover`
* `about`
* `stream-maps`
* `schema-flattening`

## Settings

| Setting              | Required | Default | Description                                                                                                                                 |
| :------------------- | :------: | :-----: | :------------------------------------------------------------------------------------------------------------------------------------------ |
| token                |   True   |  None   | API Token for Bitly                                                                                                                         |
| include_paid_streams |  False   |  False  | Whether to sync paid streams                                                                                                                |
| start_date           |  False   |  None   | Earliest datetime to get data from                                                                                                          |
| stream_maps          |  False   |  None   | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). |
| stream_map_config    |  False   |  None   | User-defined config values to be used within map expressions.                                                                               |
| flattening_enabled   |  False   |  None   | 'True' to enable schema flattening and automatically expand nested properties.                                                              |
| flattening_max_depth |  False   |  None   | The max depth to flatten schemas.                                                                                                           |

## Supported Streams

| Stream Name              | Endpoint                                                                                           | Notes                 |
| :----------------------- | :------------------------------------------------------------------------------------------------- | :-------------------- |
| `groups`                 | [/v4/groups](https://dev.bitly.com/api-reference/#getGroups)                                       |                       |
| `bitlinks`               | [/v4/groups/{group_guid}/bitlinks](https://dev.bitly.com/api-reference/#getBitlinksByGroup)        |                       |
| `bsds`                   | [/v4/bsds](https://dev.bitly.com/api-reference/#getBSDs)                                           |                       |
| `campaigns`              | [/v4/campaigns](https://dev.bitly.com/api-reference/#getCampaigns)                                 |                       |
| `channels`               | [/v4/channels](https://dev.bitly.com/api-reference/#getChannels)                                   |                       |
| `organizations`          | [/v4/organizations](https://dev.bitly.com/api-reference/#getOrganizations)                         |                       |
| `webhooks`               | [/v4/organizations/{organization_guid}/webhooks](https://dev.bitly.com/api-reference/#getWebhooks) | Requires paid account |
| `daily_bitlink_clicks`   | [/v4/bitlinks/{bitlink}/clicks](https://dev.bitly.com/api-reference/#getClicksForBitlink)          |                       |
| `monthly_bitlink_clicks` | [/v4/bitlinks/{bitlink}/clicks](https://dev.bitly.com/api-reference/#getClicksForBitlink)          |                       |

A full list of supported settings and capabilities is available by running: `tap-bitly --about`

### Source Authentication and Authorization

Generate an access token from the [Bitly API Console](https://app.bitly.com/settings/api/).

## Usage

You can easily run `tap-bitly` by itself or in a pipeline using [Meltano](https://meltano.com/).

### Executing the Tap Directly

```bash
tap-bitly --version
tap-bitly --help
tap-bitly --config CONFIG --discover > ./catalog.json
```

## Developer Resources

### Initialize your Development Environment

```bash
pipx install hatch
```

### Create and Run Tests

Run integration tests:

```bash
hatch run tests:integration
```

You can also test the `tap-bitly` CLI interface directly:

```bash
hatch run sync:console -- --about --format=json
```

### Testing with [Meltano](https://www.meltano.com)

_**Note:** This tap will work in any Singer environment and does not require Meltano.
Examples here are for convenience and to streamline end-to-end orchestration scenarios._

Your project comes with a custom `meltano.yml` project file already created. Go ahead and [install Meltano](https://docs.meltano.com/getting-started/installation/) if you haven't already.

1. Install all plugins

   ```bash
   meltano install
   ```

2. Check that the extractor is working properly

   ```bash
   meltano invoke tap-bitly --version
   ```

3. Execute an ELT pipeline

   ```bash
   meltano run tap-bitly target-jsonl
   ```

### SDK Dev Guide

See the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to
develop your own taps and targets.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "tap-bitly",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Edgar Ramirez-Mondragon <edgarrm358@gmail.com>",
    "keywords": "Bitly,ELT,singer.io",
    "author": "",
    "author_email": "Edgar Ramirez-Mondragon <edgarrm358@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4d/21/868746be59ad85e7fda7ff05991a977bdc5b04aa9817d3c8a2d9c2cdf1e5/tap_bitly-0.2.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n# tap-bitly\n\n<div>\n  <a href=\"https://results.pre-commit.ci/latest/github/edgarrmondragon/tap-bitly/main\">\n    <img alt=\"pre-commit.ci status\" src=\"https://results.pre-commit.ci/badge/github/edgarrmondragon/tap-bitly/main.svg\"/>\n  </a>\n  <a href=\"https://github.com/edgarrmondragon/tap-bitly/blob/main/LICENSE\">\n    <img alt=\"License\" src=\"https://img.shields.io/github/license/edgarrmondragon/tap-bitly\"/>\n  </a>\n  <a href=\"https://github.com/astral-sh/ruff\">\n    <img src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"Ruff\" style=\"max-width:100%;\">\n  </a>\n  <a href=\"https://github.com/pypa/hatch\">\n    <img alt=\"Hatch project\" src=\"https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg\"/>\n  </a>\n</div>\n\nSinger tap for [Bitly](https://bitly.com/). Built with the [Meltano Singer SDK](https://sdk.meltano.com).\n\n</div>\n\n## Capabilities\n\n* `catalog`\n* `state`\n* `discover`\n* `about`\n* `stream-maps`\n* `schema-flattening`\n\n## Settings\n\n| Setting              | Required | Default | Description                                                                                                                                 |\n| :------------------- | :------: | :-----: | :------------------------------------------------------------------------------------------------------------------------------------------ |\n| token                |   True   |  None   | API Token for Bitly                                                                                                                         |\n| include_paid_streams |  False   |  False  | Whether to sync paid streams                                                                                                                |\n| start_date           |  False   |  None   | Earliest datetime to get data from                                                                                                          |\n| stream_maps          |  False   |  None   | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). |\n| stream_map_config    |  False   |  None   | User-defined config values to be used within map expressions.                                                                               |\n| flattening_enabled   |  False   |  None   | 'True' to enable schema flattening and automatically expand nested properties.                                                              |\n| flattening_max_depth |  False   |  None   | The max depth to flatten schemas.                                                                                                           |\n\n## Supported Streams\n\n| Stream Name              | Endpoint                                                                                           | Notes                 |\n| :----------------------- | :------------------------------------------------------------------------------------------------- | :-------------------- |\n| `groups`                 | [/v4/groups](https://dev.bitly.com/api-reference/#getGroups)                                       |                       |\n| `bitlinks`               | [/v4/groups/{group_guid}/bitlinks](https://dev.bitly.com/api-reference/#getBitlinksByGroup)        |                       |\n| `bsds`                   | [/v4/bsds](https://dev.bitly.com/api-reference/#getBSDs)                                           |                       |\n| `campaigns`              | [/v4/campaigns](https://dev.bitly.com/api-reference/#getCampaigns)                                 |                       |\n| `channels`               | [/v4/channels](https://dev.bitly.com/api-reference/#getChannels)                                   |                       |\n| `organizations`          | [/v4/organizations](https://dev.bitly.com/api-reference/#getOrganizations)                         |                       |\n| `webhooks`               | [/v4/organizations/{organization_guid}/webhooks](https://dev.bitly.com/api-reference/#getWebhooks) | Requires paid account |\n| `daily_bitlink_clicks`   | [/v4/bitlinks/{bitlink}/clicks](https://dev.bitly.com/api-reference/#getClicksForBitlink)          |                       |\n| `monthly_bitlink_clicks` | [/v4/bitlinks/{bitlink}/clicks](https://dev.bitly.com/api-reference/#getClicksForBitlink)          |                       |\n\nA full list of supported settings and capabilities is available by running: `tap-bitly --about`\n\n### Source Authentication and Authorization\n\nGenerate an access token from the [Bitly API Console](https://app.bitly.com/settings/api/).\n\n## Usage\n\nYou can easily run `tap-bitly` by itself or in a pipeline using [Meltano](https://meltano.com/).\n\n### Executing the Tap Directly\n\n```bash\ntap-bitly --version\ntap-bitly --help\ntap-bitly --config CONFIG --discover > ./catalog.json\n```\n\n## Developer Resources\n\n### Initialize your Development Environment\n\n```bash\npipx install hatch\n```\n\n### Create and Run Tests\n\nRun integration tests:\n\n```bash\nhatch run tests:integration\n```\n\nYou can also test the `tap-bitly` CLI interface directly:\n\n```bash\nhatch run sync:console -- --about --format=json\n```\n\n### Testing with [Meltano](https://www.meltano.com)\n\n_**Note:** This tap will work in any Singer environment and does not require Meltano.\nExamples here are for convenience and to streamline end-to-end orchestration scenarios._\n\nYour project comes with a custom `meltano.yml` project file already created. Go ahead and [install Meltano](https://docs.meltano.com/getting-started/installation/) if you haven't already.\n\n1. Install all plugins\n\n   ```bash\n   meltano install\n   ```\n\n2. Check that the extractor is working properly\n\n   ```bash\n   meltano invoke tap-bitly --version\n   ```\n\n3. Execute an ELT pipeline\n\n   ```bash\n   meltano run tap-bitly target-jsonl\n   ```\n\n### SDK Dev Guide\n\nSee the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to\ndevelop your own taps and targets.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "`tap-bitly` is a Singer tap for Bitly, built with the Meltano SDK for Singer Taps.",
    "version": "0.2.0",
    "project_urls": {
        "documentation": "https://github.com/edgarrmondragon/tap-bitly#readme",
        "homepage": "https://github.com/edgarrmondragon/tap-bitly",
        "repository": "https://github.com/edgarrmondragon/tap-bitly"
    },
    "split_keywords": [
        "bitly",
        "elt",
        "singer.io"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3412c5d64d19afdbeb1d7b00f5018d2fa098a979183ec7de43267cc3704ee600",
                "md5": "befd79706d97c0611fa7093872407133",
                "sha256": "e217e4513b2ee4996c2ca93d28b71848c0d553062aa61827715096a5c2bed5d1"
            },
            "downloads": -1,
            "filename": "tap_bitly-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "befd79706d97c0611fa7093872407133",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 11371,
            "upload_time": "2024-01-02T18:33:19",
            "upload_time_iso_8601": "2024-01-02T18:33:19.065254Z",
            "url": "https://files.pythonhosted.org/packages/34/12/c5d64d19afdbeb1d7b00f5018d2fa098a979183ec7de43267cc3704ee600/tap_bitly-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d21868746be59ad85e7fda7ff05991a977bdc5b04aa9817d3c8a2d9c2cdf1e5",
                "md5": "9785bc5b10d554740ae3de40606baae4",
                "sha256": "2ac4809446d5613791db52040ed2434e1d86facb36945c381be7883046f503be"
            },
            "downloads": -1,
            "filename": "tap_bitly-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9785bc5b10d554740ae3de40606baae4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 14419,
            "upload_time": "2024-01-02T18:33:22",
            "upload_time_iso_8601": "2024-01-02T18:33:22.512934Z",
            "url": "https://files.pythonhosted.org/packages/4d/21/868746be59ad85e7fda7ff05991a977bdc5b04aa9817d3c8a2d9c2cdf1e5/tap_bitly-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 18:33:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "edgarrmondragon",
    "github_project": "tap-bitly#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tap-bitly"
}
        
Elapsed time: 0.22015s