<p align="center">
<img src="assets/bysykkel_logo.png" width="150" title="logo">
</p>
# tap-norwaycitybikeapi
`tap-norwaycitybikeapi` is a Singer tap for the [Trondheim](https://trondheimbysykkel.no/en/open-data/realtime), [Oslo](https://oslobysykkel.no/en/open-data/realtime) and [Bergen](https://bergenbysykkel.no/en/open-data/realtime) City Bike APIs.
Built with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.
> **Note**
> The City Bike APIs are published under the [Norwegian Licence for Open Government Data (NLOD) 2.0](https://data.norge.no/nlod/en/2.0).
## Capabilities
* `catalog`
* `state`
* `discover`
* `about`
* `stream-maps`
* `schema-flattening`
## Installation
Install from PyPi:
```bash
pipx install tap-norwaycitybikeapi
```
Install from GitHub:
```bash
pipx install git+https://github.com/andrejakobsen/tap-norwaycitybikeapi.git@main
```
## Configuration
There are two important configurations that need to be set to use this extractor: `client_identifier` and `city_name`
This can be done with the commands
```bash
meltano config tap-norwaycitybikeapi set client_identifier [value]
```
and
```bash
meltano config tap-norwaycitybikeapi set city_name [value]
```
### Accepted Config Options
| Setting | Required | Default | Description |
|:--------------------|:--------:|:-------:|:------------|
| client_identifier | True | None | The value should contain your company/organization name, follwed by a dash and the application's name. |
| city_name | True | oslo | Name of Norwegian city having City Bikes. Currently only available for Trondheim, Oslo and Bergen. |
| 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. |
A full list of supported settings and capabilities for this
tap is available by running:
```bash
tap-norwaycitybikeapi --about
```
### Configure using environment variables
This Singer tap will automatically import any environment variables within the working directory's
`.env` if the `--config=ENV` is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the `.env` file.
## Usage
You can easily run `tap-norwaycitybikeapi` by itself or in a pipeline using [Meltano](https://meltano.com/).
### Executing the Tap Directly
```bash
tap-norwaycitybikeapi --version
tap-norwaycitybikeapi --help
tap-norwaycitybikeapi --config CONFIG --discover > ./catalog.json
```
## Developer Resources
Follow these instructions to contribute to this project.
### Initialize your Development Environment
```bash
pipx install poetry
poetry install
```
### Create and Run Tests
Create tests within the `tests` subfolder and
then run:
```bash
poetry run pytest
```
You can also test the `tap-norwaycitybikeapi` CLI interface directly using `poetry run`:
```bash
poetry run tap-norwaycitybikeapi --help
```
### 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._
Next, install Meltano (if you haven't already) and any needed plugins:
```bash
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-norwaycitybikeapi
meltano install
```
Now you can test and orchestrate using Meltano:
```bash
# Test invocation:
meltano invoke tap-norwaycitybikeapi --version
# OR run a test `elt` pipeline:
meltano elt tap-norwaycitybikeapi 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-norwaycitybikeapi",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<3.12",
"maintainer_email": "",
"keywords": "ELT,NorwayCityBikeAPI",
"author": "Kristian Andr\u00e9 Jakobsen",
"author_email": "k.andrejakobsen@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/61/82/86ad05882d7fc04072d819ff0ca5b3800702bd28d9a18077b3dc146bf391/tap_norwaycitybikeapi-0.1.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"assets/bysykkel_logo.png\" width=\"150\" title=\"logo\">\n</p>\n\n# tap-norwaycitybikeapi\n\n`tap-norwaycitybikeapi` is a Singer tap for the [Trondheim](https://trondheimbysykkel.no/en/open-data/realtime), [Oslo](https://oslobysykkel.no/en/open-data/realtime) and [Bergen](https://bergenbysykkel.no/en/open-data/realtime) City Bike APIs.\n\nBuilt with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.\n\n> **Note**\n> The City Bike APIs are published under the [Norwegian Licence for Open Government Data (NLOD) 2.0](https://data.norge.no/nlod/en/2.0).\n\n\n## Capabilities\n\n* `catalog`\n* `state`\n* `discover`\n* `about`\n* `stream-maps`\n* `schema-flattening`\n\n## Installation\n\nInstall from PyPi:\n\n```bash\npipx install tap-norwaycitybikeapi\n```\n\nInstall from GitHub:\n\n```bash\npipx install git+https://github.com/andrejakobsen/tap-norwaycitybikeapi.git@main\n```\n\n## Configuration\nThere are two important configurations that need to be set to use this extractor: `client_identifier` and `city_name`\nThis can be done with the commands\n```bash\nmeltano config tap-norwaycitybikeapi set client_identifier [value]\n```\nand\n```bash\nmeltano config tap-norwaycitybikeapi set city_name [value]\n```\n### Accepted Config Options\n\n| Setting | Required | Default | Description |\n|:--------------------|:--------:|:-------:|:------------|\n| client_identifier | True | None | The value should contain your company/organization name, follwed by a dash and the application's name. |\n| city_name | True | oslo | Name of Norwegian city having City Bikes. Currently only available for Trondheim, Oslo and Bergen. |\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\nA full list of supported settings and capabilities for this\ntap is available by running:\n\n```bash\ntap-norwaycitybikeapi --about\n```\n\n### Configure using environment variables\n\nThis Singer tap will automatically import any environment variables within the working directory's\n`.env` if the `--config=ENV` is provided, such that config values will be considered if a matching\nenvironment variable is set either in the terminal context or in the `.env` file.\n\n## Usage\n\nYou can easily run `tap-norwaycitybikeapi` by itself or in a pipeline using [Meltano](https://meltano.com/).\n\n### Executing the Tap Directly\n\n```bash\ntap-norwaycitybikeapi --version\ntap-norwaycitybikeapi --help\ntap-norwaycitybikeapi --config CONFIG --discover > ./catalog.json\n```\n\n## Developer Resources\n\nFollow these instructions to contribute to this project.\n\n### Initialize your Development Environment\n\n```bash\npipx install poetry\npoetry install\n```\n\n### Create and Run Tests\n\nCreate tests within the `tests` subfolder and\n then run:\n\n```bash\npoetry run pytest\n```\n\nYou can also test the `tap-norwaycitybikeapi` CLI interface directly using `poetry run`:\n\n```bash\npoetry run tap-norwaycitybikeapi --help\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\nNext, install Meltano (if you haven't already) and any needed plugins:\n\n```bash\n# Install meltano\npipx install meltano\n# Initialize meltano within this directory\ncd tap-norwaycitybikeapi\nmeltano install\n```\n\nNow you can test and orchestrate using Meltano:\n\n```bash\n# Test invocation:\nmeltano invoke tap-norwaycitybikeapi --version\n# OR run a test `elt` pipeline:\nmeltano elt tap-norwaycitybikeapi 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": "Apache 2.0",
"summary": "`tap-norwaycitybikeapi` is a Singer tap for NorwayCityBikeAPI, built with the Meltano Singer SDK.",
"version": "0.1.1",
"split_keywords": [
"elt",
"norwaycitybikeapi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3498eefaf2c02683e7eafcc5234c2b9af7c69ff75def1f100f9fd421a3f92f57",
"md5": "1207bcdebe301e96a83f15fc1dab28f3",
"sha256": "78106c50eb26e8994e66b8b3b293ecce7f69db295e2dc779d6a5bd8a2b4ac576"
},
"downloads": -1,
"filename": "tap_norwaycitybikeapi-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1207bcdebe301e96a83f15fc1dab28f3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<3.12",
"size": 6405,
"upload_time": "2023-04-24T22:38:37",
"upload_time_iso_8601": "2023-04-24T22:38:37.716925Z",
"url": "https://files.pythonhosted.org/packages/34/98/eefaf2c02683e7eafcc5234c2b9af7c69ff75def1f100f9fd421a3f92f57/tap_norwaycitybikeapi-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "618286ad05882d7fc04072d819ff0ca5b3800702bd28d9a18077b3dc146bf391",
"md5": "c20e3f93622ad8f1436467d08a7205e9",
"sha256": "ef2e252ee9f982f1f64af435721061b466cf707a8e534e2938598f2353f345ef"
},
"downloads": -1,
"filename": "tap_norwaycitybikeapi-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "c20e3f93622ad8f1436467d08a7205e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<3.12",
"size": 5056,
"upload_time": "2023-04-24T22:38:39",
"upload_time_iso_8601": "2023-04-24T22:38:39.598584Z",
"url": "https://files.pythonhosted.org/packages/61/82/86ad05882d7fc04072d819ff0ca5b3800702bd28d9a18077b3dc146bf391/tap_norwaycitybikeapi-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-24 22:38:39",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "tap-norwaycitybikeapi"
}