{"id":25103167,"url":"https://github.com/sharpyr/veho","last_synced_at":"2025-08-24T04:03:36.860Z","repository":{"id":74290439,"uuid":"312778654","full_name":"sharpyr/Veho","owner":"sharpyr","description":"iterable toolset","archived":false,"fork":false,"pushed_at":"2024-11-29T23:00:36.000Z","size":504,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T07:12:49.064Z","etag":null,"topics":["2d-array","array","dictionary","ienumerable","list","matrix","tuple"],"latest_commit_sha":null,"homepage":"","language":"C#","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/sharpyr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2020-11-14T08:44:23.000Z","updated_at":"2024-11-29T23:00:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"982f2082-8012-4403-bd01-bfc26f699c4a","html_url":"https://github.com/sharpyr/Veho","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sharpyr/Veho","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharpyr%2FVeho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharpyr%2FVeho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharpyr%2FVeho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharpyr%2FVeho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sharpyr","download_url":"https://codeload.github.com/sharpyr/Veho/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharpyr%2FVeho/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271788902,"owners_count":24821237,"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","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["2d-array","array","dictionary","ienumerable","list","matrix","tuple"],"created_at":"2025-02-07T21:38:59.312Z","updated_at":"2025-08-24T04:03:36.785Z","avatar_url":"https://github.com/sharpyr.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](https://raw.githubusercontent.com/sharpyr/Veho/refs/heads/master/media/veho-banner.svg)\n\nExtend enumerable and array functionalities\n\n[![Version](https://img.shields.io/nuget/vpre/Veho.svg)](https://www.nuget.org/packages/Veho)\n[![Downloads](https://img.shields.io/nuget/dt/Veho.svg)](https://www.nuget.org/packages/Veho)\n[![Dependent Libraries](https://img.shields.io/librariesio/dependents/nuget/Veho.svg?label=dependent%20libraries)](https://libraries.io/nuget/Veho)\n[![Language](https://img.shields.io/badge/language-C%23-blueviolet.svg)](https://dotnet.microsoft.com/learn/csharp)\n[![Compatibility](https://img.shields.io/badge/compatibility-.NET%20Standard%202.0-blue.svg)]()\n[![License](https://img.shields.io/github/license/sharpyr/Veho.svg)](https://github.com/sharpyr/Veho/LICENSE)\n\n## Features\n\nVeho is an extension lib for iterable e.g. array, 2d-array and dictionary.\n\n## Content\n\n| Package               | Content                                           |\n|-----------------------|---------------------------------------------------|\n| `Veho`                | The core library, including all Veho sub projects |\n| `Veho.Dictionary`     | Extend IDictionary\u003cTK, TV\u003e                        |\n| `Veho.Entries`        | Extend IReadOnlyList\u003c(TK key, TV value)\u003e          |\n| `Veho.Enumerable`     | Extend IEnumerable\u003cT\u003e                             |\n| `Veho.Linear`         | Perform basic linear algebra for matrix           |\n| `Veho.Matrix`         | Extend T[,]                                       |\n| `Veho.Mutable.Matrix` | Extend IReadOnlyList\u003cIReadOnlyList\u003cT\u003e\u003e            |\n| `Veho.OneBase`        | Extend 1-based (offset) array T[,]                |\n| `Veho.PanBase`        | Extend general (offset) array T[,]                |\n| `Veho.Sequence`       | Extend IReadOnlyList\u003cT\u003e to List\u003cT\u003e                |\n| `Veho.Tuple`          | Extend (T, T), (T, T, T), (T, T, T, T)            |\n| `Veho.Types`          | Base types in Veho series                         |\n| `Veho.Vector`         | Extend T[]                                        |\n\n## Install\n\nVeho targets .NET Standard 2.0, fits both .NET and .NET Framework.\n\nInstall [Veho package](https://www.nuget.org/packages/Veho) and sub packages.\n\nNuGet Package Manager:\n\n```powershell\nInstall-Package Veho\n```\n\n.NET CLI:\n\n```shell\ndotnet add package Veho\n```\n\nAll versions can be found [on nuget](https://www.nuget.org/packages/Veho#versions-body-tab).\n\n## Usage\n\n### Zip two arrays into an new array\n\n```csharp\nusing Veho.Vector\n\nvar vecA = new[] {1, 2, 3, 4, 5};\nvar vecB = new[] {2, 2, 0, 3, 3};\nFunc\u003cint, int, int\u003e func = (x, y) =\u003e x * y;\nvar vecC = func.Zipper(vecA, vecB);\nConsole.WriteLine(string.Join(\", \", vecC));\n```\n\n### Compute max by reducing an array\n\n```csharp\nusing Veho.Vector;\n\nvar vec = Vec.From(1, 4, 6, 3, 2);\nvar max = vec.Reduce(Math.Max);\nConsole.WriteLine(max);\n```\n\n### Push a value into an array\n\n```csharp\nusing Veho.Vector;\nusing Spare;\n\nvar arr = Vec.From(\"a\", \"b\", \"c\");\narr.Push(\"d\")\nConsole.WriteLine(arr.Deco())\n```\n\n\u003e\n# Examples\n---------------------\nVeho has a test suite in the [test project](https://github.com/sharpyr/Veho/tree/master/Veho.Test/Src).\n\n## Feedback\n\nVeho is licensed under the [MIT](https://github.com/sharpyr/Veho/LICENSE) license.\n\nBug report and contribution are welcome at [the GitHub repository](https://github.com/sharpyr/Veho).\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharpyr%2Fveho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsharpyr%2Fveho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharpyr%2Fveho/lists"}