{"id":21749061,"url":"https://github.com/veeso/orange-trees","last_synced_at":"2025-04-13T07:15:43.703Z","repository":{"id":57650154,"uuid":"374996904","full_name":"veeso/orange-trees","owner":"veeso","description":"🍊 A Rust implementation of the Tree data structure 🍊 ","archived":false,"fork":false,"pushed_at":"2024-10-23T16:08:10.000Z","size":311,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T07:15:38.459Z","etag":null,"topics":["data-structures","rust","rust-crate","rust-library","tree","tree-structure"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/veeso.png","metadata":{"funding":{"ko_fi":"veeso"},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"publiccode":null,"codemeta":null}},"created_at":"2021-06-08T12:13:56.000Z","updated_at":"2025-01-16T15:58:29.000Z","dependencies_parsed_at":"2024-11-26T08:16:18.107Z","dependency_job_id":"63d44706-c53b-4a3a-bb95-b8cfc32598aa","html_url":"https://github.com/veeso/orange-trees","commit_stats":{"total_commits":20,"total_committers":1,"mean_commits":20.0,"dds":0.0,"last_synced_commit":"bf78812e65fb9b743b6ce8b88d7b6c642dad0d3d"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veeso%2Forange-trees","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veeso%2Forange-trees/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veeso%2Forange-trees/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veeso%2Forange-trees/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veeso","download_url":"https://codeload.github.com/veeso/orange-trees/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675398,"owners_count":21143768,"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":["data-structures","rust","rust-crate","rust-library","tree","tree-structure"],"created_at":"2024-11-26T08:16:15.119Z","updated_at":"2025-04-13T07:15:43.686Z","avatar_url":"https://github.com/veeso.png","language":"Rust","funding_links":["https://ko-fi.com/veeso"],"categories":["Rust"],"sub_categories":[],"readme":"# orange-trees\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/orange-trees.svg\" width=\"256\" height=\"256\" alt=\"logo\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e~ A tree data structure implementation in Rust ~\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eDeveloped by \u003ca href=\"https://veeso.me/\" target=\"_blank\"\u003e@veeso\u003c/a\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003eCurrent version: 0.1.3 (22/10/2024)\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/badge/License-MIT-teal.svg\"\n      alt=\"License-MIT\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/veeso/orange-trees/stargazers\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/github/stars/veeso/orange-trees.svg?style=badge\"\n      alt=\"Repo stars\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/orange-trees\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/crates/d/orange-trees.svg\"\n      alt=\"Downloads counter\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/orange-trees\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/crates/v/orange-trees.svg\"\n      alt=\"Latest version\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://ko-fi.com/veeso\"\u003e\n    \u003cimg\n      src=\"https://img.shields.io/badge/donate-ko--fi-red\"\n      alt=\"Ko-fi\"\n  /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/veeso/orange-trees/actions/workflows/ci.yml\"\n    \u003e\u003cimg\n      src=\"https://github.com/veeso/orange-trees/actions/workflows/ci.yml/badge.svg\"\n      alt=\"CI\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://coveralls.io/github/veeso/orange-trees\"\n    \u003e\u003cimg\n      src=\"https://coveralls.io/repos/github/veeso/orange-trees/badge.svg\"\n      alt=\"Coveralls\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://docs.rs/orange-trees\"\n    \u003e\u003cimg\n      src=\"https://docs.rs/orange-trees/badge.svg\"\n      alt=\"Docs\"\n  /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n- [orange-trees](#orange-trees)\n  - [About orange-trees 🍊](#about-orange-trees-)\n  - [Get started 🏁](#get-started-)\n    - [Add orange-trees to your Cargo.toml 🦀](#add-orange-trees-to-your-cargotoml-)\n    - [Examples](#examples)\n  - [Contributing and issues 🤝🏻](#contributing-and-issues-)\n  - [Changelog ⏳](#changelog-)\n  - [License 📃](#license-)\n\n---\n\n## About orange-trees 🍊\n\n\u003e Flowers in my hair, I belong by the sea  \n\u003e Where we used to be, sitting by the orange trees  \n\u003e ~ Orange Trees - Marina ~\n\norange-trees is an implementation of the **Tree** data structure. It comes with a rich set of methods to manipulate and query nodes.\nIn orange-trees each Tree is represented by a *Node*, where each Node has a **Key**, which identify the node, a **Value** and a list of children, which are nodes too.\nKey and value are defined by the user, since they are generics.\n\n```rust\n#[macro_use]\nextern crate orange_trees;\n\nuse orange_trees::{Tree, Node};\n\n// Create a tree using macro\nlet tree: Tree\u003c\u0026'static str, \u0026'static str\u003e = Tree::new(\n  node!(\"/\", \"/\"\n    , node!(\"/bin\", \"bin/\"\n      , node!(\"/bin/ls\", \"ls\")\n      , node!(\"/bin/pwd\", \"pwd\")\n    )\n    , node!(\"/tmp\", \"tmp/\"\n      , node!(\"/tmp/dump.txt\", \"dump.txt\")\n      , node!(\"/tmp/omar.txt\", \"omar.txt\")\n    )\n  )\n);\n\n// Create a tree using constructor\nlet tree: Tree\u003c\u0026'static str, \u0026'static str\u003e = Tree::new(\n  Node::new(\"/\", \"/\")\n    .with_child(\n      Node::new(\"/bin\", \"bin/\")\n        .with_child(Node::new(\"/bin/ls\", \"ls\"))\n        .with_child(Node::new(\"/bin/pwd\", \"pwd\"))\n      )\n    .with_child(\n      Node::new(\"/tmp\", \"tmp/\")\n        .with_child(Node::new(\"/tmp/dump.txt\", \"dump.txt\"))\n        .with_child(Node::new(\"/tmp/omar.txt\", \"omar.txt\"))\n        .with_child(\n          Node::new(\"/tmp/.cache\", \"cache/\")\n            .with_child(Node::new(\"/tmp/.cache/xyz.cache\", \"xyz.cache\"))\n        )\n    ),\n);\n```\n\n---\n\n## Get started 🏁\n\n### Add orange-trees to your Cargo.toml 🦀\n\n```toml\norange-trees = \"0.1.0\"\n```\n\n### Examples\n\nExamples can be found in the homepage of the documentation at \u003chttps://docs.rs/orange-trees\u003e\n\n---\n\n## Contributing and issues 🤝🏻\n\nContributions, bug reports, new features and questions are welcome! 😉\nIf you have any question or concern, or you want to suggest a new feature, or you want just want to improve orange-trees, feel free to open an issue or a PR.\n\nPlease follow [our contributing guidelines](CONTRIBUTING.md)\n\n---\n\n## Changelog ⏳\n\nView orange-trees's changelog [HERE](CHANGELOG.md)\n\n---\n\n## License 📃\n\norange-trees is licensed under the MIT license.\n\nYou can read the entire license [HERE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveeso%2Forange-trees","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveeso%2Forange-trees","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveeso%2Forange-trees/lists"}