{"id":15192190,"url":"https://github.com/powershell/ships","last_synced_at":"2025-10-02T06:32:43.518Z","repository":{"id":26227605,"uuid":"84865293","full_name":"PowerShell/SHiPS","owner":"PowerShell","description":"Simple Hierarchy in PowerShell - developing PowerShell provider got so much easier","archived":true,"fork":false,"pushed_at":"2023-04-27T21:43:47.000Z","size":327,"stargazers_count":188,"open_issues_count":11,"forks_count":32,"subscribers_count":29,"default_branch":"development","last_synced_at":"2024-09-28T21:06:11.374Z","etag":null,"topics":[],"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/PowerShell.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-03-13T19:17:10.000Z","updated_at":"2024-08-24T04:13:52.000Z","dependencies_parsed_at":"2024-09-18T18:04:41.719Z","dependency_job_id":null,"html_url":"https://github.com/PowerShell/SHiPS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSHiPS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSHiPS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSHiPS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSHiPS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PowerShell","download_url":"https://codeload.github.com/PowerShell/SHiPS/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234951944,"owners_count":18912493,"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":[],"created_at":"2024-09-27T21:06:13.471Z","updated_at":"2025-10-02T06:32:38.157Z","avatar_url":"https://github.com/PowerShell.png","language":"C#","readme":"# Simple Hierarchy in PowerShell (SHiPS)\n\nA [PowerShell provider][ps-provider] allows any data store to be exposed like a file system as if it were a mounted drive.\nIn other words, the data in your data store can be treated like files and directories so that a user can navigate data via `cd` or `dir`.\nSHiPS is a PowerShell provider.\nTo be more precise it's a provider utility that simplifies developing PowerShell providers.\n\n## Build Status\n\n### Development branch\n\n| AppVeyor (Windows)       | Travis CI (Linux / macOS) |\n|--------------------------|--------------------------|\n| [![av-image-dev][]][av-site-dev] | [![tv-image-dev][]][tv-site-dev] |\n\n\n### Master branch\n| AppVeyor (Windows)       | Travis CI (Linux / macOS) |\n|--------------------------|--------------------------|\n| [![av-image-master][]][av-site-master] | [![tv-image-master][]][tv-site-master] |\n\n[av-image-master]: https://ci.appveyor.com/api/projects/status/jjy56evq75bxn5w4/branch/master?svg=true\n[av-site-master]: https://ci.appveyor.com/project/PowerShell/SHiPS/history/branch/master\n[tv-image-master]: https://travis-ci.org/PowerShell/SHiPS.svg?branch=master\n[tv-site-master]: https://travis-ci.org/PowerShell/SHiPS/branches\n\n[av-image-dev]:https://ci.appveyor.com/api/projects/status/jjy56evq75bxn5w4/branch/development?svg=true\n[av-site-dev]: https://ci.appveyor.com/project/PowerShell/SHiPS/history/branch/development\n[tv-image-dev]: https://travis-ci.org/PowerShell/SHiPS.svg?branch=development\n[tv-site-dev]: https://travis-ci.org/PowerShell/SHiPS/branches\n\n### Nightly run Master branch\n\n\n| AppVeyor (Windows)\n|--------------------------\n| [![av-image-master-n][]][av-site-master-n]\n\n[av-image-master-n]: https://ci.appveyor.com/api/projects/status/od48qs1sf6xo3ro0/branch/master?svg=true\n[av-site-master-n]: https://ci.appveyor.com/project/PowerShell/ships-yfgug/branch/master\n\n\n## Supported Platform\n\n- Windows\n  - PowerShell v5 (or later), which is shipped in Win10, Windows Server 2016, or [WMF 5.1][wmf51]\n  - [.Net Framework 4.7.1][dotnet471]\n- Linux or Mac\n  - [PowerShell Core][ps]\n\n## Downloading the Source Code\n\ngit clone https://github.com/PowerShell/SHiPS.git\n\n## Building the Source Code\n\n```powerShell\ncd \u003cyourclonefolder\u003e\\SHiPS\\src\\\n# get the dotnet CLI tool\n# and Windows10 SDK if you are running on Windows\n.\\bootstrap.ps1\n\n# build SHiPS\n.\\build.ps1 Release\n\n```\n\n## Installing SHiPS\n\n- You can install SHiPS from the [PowerShell Gallery][psgallery]\n- Install SHiPS' binaries which you just built on your box:\n  ```powerShell\n  # you need to launch PowerShell as Administrator\n  cd \u003cyourclonefolder\u003e\\SHiPS\n  Import-Module .\\tools\\setup.psm1\n  Install-SHiPS\n  ```\n\n## Running Unit Tests\n\n```powerShell\nImport-Module .\\tools\\setup.psm1\nInvoke-SHiPSTest\n```\n\n## Try It Out\n\nLet's take the [FamilyTree][ft] module as our example here.\nAssuming you have done the above steps, i.e., git clone, build, and run Install-SHiPS, now try the following.\n\n```powerShell\nImport-Module SHiPS\nImport-Module  .\\samples\\FamilyTree\n\n# create a PowerShell drive.\nnew-psdrive -name Austin -psprovider SHiPS -root 'FamilyTree#Austin'\ncd Austin:\n\ndir\ncd Ben\ndir\n```\n\nThe output looks like below.\n\n```powerShell\nPS Austin:\\\u003e dir\n    Container: Microsoft.PowerShell.SHiPS\\SHiPS::FamilyTree#Austin\nType       Name\n----       ----\n+          Ben\n.          Bill\n\nPS Austin:\\\u003e cd .\\Ben\\\nPS Austin:\\Ben\u003e dir\n    Container: Microsoft.PowerShell.SHiPS\\SHiPS::FamilyTree#Austin\n\nType       Name\n----       ----\n.          Chris\n.          Cathy\n\nPS Austin:\\Ben\u003e dir | %{$_.Data}\nName  DOB  Gender\n----  ---  ------\nChris 5034 M\nCathy 5050 F\n```\n\nIn fact, we can create a drive at any level. Let's say we are interested in Ben only, we can do something like this:\n\n```powershell\nnew-psdrive -name son -psprovider SHiPS -root 'FamilyTree#Ben'\ncd son:\ndir\n```\n\nIn addition, this can be useful for the isolated testing.\n\nSee more samples under [sample folder][sample] to try out.\n\n## Get Started with Writing a PowerShell Provider\n\nIf you'd like to try out writing a SHiPS-based provider in PowerShell, we recommend reviewing [the getting started documentation][getstarted].\n\n## SHiPS Architecture\n\nSee [here][design] for design details.\n\n## FAQ\n\nSee [known issues, FAQ, etc.][faq]\n\n## Developing and Contributing\n\nPlease follow [the PowerShell Contribution Guide][ps-contribution] for how to contribute.\n\n## Legal and Licensing\n\nSHiPS is under the [MIT license][license].\n\n[ps]: https://github.com/PowerShell/PowerShell\n[ps-provider]: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/about/about_providers\n[ps-contribution]: https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md\n[wmf51]: https://www.microsoft.com/en-us/download/details.aspx?id=54616\n[license]: /LICENSE.txt\n[design]: /docs/Design.md\n[sample]: /samples/\n[ft]: /samples/FamilyTree\n[getstarted]: /docs/README.md\n[faq]: /docs/FAQ.md\n[psgallery]: https://www.powershellgallery.com/packages/SHiPS\n[dotnet471]: http://go.microsoft.com/fwlink/?LinkId=852095\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowershell%2Fships","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowershell%2Fships","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowershell%2Fships/lists"}