{"id":38507929,"url":"https://github.com/barbacbd/nautical","last_synced_at":"2026-01-17T06:17:33.432Z","repository":{"id":37331986,"uuid":"410865274","full_name":"barbacbd/nautical","owner":"barbacbd","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-13T11:53:36.000Z","size":4902,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-29T05:55:07.807Z","etag":null,"topics":["buoy","nautical","noaa","noaa-data","waves"],"latest_commit_sha":null,"homepage":"","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/barbacbd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-09-27T11:56:31.000Z","updated_at":"2023-08-14T15:59:54.000Z","dependencies_parsed_at":"2023-01-30T09:15:56.191Z","dependency_job_id":"2e621a51-4626-44f0-a4f8-435219c93784","html_url":"https://github.com/barbacbd/nautical","commit_stats":{"total_commits":334,"total_committers":4,"mean_commits":83.5,"dds":0.5359281437125749,"last_synced_commit":"b65eb9cced127c40f81d77e52e657206df02e18f"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/barbacbd/nautical","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbacbd%2Fnautical","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbacbd%2Fnautical/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbacbd%2Fnautical/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbacbd%2Fnautical/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barbacbd","download_url":"https://codeload.github.com/barbacbd/nautical/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbacbd%2Fnautical/sbom","scorecard":{"id":225634,"data":{"date":"2025-08-11","repo":{"name":"github.com/barbacbd/nautical","commit":"b65eb9cced127c40f81d77e52e657206df02e18f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: topLevel 'contents' permission set to 'write': .github/workflows/coverage.yml:11","Warn: no topLevel permission defined: .github/workflows/deploy.yml:1","Warn: no topLevel permission defined: .github/workflows/go.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app-linux.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app-osx.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app-windows.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/coverage.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/coverage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/coverage.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/coverage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/deploy.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/deploy.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/deploy.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/go.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/go.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app-linux.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/python-app-linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app-linux.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/python-app-linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app-osx.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/python-app-osx.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app-osx.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/python-app-osx.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app-windows.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/python-app-windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app-windows.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/barbacbd/nautical/python-app-windows.yml/master?enable=pin","Warn: pipCommand not pinned by hash: scripts/pylint.sh:36","Warn: pipCommand not pinned by hash: scripts/pylint.sh:39","Warn: pipCommand not pinned by hash: scripts/pytest.sh:38","Warn: pipCommand not pinned by hash: scripts/pytest.sh:41","Warn: pipCommand not pinned by hash: .github/workflows/coverage.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/coverage.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/coverage.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/coverage.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/coverage.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/deploy.yml:23","Warn: pipCommand not pinned by hash: .github/workflows/python-app-linux.yml:31","Warn: pipCommand not pinned by hash: .github/workflows/python-app-linux.yml:34","Warn: pipCommand not pinned by hash: .github/workflows/python-app-osx.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/python-app-osx.yml:33","Info:   0 out of  12 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of  14 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: PYSEC-2021-142 / GHSA-8q59-q68h-6hv4","Warn: Project is vulnerable to: PYSEC-2018-49 / GHSA-rprw-h62v-c2w7","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T03:45:06.183Z","repository_id":37331986,"created_at":"2025-08-17T03:45:06.183Z","updated_at":"2025-08-17T03:45:06.183Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28502131,"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":["buoy","nautical","noaa","noaa-data","waves"],"created_at":"2026-01-17T06:17:33.107Z","updated_at":"2026-01-17T06:17:33.416Z","avatar_url":"https://github.com/barbacbd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://github.com/barbacbd/nautical\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/barbacbd/nautical/master/.images/buoy.jpg\" width=\"256\" height=\"256\" border-radius=\"50%\" \u003e\n  \u003c/a\u003e\n  \u003cbr\u003eNautical\u003c/br\u003e\n\u003c/h1\u003e\n\n\u003ch2 align=\"center\"\u003e\n  \n[![Build-Linux](https://github.com/barbacbd/nautical/actions/workflows/python-app-linux.yml/badge.svg)](https://github.com/barbacbd/nautical/actions/workflows/python-app-linux.yml) [![Build-OSX](https://github.com/barbacbd/nautical/actions/workflows/python-app-osx.yml/badge.svg)](https://github.com/barbacbd/nautical/actions/workflows/python-app-osx.yml) [![Build-Windows](https://github.com/barbacbd/nautical/actions/workflows/python-app-windows.yml/badge.svg)](https://github.com/barbacbd/nautical/actions/workflows/python-app-windows.yml)\n\n[![PyPI version fury.io](https://badge.fury.io/py/nautical.svg)](https://pypi.python.org/pypi/nautical/) [![GitHub latest commit](https://badgen.net/github/last-commit/barbacbd/nautical)](https://github.com/barbacbd/nautical/commit/) ![Code Coverage](https://raw.githubusercontent.com/barbacbd/nautical/master/.cov/coverage-badge.svg)\n\n[![Go](https://github.com/barbacbd/nautical/actions/workflows/go.yml/badge.svg)](https://github.com/barbacbd/nautical/actions/workflows/go.yml) [![Go Reference](https://pkg.go.dev/badge/github.com/barbacbd/nautical.svg)](https://pkg.go.dev/github.com/barbacbd/nautical)\n\n# Description\n\nAhoy! Whether you've got your sea legs under yeh', or you're just looking to get those toes wet, you have discovered Nautical. Nautical is a web scraper that allows its users to parse real time data from [NOAA's](https://www.ndbc.noaa.gov/) buoys. You can try Nautical as a python or GO package! Nautical was created for research and data logging purposes, but there are many more possibilities for users to discover. \n\n\nIf you would like to view the python documentation follow the [link to nautical's python documentation](https://barbacbd.github.io/nautical/build/html/index.html). \n\nIf you would like to view the GO documentation follow the [link to nautical's GO documentation](https://pkg.go.dev/github.com/barbacbd/nautical).\n\n\n# Table of Contents\n\n   * [Features](#features)\n      * [Buoys](#buoys)\n      * [Sources](#sources)\n      * [Data Caching](#data-caching)\n   * [Prerequisites](#prerequisites)\n   * [Casting Off](#casting-off)\n   * [Tutorials](#tutorials)\n   * [Testing](#testing)\n      * [Python](#python)\n      * [Golang](#go)\n   * [Contributing](#contributing)\n      * [Contribution Flow](#contribution-flow)\n      * [Suggested Commit Message Format](#suggested-commit-message-format)\n   * [Copyright](#copyright)\n\n# Features\n\nThe following are a set of features and/or data that can be accessed via the package. \n\n## Sources\n\nA source is a group of buoys. The source can be thought of as a sponsor or owner of the group/set of buoys. The source may be used as an indicator of the type of data that is stored in a buoy object. \n\n**Note**: The `TAO` and `Tsunami` sources are not available in any regard.\n\n\n## Buoys\n\nA buoy _may_ contain, but are not limitted to, any of the following variables.\n\n| Data | Abbreviation |Units |\n| ---- | ---- | ---- |\n| Wind Speed | wspd | Knots |\n| Gust | gst | Knots |\n| Wave Height | wvht | Feet |\n| Dominant Wave Period | dpd | Seconds |\n| Average Wave Period | apd | Seconds |\n| Pressure | pres | PSI |\n| Pressure Tendency | ptdy | PSI |\n| Air Temperature | atmp | Fahrenheit |\n| Water Temperature | wtmp | Fahrenheit |\n| Dew Point | dewp | Fahrenheigt |\n| Salinity | sal | PSU |\n| Visibility | vis | Nautical Miles |\n| Tide | tide | Feet |\n| Swell Height | swh | Feet |\n| Swell Wave Period | swp | Seconds |\n| Wind Wave Height | wwh | Feet |\n| Wind Wave Period | wwp | Seconds |\n| Ocean Temperature | otmp | Fahrenheit |\n| Wind Speed 10m Interval | wspd10m | Knots |\n| Wind Speed 20m Interval | wspd10m | Knots |\n| Depth | depth | Feet |\n\n## Data Caching\n\nThe cache can be used to save and load information about buoys and sources. The feature enables users to locally store and retrieve older information. NOAA refreshes the online data roughly every 30 minutes. The cache package can be used to throttle data retrieval calls to ensure the user is not wasting system resources when data has not been updated by NOAA.\n\n- Create cache files\n- Copy cache files to new names (with timestamps or custom names)\n- Load Cache files to Nautical Objects.\n\n**Note**: _[Nautical cache](https://github.com/barbacbd/nautical/blob/master/nautical/cache/) was added in version 3.1.0_.\n\n# Prerequisites \n\nThe python package requires `python\u003e=3.6`. You can use a package manager to install a version of python that satifies the requirements, or you may manually install python from the [website](https://www.python.org/downloads/).\n\u003cbr\u003e\n\u003cbr\u003e\nThe GO package requires `golang\u003e=1.18`. To install go please visit the official [website](https://go.dev/doc/install).\n\n**Note**: _The GO requirement is not strict, but previous versions have Not been tested_.\n\n# Casting Off\n\n- Ensure your system meets the [prerequisites](#prerequisites).\n- Clone or Fork the repository.\n- Run the [package tests](#testing)\n\n# Tutorials\n\nFollow the link to view the [tutorials for the python package](https://github.com/barbacbd/nautical/blob/master/user/docs/PythonTutorials.md).\n\nFollow the link to view the [tutorials for the go package](https://github.com/barbacbd/nautical/blob/master/user/docs/GoTutorials.md).\n\n# Testing\n\n## Python \n\nAll python tests are located in the [tests](https://github.com/barbacbd/nautical/tree/master/tests) directory.\n\n```bash\npython 3.x -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\npip install -r test_requirements.txt\npytest --cov=tests\n```\n\n**Note**: _The virtual environment and coverage are optional_.\n\n## GO\n\nAll golang tests are located with the golang source in [pkg](https://github.com/barbacbd/nautical/tree/master/pkg). The following should be executed from the project home directory.\n\n```bash\ngo get -u\ngo test -v ./...\n```\n\n# Contributing\n\nFor more information on contributing to the project, please see [contributing](https://github.com/barbacbd/nautical/tree/master/.github/CONTRIBUTING.md).\n\n# Copyright\n\nCopyright © 2022, Brent Barbachem. Released under the [MIT License](https://raw.githubusercontent.com/barbacbd/nautical/master/LICENSE.txt).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbacbd%2Fnautical","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarbacbd%2Fnautical","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbacbd%2Fnautical/lists"}