{ "info": { "author": "datamill", "author_email": "", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3 :: Only" ], "description": "# singer-runner\n\nSinger Runner manages tap and target processes, as well as metrics, state, and configuration.\n\n## Features\n- Run a tap or target\n- Pass run options via CLI paramters or JSON/YAML config file.\n- Use local file system or S3 for piping the singer stream, storing state, and storing metrics.\n- Metric storage, piping, and state storage can be extended / customized by inheriting from the base classes.\n\n## Usage\n\nRequires python 3, tested with python 3.7\n\n### Install\n\n```sh\npip install singer-runner\n```\n\n### Run\n\n```sh\n$ singer-runner \nUsage: singer-runner [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n run-tap\n run-target\n```\n\n## Concepts\n\n- Pipes\n - Pipes move a stream of [Singer messages](https://github.com/singer-io/getting-started/blob/master/docs/SPEC.md#output) from tap to target. A pipe could be as simple as a local file, a file in S3, or Kafka.\n- State Storage\n\t- Loads/saves the [state JSON](https://github.com/singer-io/getting-started/blob/master/docs/CONFIG_AND_STATE.md#state-file).\n- Metrics Storage\n - Accepts a stream of [Singer Metrics](https://github.com/singer-io/getting-started/blob/master/docs/SYNC_MODE.md#metric-messages)\n\n\n## Programmatic Usage\n\nSinger runner can be used within any python application. The primary functions are in `singer_runner.runner` including:\n- `run_tap` runs a tap\n- `run_target` runs a target\n\nClasses in the `singer_runner.metrics`, `singer_runner.pipes`, and `singer_runner.state` can be used as arguemnts, along with catalog/config.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/datamill-co/singer-runner", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "singer-runner", "package_url": "https://pypi.org/project/singer-runner/", "platform": "", "project_url": "https://pypi.org/project/singer-runner/", "project_urls": { "Homepage": "https://github.com/datamill-co/singer-runner" }, "release_url": "https://pypi.org/project/singer-runner/0.0.2/", "requires_dist": [ "pyyaml (>=4.2b1)", "smart-open (==1.8.0)", "click (==7.0)", "google-cloud-storage (==1.15.1) ; extra == 'gcs'" ], "requires_python": "", "summary": "Runs Singer.io taps and targets, adding additional tooling.", "version": "0.0.2" }, "last_serial": 5368591, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "bca688ff5a104060736f2762b02feb15", "sha256": "151bdb444289a9ebaff13807b6c40be7fa807e9c54599e2c29efd916102cb81b" }, "downloads": -1, "filename": "singer_runner-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bca688ff5a104060736f2762b02feb15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14118, "upload_time": "2019-04-27T21:48:06", "url": "https://files.pythonhosted.org/packages/9a/74/3197bb367a0d14317386c27619067fa6e154237cea3086dd6aad60f70530/singer_runner-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9feb5a3a305edc97f72b141bec1c437e", "sha256": "9ebbbe0be34db62887c00035b50459678bd6c8289cfc4e42f555870ce1d87c47" }, "downloads": -1, "filename": "singer-runner-0.0.1.tar.gz", "has_sig": false, "md5_digest": "9feb5a3a305edc97f72b141bec1c437e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7089, "upload_time": "2019-04-27T21:48:17", "url": "https://files.pythonhosted.org/packages/ab/4c/729d1bf0ecd4941c60bb18ee73b85d0e78c25a6d7ad183f48cf5618ca23b/singer-runner-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "10aa5258273c34303c837cd3e632be5b", "sha256": "11117303fd100b8afc73df8de0bc87ca664cd50b8245f840ecb98c5aec6fbc3d" }, "downloads": -1, "filename": "singer_runner-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "10aa5258273c34303c837cd3e632be5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15763, "upload_time": "2019-06-06T19:10:23", "url": "https://files.pythonhosted.org/packages/76/ef/44f844b5125f77f25d47c2bc8ca215ddb43cab364211fe35d9f13e6f37f7/singer_runner-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0d7127a8465914f5c79c5108fe863e0", "sha256": "b22af5b4772362e021909c4f04a255eb16e22f2373a652f5a2d9f8b870c342cc" }, "downloads": -1, "filename": "singer-runner-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b0d7127a8465914f5c79c5108fe863e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8316, "upload_time": "2019-06-06T19:10:25", "url": "https://files.pythonhosted.org/packages/72/d8/4d450b59311ddebf5619b92f0dc03dbd993b1c6b424932d9186b1d266c84/singer-runner-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "10aa5258273c34303c837cd3e632be5b", "sha256": "11117303fd100b8afc73df8de0bc87ca664cd50b8245f840ecb98c5aec6fbc3d" }, "downloads": -1, "filename": "singer_runner-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "10aa5258273c34303c837cd3e632be5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15763, "upload_time": "2019-06-06T19:10:23", "url": "https://files.pythonhosted.org/packages/76/ef/44f844b5125f77f25d47c2bc8ca215ddb43cab364211fe35d9f13e6f37f7/singer_runner-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0d7127a8465914f5c79c5108fe863e0", "sha256": "b22af5b4772362e021909c4f04a255eb16e22f2373a652f5a2d9f8b870c342cc" }, "downloads": -1, "filename": "singer-runner-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b0d7127a8465914f5c79c5108fe863e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8316, "upload_time": "2019-06-06T19:10:25", "url": "https://files.pythonhosted.org/packages/72/d8/4d450b59311ddebf5619b92f0dc03dbd993b1c6b424932d9186b1d266c84/singer-runner-0.0.2.tar.gz" } ] }