{ "info": { "author": "Tomohiro Murota", "author_email": "tomohiro.murota@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# jma-feed\n\nPython client library for [JMA feed](http://xml.kishou.go.jp/xmlpull.html).\n\nThis project was generated with [cookiecutter](https://github.com/audreyr/cookiecutter) using [jacebrowning/template-python](https://github.com/jacebrowning/template-python).\n\n[![Unix Build Status](https://img.shields.io/travis/tearoom6/jma-feed/master.svg?label=unix)](https://travis-ci.org/tearoom6/jma-feed)\n[![Coverage Status](https://img.shields.io/coveralls/tearoom6/jma-feed/master.svg)](https://coveralls.io/r/tearoom6/jma-feed)\n[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/tearoom6/jma-feed.svg)](https://scrutinizer-ci.com/g/tearoom6/jma-feed/?branch=master)\n[![Documentation Status](https://img.shields.io/readthedocs/jma-feed/latest.svg)](https://jma-feed.readthedocs.io/en/latest/?badge=latest)\n[![PyPI Version](https://img.shields.io/pypi/v/jma-feed.svg)](https://pypi.org/project/jma-feed)\n[![PyPI License](https://img.shields.io/pypi/l/jma-feed.svg)](https://pypi.org/project/jma-feed)\n\n# Setup\n\n## Requirements\n\n* Python 3.6+\n\n## Installation\n\nInstall jma-feed with pip:\n\n```sh\n$ pip install jma-feed\n```\n\nor directly from the source code:\n\n```sh\n$ git clone https://github.com/tearoom6/jma-feed.git\n$ cd jma-feed\n$ python setup.py install\n```\n\n# Usage\n\nAfter installation, the package can imported:\n\n```python\nimport jma_feed\njma_feed.__version__\n```\n\nReport can be retrieved from Atom feeds:\n\n```python\nall_reports = jma_feed.fetch_all_reports(long_term=False)\nall_meteorology_reports = jma_feed.fetch_all_meteorology_reports(long_term=False)\nall_seismology_reports = jma_feed.fetch_all_seismology_reports(long_term=False)\nall_volcanology_reports = jma_feed.fetch_all_volcanology_reports(long_term=False)\n```\n\nReport API:\n\n```python\ncontrol = report.control\nprint(control.title)\nprint(control.date_time)\nprint(control.status)\nprint(control.editorial_office)\nprint(control.publishing_office)\n\nhead = report.head\nprint(head.title)\nprint(head.report_date_time)\nprint(head.target_date_time)\nprint(head.event_id)\nprint(head.info_type)\nprint(head.serial)\nprint(head.info_kind)\nprint(head.info_kind_version)\nprint(head.headline_text)\nfor headline_information in head.headline_information_list:\n print(headline_information.type)\n for item in headline_information.items:\n print(item.areas_code_type)\n for kind in item.kinds:\n print(kind.name)\n print(kind.code)\n print(kind.condition)\n for area in item.areas:\n print(area.name)\n print(area.code)\n\nbody = report.body\n\n# Meteorology\nif isinstance(body, jma_feed.ReportBodyMeteorology):\n target_area = body.target_area\n if target_area:\n print(target_area.name)\n print(target_area.code)\n comment = body.comment\n if comment:\n for text in comment.texts:\n print(text.text)\n for notice in body.notices:\n print(notice)\n for warning in body.warnings:\n for item in warning.items:\n print(item.change_status)\n print(item.full_status)\n print(item.editing_mark)\n if item.area:\n print(item.area.name)\n print(item.area.code)\n for kind in item.kinds:\n print(kind.name)\n print(kind.code)\n print(kind.status)\n print(kind.condition)\n for meteorological_info in body.meteorological_infos:\n print(meteorological_info.date_time)\n print(meteorological_info.duration)\n print(meteorological_info.name)\n for item in meteorological_info.items:\n print(item.change_status)\n print(item.full_status)\n print(item.editing_mark)\n if item.area:\n print(item.area.name)\n print(item.area.code)\n for kind in item.kinds:\n print(kind.name)\n print(kind.code)\n print(kind.status)\n print(kind.condition)\n for time_series_info in body.time_series_infos:\n for time_define in meteorological_info.time_defines:\n print(time_define.date_time)\n print(time_define.duration)\n print(time_define.name)\n for item in meteorological_info.items:\n print(item.change_status)\n print(item.full_status)\n print(item.editing_mark)\n if item.area:\n print(item.area.name)\n print(item.area.code)\n for kind in item.kinds:\n print(kind.name)\n print(kind.code)\n print(kind.status)\n print(kind.condition)\n\n# Seismology\nif isinstance(body, jma_feed.ReportBodySeismology):\n print(body.naming)\n print(body.text)\n print(body.next_advisory)\n comments = body.comments\n if comments and comments.warning_comment:\n print(comments.warning_comment.text)\n print(comments.warning_comment.code)\n print(comments.warning_comment.code_type)\n if comments and comments.forecast_comment:\n print(comments.forecast_comment.text)\n print(comments.forecast_comment.code)\n print(comments.forecast_comment.code_type)\n if comments and comments.observation_comment:\n print(comments.observation_comment.text)\n print(comments.observation_comment.code)\n print(comments.observation_comment.code_type)\n if comments and comments.var_comment:\n print(comments.var_comment.text)\n print(comments.var_comment.code)\n print(comments.var_comment.code_type)\n if comments and comments.free_form_comment:\n print(comments.free_form_comment)\n tsunami = body.tsunami\n for earthquake in body.earthquakes:\n print(earthquake.origin_time)\n print(earthquake.arrival_time)\n print(earthquake.condition)\n for magnitude in earthquake.magnitudes:\n print(magnitude)\n hypocenter = earthquake.hypocenter\n if hypocenter:\n print(hypocenter.source)\n if hypocenter.area:\n print(hypocenter.area.name)\n print(hypocenter.area.code)\n print(hypocenter.area.coordinate)\n\n# Volcanology\nif isinstance(body, jma_feed.ReportBodyVolcanology):\n print(body.notice)\n print(body.text)\n for volcano_info in body.volcano_infos:\n for item in volcano_info.items:\n if item.kind:\n print(item.kind.name)\n print(item.kind.formal_name)\n print(item.kind.code)\n print(item.kind.condition)\n for area in item.areas:\n print(area.name)\n print(area.code)\n print(area.coordinate)\n for ash_info in body.ash_infos:\n print(ash_info.start_time)\n print(ash_info.end_time)\n for item in ash_info.items:\n if item.kind:\n print(item.kind.name)\n print(item.kind.formal_name)\n print(item.kind.code)\n print(item.kind.condition)\n for area in item.areas:\n print(area.name)\n print(area.code)\n print(area.coordinate)\n```\n\nFeed API (Low-level API):\n\n```python\n# High-frequency feed\n# Regular (\u5b9a\u6642: \u6c17\u8c61\u306b\u95a2\u3059\u308b\u60c5\u5831\u306e\u3046\u3061\u3001\u5929\u6c17\u6982\u6cc1\u306a\u3069\u5b9a\u6642\u306b\u767a\u8868\u3055\u308c\u308b\u3082\u306e)\nfeed_url = jma_feed.FEED_URL_REGULAR_SHORT_TERM\n# Extra (\u968f\u6642: \u6c17\u8c61\u306b\u95a2\u3059\u308b\u60c5\u5831\u306e\u3046\u3061\u3001\u8b66\u5831\u30fb\u6ce8\u610f\u5831\u306a\u3069\u968f\u6642\u767a\u8868\u3055\u308c\u308b\u3082\u306e)\nfeed_url = jma_feed.FEED_URL_EXTRA_SHORT_TERM\n# Earthquake/Volcano (\u5730\u9707\u706b\u5c71: \u5730\u9707\u3001\u706b\u5c71\u306b\u95a2\u3059\u308b\u60c5\u5831)\nfeed_url = jma_feed.FEED_URL_EQVOL_SHORT_TERM\n# Others (\u305d\u306e\u4ed6: \u4e0a\u8a18\uff13\u7a2e\u985e\u306e\u3044\u305a\u308c\u306b\u3082\u5c5e\u3055\u306a\u3044\u3082\u306e)\nfeed_url = jma_feed.FEED_URL_OTHER_SHORT_TERM\n\n# Long-term feed\n# Regular (\u5b9a\u6642: \u6c17\u8c61\u306b\u95a2\u3059\u308b\u60c5\u5831\u306e\u3046\u3061\u3001\u5929\u6c17\u6982\u6cc1\u306a\u3069\u5b9a\u6642\u306b\u767a\u8868\u3055\u308c\u308b\u3082\u306e)\nfeed_url = jma_feed.FEED_URL_REGULAR_LONG_TERM\n# Extra (\u968f\u6642: \u6c17\u8c61\u306b\u95a2\u3059\u308b\u60c5\u5831\u306e\u3046\u3061\u3001\u8b66\u5831\u30fb\u6ce8\u610f\u5831\u306a\u3069\u968f\u6642\u767a\u8868\u3055\u308c\u308b\u3082\u306e)\nfeed_url = jma_feed.FEED_URL_EXTRA_LONG_TERM\n# Earthquake/Volcano (\u5730\u9707\u706b\u5c71: \u5730\u9707\u3001\u706b\u5c71\u306b\u95a2\u3059\u308b\u60c5\u5831)\nfeed_url = jma_feed.FEED_URL_EQVOL_LONG_TERM\n# Others (\u305d\u306e\u4ed6: \u4e0a\u8a18\uff13\u7a2e\u985e\u306e\u3044\u305a\u308c\u306b\u3082\u5c5e\u3055\u306a\u3044\u3082\u306e)\nfeed_url = jma_feed.FEED_URL_OTHER_LONG_TERM\n\nfeed = jma_feed.AtomFeed(feed_url)\n\nprint(feed.id)\nprint(feed.title)\nprint(feed.subtitle)\nprint(feed.updated)\nprint(feed.rights)\nentries = feed.entries\nfor entry in entries:\n print(entry.id)\n print(entry.title)\n print(entry.updated)\n print(entry.author)\n print(entry.content)\n print(entry.link)\n```\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://pypi.org/project/jma_feed", "keywords": "", "license": "MIT", "maintainer": "Tomohiro Murota", "maintainer_email": "tomohiro.murota@gmail.com", "name": "jma-feed", "package_url": "https://pypi.org/project/jma-feed/", "platform": "", "project_url": "https://pypi.org/project/jma-feed/", "project_urls": { "Documentation": "https://jma_feed.readthedocs.io", "Homepage": "https://pypi.org/project/jma_feed", "Repository": "https://github.com/tearoom6/jma-feed" }, "release_url": "https://pypi.org/project/jma-feed/0.9.0/", "requires_dist": [ "minilog (>=0.4,<0.5)" ], "requires_python": ">=3.6,<4.0", "summary": "Python client library for JMA feed.", "version": "0.9.0" }, "last_serial": 4805286, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "71606444988d7482696e416ba444f487", "sha256": "a33ccbdc9d09505fcfb33c40a17dc2d312b0efbbc208573e255b2fad04447033" }, "downloads": -1, "filename": "jma_feed-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "71606444988d7482696e416ba444f487", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 94244, "upload_time": "2019-02-11T10:32:49", "url": "https://files.pythonhosted.org/packages/86/7e/d488bcbd951b75a1b055c2efd0a55c72818ea82fe97d5bd7627fd7e94b86/jma_feed-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac69fe955f375981b91f3acb7d26940a", "sha256": "789071b7e6e9d7701a2a4e6e844599c9fc18da650eb3b9c20a43596fb4bf9c37" }, "downloads": -1, "filename": "jma_feed-0.9.0.tar.gz", "has_sig": false, "md5_digest": "ac69fe955f375981b91f3acb7d26940a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 19207, "upload_time": "2019-02-11T10:32:51", "url": "https://files.pythonhosted.org/packages/cd/79/84dad438c20a7d5ab2d03a9e212c6c842139fa99cfc1731b8edf67122660/jma_feed-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "71606444988d7482696e416ba444f487", "sha256": "a33ccbdc9d09505fcfb33c40a17dc2d312b0efbbc208573e255b2fad04447033" }, "downloads": -1, "filename": "jma_feed-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "71606444988d7482696e416ba444f487", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 94244, "upload_time": "2019-02-11T10:32:49", "url": "https://files.pythonhosted.org/packages/86/7e/d488bcbd951b75a1b055c2efd0a55c72818ea82fe97d5bd7627fd7e94b86/jma_feed-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac69fe955f375981b91f3acb7d26940a", "sha256": "789071b7e6e9d7701a2a4e6e844599c9fc18da650eb3b9c20a43596fb4bf9c37" }, "downloads": -1, "filename": "jma_feed-0.9.0.tar.gz", "has_sig": false, "md5_digest": "ac69fe955f375981b91f3acb7d26940a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 19207, "upload_time": "2019-02-11T10:32:51", "url": "https://files.pythonhosted.org/packages/cd/79/84dad438c20a7d5ab2d03a9e212c6c842139fa99cfc1731b8edf67122660/jma_feed-0.9.0.tar.gz" } ] }