{"id":13709801,"url":"https://github.com/zigtools/zpm","last_synced_at":"2025-06-30T10:05:18.861Z","repository":{"id":68601362,"uuid":"265723956","full_name":"zigtools/zpm","owner":"zigtools","description":"Zig package manager helper","archived":false,"fork":false,"pushed_at":"2024-05-29T18:45:31.000Z","size":179,"stargazers_count":97,"open_issues_count":0,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-16T21:49:26.143Z","etag":null,"topics":["zig","ziglang"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zigtools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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},"funding":{"github":"zigtools","open_collective":"zigtools"}},"created_at":"2020-05-21T01:21:42.000Z","updated_at":"2025-05-16T17:19:29.000Z","dependencies_parsed_at":"2024-11-06T06:34:58.560Z","dependency_job_id":"dcb29e4f-104c-41e7-8953-f9ad56ea25b2","html_url":"https://github.com/zigtools/zpm","commit_stats":{"total_commits":32,"total_committers":4,"mean_commits":8.0,"dds":0.09375,"last_synced_commit":"d011bc8dff87126219fd545f0225c135257f5d2b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zigtools/zpm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zigtools%2Fzpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zigtools%2Fzpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zigtools%2Fzpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zigtools%2Fzpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zigtools","download_url":"https://codeload.github.com/zigtools/zpm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zigtools%2Fzpm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261078752,"owners_count":23106523,"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":["zig","ziglang"],"created_at":"2024-08-02T23:00:46.351Z","updated_at":"2025-06-30T10:05:18.838Z","avatar_url":"https://github.com/zigtools.png","language":"Nix","readme":"# ZPM Next Generation\n\n\u003e This project is vaporware right now. If you feel the urge to implement it, go ahead!\n\n## Usage Examples\n\n```sh-session\n[user@host] ~ $ zpm add-index zig.pm https://index.zig.pm/api/v1/\n[user@host] ~ $ \n```\n\n```sh-session\n[user@host] ~ $ zpm search network\n\nmasterq32/network 1.0.0 @ zig.pm\n  A smallest-common-subset of socket functions for crossplatform networking, TCP \u0026 UDP\n\nmarler8997/ziget 1.2.3 @ zig.pm\n  Zig library/tool to request network assets\n\n[user@host] ~ $ \n```\n\n```sh-session\n[user@host] ~ $ zpm add masterq32/network\nAdding masterq32/network...                 [/]\nDone.\n\nUse this code to add the dependency to your project:\n\n    const network_dep = b.dependency(\"masterq32/network\", .{});\n\n    const network_mod = network_dep.module(\"network\");\n\n[user@host] ~ $ \n```\n\n```sh-session\n[user@host] ~ $ zpm update --auto\nUpdating 2 dependencies...                  [/]\n\n    masterq32/network 1.0.0 =\u003e 1.0.5\n    masterq32/args    1.4.5 =\u003e 1.9.2\n\n[user@host] ~ $ \n```\n\n```sh-session\n[user@host] ~ $ zpm update --auto --major\nUpdating 1 dependency...                    [/]\n\n    masterq32/network 1.0.0 =\u003e 2.1.7\n\n[user@host] ~ $ \n```\n\n```sh-session\n[user@host] ~ $ zpm update\nUpdating 1 dependency...                    [/]\n\n    masterq32/network 1.0.0 =\u003e 2.1.7 [yN]\n```\n\n```sh-session\n[user@host] ~ $ zpm package\npath: /home/user/.cache/zpm/bundles/network.tar.xz\nhash: 1220a1f050f3a67785cbe68283b252f02f72885eea80d6a9e1856b02cd66deaf1492\n```\n\n```sh-session\n[user@host] ~ $ zpm push\nUploading masterq32/network to zig.pm...     [/]\n[user@host] ~ $ \n```\n\n## `build.zig.zon` Extension\n\n```zig\n.{\n    .name = \"network\", // this is displayed after the user name\n    .version = \"1.2.3\", // this is displayed in the search\n    .dependencies = .{\n        .inner = .{\n            .url = \"…\",\n            .hash = \"…\",\n\n            .index = \"zig.pm\",                  // which index was used to fetch\n            .package_name = \"masterq32/inner\",  // what is the package named there\n            .package_version = \"0.9.3\",         // which version was installed last\n        },\n    },\n    // Where can we fetch our packages?\n    .package_indices = .{\n        .@\"zig.pm\" = .{\n            .base_url = \"https://index.zig.pm/api/v1/\",\n        },\n    },\n}\n```\n\n## Package Index Format\n\n### `/index.json`\n\nDescribes the root of a package index.\n\nShould be served with a backend that supports `index.json?search=\u003cquery\u003e\u0026sort=\u003ckey\u003e` with `\u003ckey\u003e` being one of the fields of an entry of `packages` and `\u003cquery\u003e` should be able to do a full text search.\n\n```json\n{\n    \"last_update\": {\n        \"unix\": \"1714076768\",\n        \"iso\": \"2024-04-25T20:26:08.690159\"\n    },\n    \"packages\": [\n        {\n            \"name\": \"masterq32/network\",\n            \"short_desc\": \"A smallest-common-subset of socket functions for crossplatform networking, TCP \u0026 UDP\",\n\n            \"zig_version\": \"0.12.0\",\n            \n            \"pkg_version\": \"0.11.0-43-ge107f8d11\",\n            \"pkg_hash\": \"12203149d62eb94d919582cfd2482a4abd14b7908a69928ec0fe2724969388a2ad01\",\n            \"pkg_url\": \"https://downloads.zig.pm/packages/masterq32/network/0.11.0-43-ge107f8d11.tar.xz\",\n            \"pkg_metadata\": \"https://downloads.zig.pm/packages/masterq32/network.json\"\n        },\n        …\n    ]\n}\n```\n\n### `metadata.json`\n\nThis file is served under the url provided at `pkg_metadata` and describes a package more in-depth including\nall published versions and some generic package metadata.\n\n```json\n{\n    \"package_name\": \"masterq32/network\",\n    \"description\": \"A smallest-common-subset of socket functions for crossplatform networking, TCP \u0026 UDP\",\n    \"versions\": {\n        \"0.11.0-43-ge107f8d11\": {\n            \"package\": {\n                \"hash\": \"12200466d72927f83a1e427d04d15e7ab71ab735ae6f175b6dee22bde2d64bab34a3\",\n                \"url\": \"https://downloads.zig.pm/packages/masterq32/network/0.11.0-43-ge107f8d11.tar.xz\",\n                \"files\": [\n                    \"LICENSE\",\n                    \"build.zig\",\n                    \"build.zig.zon\",\n                    \"src/network.zig\"\n                ]\n            },\n            \"created\": {\n                \"unix\": \"1714076768\",\n                \"iso\": \"2024-04-25T20:26:08.690159\"\n            },\n            \"archive\": {\n                \"size\": \"218662\",\n                \"sha256sum\": \"786101a5548c7f5687a2f401c9b011badd734b68051c600d6a2a0e31b0bf7629\"\n            },\n            \"dependencies\": {\n                \"inner\": {\n                    \"name\": \"masterq32/inner\",\n                    \"version\": \"0.9.3\"\n                },\n            },\n        }\n    }\n}\n```","funding_links":["https://github.com/sponsors/zigtools","https://opencollective.com/zigtools"],"categories":["Development Tools","Other","Fundamentals"],"sub_categories":["Package and Version Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzigtools%2Fzpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzigtools%2Fzpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzigtools%2Fzpm/lists"}