{"id":16735625,"url":"https://github.com/giocaizzi/pysurfline","last_synced_at":"2025-03-15T13:31:01.164Z","repository":{"id":43831107,"uuid":"458508250","full_name":"giocaizzi/pysurfline","owner":"giocaizzi","description":"Python Surfline API","archived":false,"fork":false,"pushed_at":"2024-07-29T09:57:33.000Z","size":6191,"stargazers_count":18,"open_issues_count":13,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-14T00:06:53.603Z","etag":null,"topics":["forecast","python","surf","surfline","v2"],"latest_commit_sha":null,"homepage":"https://giocaizzi.github.io/pysurfline/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giocaizzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-02-12T11:56:04.000Z","updated_at":"2024-09-24T09:31:22.000Z","dependencies_parsed_at":"2023-11-07T17:14:50.476Z","dependency_job_id":"14c32e73-5b95-4435-8b93-e7a0cdd0b862","html_url":"https://github.com/giocaizzi/pysurfline","commit_stats":{"total_commits":100,"total_committers":3,"mean_commits":"33.333333333333336","dds":"0.44999999999999996","last_synced_commit":"53927c6f513f5396ad86a5bb167fda6f1dbebb42"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocaizzi%2Fpysurfline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocaizzi%2Fpysurfline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocaizzi%2Fpysurfline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giocaizzi%2Fpysurfline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giocaizzi","download_url":"https://codeload.github.com/giocaizzi/pysurfline/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221579894,"owners_count":16846882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forecast","python","surf","surfline","v2"],"created_at":"2024-10-13T00:06:43.145Z","updated_at":"2024-10-26T20:38:01.980Z","avatar_url":"https://github.com/giocaizzi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pysurfline\n\n![SurfReport plot](https://github.com/giocaizzi/pysurfline/blob/gh-pages/docsrc/source/images/surfreport_readme.png)\n\n**Get the surf forecast** for any spot listed on [Surfline](https://www.surfline.com/).\n\nQuickly get the forecast data as a [pandas Dataframe](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) and plot surf forecast with [matplotlib](https://matplotlib.org/stable/) to visualize the conditions of your favorite surf spot.\n\n- **Surf** (surf min, surf max)\n- **Wind** (speed, direction)\n- **Swell** (height, period, direction)\n- **Tide** (height, direction)\n- **sunlightTimes** (sunrise, sunset)\n\n| | |\n| --- | --- |\n| Distribution | ![PyPI](https://img.shields.io/pypi/v/pysurfline?color=blue) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysurfline) [![Downloads](https://static.pepy.tech/badge/pysurfline)](https://pepy.tech/project/pysurfline)|\n| Builds |[![macOS](https://github.com/giocaizzi/pysurfline/actions/workflows/deployment-macos.yml/badge.svg?branch=main)](https://github.com/giocaizzi/pysurfline/actions/workflows/deployment-macos.yml)[![Ubuntu](https://github.com/giocaizzi/pysurfline/actions/workflows/deployment-ubuntu.yml/badge.svg)](https://github.com/giocaizzi/pysurfline/actions/workflows/deployment-ubuntu.yml)[![Windows](https://github.com/giocaizzi/pysurfline/actions/workflows/deployment-windows.yml/badge.svg)](https://github.com/giocaizzi/pysurfline/actions/workflows/deployment-windows.yml) |\n|Tests| [![codecov](https://codecov.io/gh/giocaizzi/pysurfline/branch/main/graph/badge.svg?token=48CPYKM5BR)](https://codecov.io/gh/giocaizzi/pysurfline) |\n| Documentation | [![Documentation build](https://github.com/giocaizzi/pysurfline/actions/workflows/documentation.yml/badge.svg?branch=gh-pages)](https://github.com/giocaizzi/pysurfline/actions/workflows/documentation.yml) |\n\n## Installation\n\nInstall with `pip`\n\n```\npip install pysurfline\n```\n\n## Example\n\n- Get the surf forecasts for a given `SpotId` and get data as a pandas Dataframe. Control forecast timespan with `days` and `intervalHours`.\n\n  [Go to full example.](https://giocaizzi.github.io/pysurfline/examples/SpotForecasts.html)\n\n  ```python\n  import pysurfline\n\n  spotId = \"5842041f4e65fad6a7708cfd\"\n\n  spotforecasts = pysurfline.get_spot_forecasts(\n      spotId,\n      days=2,\n      intervalHours=3,\n  )\n\n  df = spotforecasts.get_dataframe()\n  ```\n\n- Visualize the surf report for a given `SpotId`.\n\n  [Go to full example.](https://giocaizzi.github.io/pysurfline/examples/SurfReport.html)\n\n  ```python\n  import pysurfline\n\n  spotId = \"5842041f4e65fad6a7708cfd\"\n\n  spotforecasts = pysurfline.get_spot_forecasts(spotId)\n\n  pysurfline.plot_surf_report(\n      spotforecasts,\n      barLabels=True,\n  )\n  ```\n\n## Documentation\n\nThe documentation can be found [here](https://giocaizzi.github.io/pysurfline/).\n\n## Disclaimer\n\nThis package is **not official** and **not affiliated with Surfline in any way**.\n\n**API responses may change at any time** and the developement of this package may not be able to keep up with those changes.\n\nIf you find any issues, [please open an issue](https://github.com/giocaizzi/pysurfline/issues) or submit a [pull request](https://github.com/giocaizzi/pysurfline/pulls).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiocaizzi%2Fpysurfline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiocaizzi%2Fpysurfline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiocaizzi%2Fpysurfline/lists"}