{"id":13523105,"url":"https://github.com/Thumuss/utpm","last_synced_at":"2025-04-01T00:30:53.898Z","repository":{"id":177363234,"uuid":"655267390","full_name":"Thumuss/utpm","owner":"Thumuss","description":"A package manager for typst","archived":false,"fork":false,"pushed_at":"2024-09-17T14:03:37.000Z","size":2264,"stargazers_count":30,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2024-09-18T17:10:17.529Z","etag":null,"topics":["package-manager","typst","utpm"],"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/Thumuss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2023-06-18T11:53:56.000Z","updated_at":"2024-09-09T05:24:57.000Z","dependencies_parsed_at":"2023-09-07T11:18:30.113Z","dependency_job_id":"7d6abc52-f2ea-4162-b218-6a1bb883ccb4","html_url":"https://github.com/Thumuss/utpm","commit_stats":null,"previous_names":["thumuslive/unofficial-typst-package-manager","thumuslive/utpm","thumuss/utpm"],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thumuss%2Futpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thumuss%2Futpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thumuss%2Futpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thumuss%2Futpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Thumuss","download_url":"https://codeload.github.com/Thumuss/utpm/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222688173,"owners_count":17023297,"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":["package-manager","typst","utpm"],"created_at":"2024-08-01T06:00:55.528Z","updated_at":"2025-04-01T00:30:53.885Z","avatar_url":"https://github.com/Thumuss.png","language":"Rust","funding_links":[],"categories":["Integrations \u0026 Tools","Usage"],"sub_categories":["CLI Tools","3. Bootstrap Template"],"readme":"\u003cdiv align=\"center\"\u003e\n\n![UTPM logo](./assets/logo.svg)\n\n\u003e _Unofficial Typst package manager_\n\n**UTPM** is a _package manager_ for **[local](https://github.com/typst/packages#local-packages)** and **[remote](https://github.com/typst/packages)** Typst packages. Quickly create and manage _projects_ and _templates_ on your system, and publish them directly to **Typst Universe**.  \n\n[![Thumuss - utpm](https://img.shields.io/static/v1?label=Thumuss\u0026message=utpm\u0026color=blue\u0026logo=github)](https://github.com/Thumuss/utpm \"Go to GitHub repo\")\n[![stars - utpm](https://img.shields.io/github/stars/Thumuss/utpm?style=social)](https://github.com/Thumuss/utpm)\n[![forks - utpm](https://img.shields.io/github/forks/Thumuss/utpm?style=social)](https://github.com/Thumuss/utpm)\n\u003cbr/\u003e\n[![GitHub tag](https://img.shields.io/github/tag/Thumuss/utpm?include_prereleases=\u0026sort=semver\u0026color=blue)](https://github.com/Thumuss/utpm/releases/)\n[![License](https://img.shields.io/badge/License-MIT-blue)](#license)\n[![issues - utpm](https://img.shields.io/github/issues/Thumuss/utpm)](https://github.com/Thumuss/utpm/issues)\n\n\u003c/div\u003e\n\n## 🔥 Features\n- [x] ✨Create packages rapidly (`utpm workspace create`)\n  - [x] ⏯️ Alias shorthand e.g. (`workspace = ws`)\n  - [x] ⌨️ Intuitive Clap CLI\n- [x] 🛠 Manage existing packages (`utpm ws link --no-copy`)\n  - [x] 🔗 Link remote and local packages (`utpm workspace link`)\n  - [x] 🗄️ Delete and bulk delete your packages (`utpm pkg unlink`, `utpm pkg bulk-delete`)\n- [x] 🌐 Dependencies outside of Typst!\n  - [x] 📦 Support for third party application and plugins\n  - [x] 🔒 Portable installer (limited for now)\n- [x] 📃 Visualization \n  - [x] 🗃️ list `utpm pkg list`\n  - [x] 🌲 tree `utpm pkg tree`\n- [ ] 🚀 Automated publication directly to Typst Universe!\n\n**_...And more soon!_**\n\n\u003e [!WARNING]  \n\u003e **UTPM** is still in active development, and some features may not be fully implemented. Contributions are welcome!\n\n\u003cdiv id=\"install\"\u003e\n\n## ⚡Install\n### With cargo\nRequires Cargo and Rust. \n\n```bash\n$ cargo install --git https://github.com/Thumuss/utpm\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\n  \n### With nix\n\n\u003c/summary\u003e\n\n#### Nix with flakes enabled :\n\nGet utpm for a bash session without installing it :\n\n```bash\n$ nix shell github:Thumuss/utpm\n```\n\nOr if you use NixOS or home-manager with a flake, install it permanently in your `flake.nix` or your modules :\n\n```nix\n{\n  inputs.utpm.url = \"github:Thumuss/utpm\";\n  # ...\n\n  outputs = { self, nixpkgs, ... }@inputs: {\n    # change `yourhostname` or `yourusername` to your actual hostname or username\n    nixosConfigurations.yourhostname = nixpkgs.lib.nixosSystem { #or homeConfigurations.yourusername\n      system = \"x86_64-linux\";\n      modules = [\n        # ...\n        {\n          environment.systemPackages = [ inputs.utpm.packages.${system}.default ]; #or home.packages\n        }\n      ];\n    };\n  };\n}\n```\n\n#### Nix without flakes :\n\nClone the repo and then nix-build into the utpm directory :\n\n```bash\ngit clone https://github.com/Thumuss/utpm.git\ncd utpm\nnix-build\n./result/bin/utpm\n```\nUtpm will be at ./result/bin/utpm\n\n\u003c/details\u003e\n\u003cdiv/\u003e\n\n\u003cdiv id=\"usage\"\u003e\n\n## 🎰 Usage \nFurther usage information can be found by running `utpm --help` or `utpm \u003ccommand\u003e --help` on any of the sub commands. Documentation is still in progress, feel free to ask questions in the issues section. Currently the github documentation is pretty much a mirror of the help command.\n\n```\nUsage: utpm [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  workspace  Create, edit, delete your workspace for your package [aliases: ws]\n  packages   use packages related to Typst [aliases: pkg]\n  generate   Generate shell completions [aliases: gen]\n  help       Print this message or the help of the given subcommand(s)\n\nOptions:\n  -v, --verbose \u003cVERBOSE\u003e  Gives you more information, permet debug\n  -h, --help               Print help\n  -V, --version            Print version\n```\n\n**Workspace** (ws): Manage Your Project Workspace\n- `link (l)`: Link your project to existing directories.\n- `create (c) (Deprecated)`: Creates a typst.toml file. Use init instead.\n- `install (i)`: Install dependencies listed in typst.toml.\n- `add (a)`: Add and install new dependencies.\n- `delete (d)`: Remove specific dependencies.\n- `init`: Initialize a new workspace for a Typst package.\n- `publish (p) (WIP)`: Intended for publishing packages.\n- `clone (WIP)`: Clone an existing workspace.\n\n**Packages** (pkg): Manage Typst Packages\n- `tree (t)`: Display all packages in a directory as a tree.\n- `list (l)`: List all packages in a directory in a flat list.\n- `path (p)`: Show the path to the Typst packages folder.\n- `unlink (u)`: Remove a previously installed package.\n- `bulk-delete (bd)`: Delete multiple packages at once.\n\n**generate** (gen): Generate Shell Completions\n\n\u003cdiv/\u003e\n\n\u003cdiv id=\"contribution\"\u003e\n\n## ❤️ Contribution\n\nIf you want to help me develop this package, simply make an issue or a PR!\n\nBy using this app, you contribute to it, thank you! \u003c3\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThumuss%2Futpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThumuss%2Futpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThumuss%2Futpm/lists"}