{"id":38528469,"url":"https://github.com/pfeif/pytide","last_synced_at":"2026-01-17T06:51:40.170Z","repository":{"id":48475821,"uuid":"139173192","full_name":"pfeif/pytide","owner":"pfeif","description":"Pytide: A tool for emailing high- and low-tide events.","archived":false,"fork":false,"pushed_at":"2024-09-16T04:19:38.000Z","size":79,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-17T03:11:39.001Z","etag":null,"topics":["noaa","tides"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/pfeif.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"publiccode":null,"codemeta":null}},"created_at":"2018-06-29T16:40:26.000Z","updated_at":"2024-09-16T04:19:35.000Z","dependencies_parsed_at":"2024-09-10T05:29:07.613Z","dependency_job_id":null,"html_url":"https://github.com/pfeif/pytide","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pfeif/pytide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfeif%2Fpytide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfeif%2Fpytide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfeif%2Fpytide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfeif%2Fpytide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfeif","download_url":"https://codeload.github.com/pfeif/pytide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfeif%2Fpytide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28502972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["noaa","tides"],"created_at":"2026-01-17T06:51:40.010Z","updated_at":"2026-01-17T06:51:40.162Z","avatar_url":"https://github.com/pfeif.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pytide\n\nPytide is designed to email a tide report to users for the tide stations they care about. This could\nbe useful for fishing, sailing, surfing, or any other case where tide data is important.\nConfiguration is handled simply in a single file, and the application can be scheduled to run using\na task scheduler like cron, systemd, or whatever else to send reports when the user desires.\n\n## Requirements\n\n- [Python][python] (See [this link][python-support] for currently-supported versions)\n    - [Click][click]\n    - [Jinja2][jinja]\n    - [Requests][requests]\n- [Google Maps Static][maps] API key\n- [Git][git] (Optional)\n\n## Configuration\n\n### Stations\n\nYou can find tide stations near you by using the [NOAA's Tides \u0026 Currents][noaa] page.\n\nEnter the station IDs in your configuration file. You can also specify names for the stations. The\nidea is that it may be more useful to use \"Bob's beach house\" as a descriptor than whatever the\nstation's actual name is.\n\nFollow the instructions in [`config.ini`](./config.ini).\n\n### Recipients\n\nEnter the email addresses for each recipient that should receive a copy of the email. These emails\nwill be sent individually. There will not be a single email with multiple recipients CC'd on it.\n\nFollow the instructions in [`config.ini`](./config.ini).\n\n### Email server settings\n\nAn email server is not provided with this application. You will need to use your own email address\nand find its SMTP server settings. A stubbed example has been provided, and there are slightly more\ndetailed notes for Gmail users in the configuration file.\n\nFollow the instructions in [`config.ini`](./config.ini).\n\n### Google maps\n\nNormal interactive maps are not embeddable in emails. This project uses Google's\n[Maps Static API][maps] to to provide the images. However, an API key is not provided with this\napplication. You must sign up for the service and provide your own API key in order to retrieve map\nimages.\n\nThis is not a free service. However, for personal use cases, you are very unlikely to make enough\nAPI queries to get charged. Last I checked, it would take roughly 100,000 map images retrieved\nbefore charges are incurred.\n\nFollow the instructions in [`config.ini`](./config.ini).\n\nAlternatively, the API key may be provided through the command line using the `--maps-api-key`\ncommand line option or by specifying a `PYTIDE_MAPS_API_KEY` environment variable.\n\n## Usage\n\n1. Clone this repository with `git clone https://github.com/pfeif/pytide.git`\n2. Install the dependencies with `pip install -r requirements.txt`\n3. Run the application using default configuration file with `python pytide/pytide.py` or specify a\n    configuration file with `python pytide/pytide.py --config-file\n    \u003ccustom config path and filename\u003e`\n\n## License\n\nThis project is licensed under the terms of the BSD 3-Clause License. See [LICENSE.md](./LICENSE.md)\nfor details.\n\n\n[click]: https://click.palletsprojects.com/en/8.1.x/\n[git]: https://git-scm.com/\n[jinja]: https://jinja.palletsprojects.com/\n[maps]: https://developers.google.com/maps/documentation/maps-static/overview\n[noaa]: https://tidesandcurrents.noaa.gov/\n[python]: https://www.python.org/\n[python-support]: https://devguide.python.org/versions/\n[requests]: https://requests.readthedocs.io/en/latest/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfeif%2Fpytide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfeif%2Fpytide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfeif%2Fpytide/lists"}