{"id":44525714,"url":"https://github.com/mines-oceanography/mantaray","last_synced_at":"2026-03-09T10:02:45.938Z","repository":{"id":292064007,"uuid":"642523497","full_name":"mines-oceanography/mantaray","owner":"mines-oceanography","description":"Mantaray: A Rust Package for Ray Tracing Ocean Surface Gravity Waves","archived":false,"fork":false,"pushed_at":"2026-02-02T18:15:49.000Z","size":159588,"stargazers_count":16,"open_issues_count":40,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-22T15:51:15.256Z","etag":null,"topics":["oceanography","ray-tracing","waves"],"latest_commit_sha":null,"homepage":"https://mines-oceanography.github.io/mantaray/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mines-oceanography.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":"support/README.md","governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-18T19:05:21.000Z","updated_at":"2026-02-12T12:03:25.000Z","dependencies_parsed_at":"2025-07-08T05:15:22.768Z","dependency_job_id":"ffc82bb9-6e23-4ebe-846e-81886d20134f","html_url":"https://github.com/mines-oceanography/mantaray","commit_stats":null,"previous_names":["mines-oceanography/mantaray"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/mines-oceanography/mantaray","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mines-oceanography%2Fmantaray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mines-oceanography%2Fmantaray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mines-oceanography%2Fmantaray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mines-oceanography%2Fmantaray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mines-oceanography","download_url":"https://codeload.github.com/mines-oceanography/mantaray/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mines-oceanography%2Fmantaray/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30008536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T15:15:59.058Z","status":"ssl_error","status_checked_at":"2026-03-02T15:15:58.758Z","response_time":60,"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":["oceanography","ray-tracing","waves"],"created_at":"2026-02-13T18:00:36.895Z","updated_at":"2026-03-09T10:02:45.921Z","avatar_url":"https://github.com/mines-oceanography.png","language":"Jupyter Notebook","funding_links":[],"categories":["Hydrosphere"],"sub_categories":["Waves and Currents"],"readme":"\n[![PyPI version](https://img.shields.io/pypi/v/mantaray)](https://pypi.org/project/mantaray/)\n[![Crates.io](https://img.shields.io/crates/v/mantaray)](https://crates.io/crates/mantaray)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17133200.svg)](https://doi.org/10.5281/zenodo.17133200)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n[![Docs](https://img.shields.io/badge/docs-examples-orange)](https://mines-oceanography.github.io/mantaray)\n[![Rust checks](https://github.com/mines-oceanography/ray_tracing/actions/workflows/ci.yml/badge.svg)](https://github.com/mines-oceanography/ray_tracing/actions/workflows/ci.yml)\n[![Pixi Badge](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/prefix-dev/pixi/main/assets/badge/v0.json)](https://pixi.sh)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n\n# Ray Tracing\n\nA library for surface gravity waves ray tracing.\n\n![Demo](https://github.com/mines-oceanography/mantaray/blob/main/notebooks/canonical_examples/demo_animation.gif)\n\n\u003c!-- examples --\u003e\n\n## Examples\nThe examples are located in the `notebooks` directory, and each scenario is inside its own subfolder.\n\nTo run the example notebooks, follow [installation](#installation) instructions to install pixi and clone the repo. Then, install the examples environment using `pixi run -e examples develop`. \n\nAfter that there are multiple options:\n- Follow our development [instructions](#using-jupyter-lab) for using jupyter lab.\n- Start a shell with the environment using the command `pixi shell -e examples`.\n- Find the installation inside the `.pixi` folder and run the examples your own way.\n\nIf there are additional instructions, such as needing data files, they will be located in the readme of that example's folder.\n\n## Development\n\n### Installation\n1. Install [Pixi](https://pixi.sh/latest/)\n\n\n2. [Fork Mantaray](https://github.com/mines-oceanography/mantaray/fork)'s repository, by clicking in the 'Fork' button in the top-right corner.\n\n3. Clone your forked repository. Check the green button and choose a protocol.\nFor instance, if you use SSH you'll see something similar to:\n```\ngit clone git@github.com:\u003cyour-username\u003e/mantaray.git\ncd mantaray\n```\n\n4. Build Python\n```\npixi run develop\n```\nThis can take a few minutes the very first time.\n\n### Usage\nAt the top of your python file, you will need to include the following import line:\n```python\nfrom mantaray.core import single_ray, ray_tracing\n```\nDocumentation for these functions are located in [core.py](https://mines-oceanography.github.io/mantaray/api.html).\n\n#### Run Python file\n\n```\npixi run python path_to_file.py\n```\n\n### Using Jupyter Lab\n1. Develop the code for the `examples` environment\n```\npixi run -e examples develop\n```\n2. Open Jupyter Lab using the `examples` environment\n```\npixi run -e examples jupyter lab\n```\n\n### To test Python library run:\n\n```\npixi run -e test pytest\n```\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0\n   ([LICENSE-APACHE](https://github.com/mines-oceanography/mantaray/blob/main/LICENSE-APACHE \"Apache License 2.0\") or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license\n   ([LICENSE-MIT](https://github.com/mines-oceanography/mantaray/blob/main/LICENSE-MIT \"MIT License\") or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\nWe welcome contributions to this project!  Whether you're fixing a bug, adding a new feature, or improving the documentation, your help is greatly appreciated. All contributions should be made through GitHub, by forking the repository, creating a new branch, and submitting a pull request.\n\n### Ways to Contribute\n\nThere are many ways to contribute to this project, including:\n\n*   **Reporting bugs:**  If you find a bug, please open an [issue](https://github.com/mines-oceanography/mantaray/issues) and provide as much detail as possible, including steps to reproduce the issue.\n*   **Suggesting features:**  Have an idea for a new feature or improvement? Open an [issue](https://github.com/mines-oceanography/mantaray/issues) and describe your suggestion.\n*   **Submitting code changes:**  We welcome code contributions! If your change is based on an existing issue, please comment on that issue and let us know you are working on it. Otherwise, if it is something new, create an issue and let us know what you are working on. When ready to submit, please follow the Pull Request Guidelines below.\n*   **Improving documentation:**  Clear and concise documentation is essential. If you find areas where the documentation can be improved, please submit an [issue](https://github.com/mines-oceanography/mantaray/issues).\n\n\u003e When you create an issue, we may label it (`bug`, `enhancement`, etc). If we are unsure about what you are requesting, we will ask to clarify, and if you believe another label fits it better, let us know.\n\n### Pull Request Guidelines\n\nBefore submitting a pull request, please make sure it meets these guidelines:\n\n1.  **Tests:**  All pull requests should include unit tests that cover the changes.\n2.  **Documentation:**  If your pull request adds or modifies functionality, please update the documentation accordingly.\n3.  **CI:**  Your pull request must pass all existing continuous integration checks.\n4.  **Single Functionality:**  Each pull request should ideally address a single, well-defined functionality.  If your changes are more extensive, please consider breaking them down into multiple, smaller pull requests.\n\n### Getting Help\n\nIf you have questions or need help getting started, please open an issue and ask.  We'll do our best to assist you.\n\n\u003c!-- end elevator-pitch --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmines-oceanography%2Fmantaray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmines-oceanography%2Fmantaray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmines-oceanography%2Fmantaray/lists"}