|
| 1 | +class KstAt120 < Formula |
| 2 | + include Language::Python::Virtualenv |
| 3 | + |
| 4 | + desc "Local management of Kandji custom resources" |
| 5 | + homepage "https://github.com/kandji-inc/kst" |
| 6 | + url "https://files.pythonhosted.org/packages/40/c6/b1fba7b651b16a923eaacc82194ad63f21ba042b6de97dc4f5684c01c829/kst-1.2.0.tar.gz" |
| 7 | + sha256 "581bc4c255d58a933f4e04f1c7efa0debec64db4d1cd0ad7820667dc5a5092df" |
| 8 | + license "MIT" |
| 9 | + head "https://github.com/kandji-inc/kst.git", branch: "main" |
| 10 | + |
| 11 | + depends_on "rust" => :build # for pydantic-core |
| 12 | + depends_on "python@3.13" |
| 13 | + |
| 14 | + resource "annotated-types" do |
| 15 | + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" |
| 16 | + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" |
| 17 | + end |
| 18 | + |
| 19 | + resource "certifi" do |
| 20 | + url "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz" |
| 21 | + sha256 "47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43" |
| 22 | + end |
| 23 | + |
| 24 | + resource "charset-normalizer" do |
| 25 | + url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" |
| 26 | + sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" |
| 27 | + end |
| 28 | + |
| 29 | + resource "click" do |
| 30 | + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" |
| 31 | + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" |
| 32 | + end |
| 33 | + |
| 34 | + resource "idna" do |
| 35 | + url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" |
| 36 | + sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" |
| 37 | + end |
| 38 | + |
| 39 | + resource "markdown-it-py" do |
| 40 | + url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" |
| 41 | + sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" |
| 42 | + end |
| 43 | + |
| 44 | + resource "mdurl" do |
| 45 | + url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" |
| 46 | + sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" |
| 47 | + end |
| 48 | + |
| 49 | + resource "platformdirs" do |
| 50 | + url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" |
| 51 | + sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" |
| 52 | + end |
| 53 | + |
| 54 | + resource "pydantic" do |
| 55 | + url "https://files.pythonhosted.org/packages/96/ad/a17bc283d7d81837c061c49e3eaa27a45991759a1b7eae1031921c6bd924/pydantic-2.12.4.tar.gz" |
| 56 | + sha256 "0f8cb9555000a4b5b617f66bfd2566264c4984b27589d3b845685983e8ea85ac" |
| 57 | + end |
| 58 | + |
| 59 | + resource "pydantic-core" do |
| 60 | + url "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" |
| 61 | + sha256 "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e" |
| 62 | + end |
| 63 | + |
| 64 | + resource "pygments" do |
| 65 | + url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" |
| 66 | + sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" |
| 67 | + end |
| 68 | + |
| 69 | + resource "requests" do |
| 70 | + url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" |
| 71 | + sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" |
| 72 | + end |
| 73 | + |
| 74 | + resource "rich" do |
| 75 | + url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" |
| 76 | + sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" |
| 77 | + end |
| 78 | + |
| 79 | + resource "ruamel-yaml" do |
| 80 | + url "https://files.pythonhosted.org/packages/9f/c7/ee630b29e04a672ecfc9b63227c87fd7a37eb67c1bf30fe95376437f897c/ruamel.yaml-0.18.16.tar.gz" |
| 81 | + sha256 "a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a" |
| 82 | + end |
| 83 | + |
| 84 | + resource "ruamel-yaml-clib" do |
| 85 | + url "https://files.pythonhosted.org/packages/d8/e9/39ec4d4b3f91188fad1842748f67d4e749c77c37e353c4e545052ee8e893/ruamel.yaml.clib-0.2.14.tar.gz" |
| 86 | + sha256 "803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e" |
| 87 | + end |
| 88 | + |
| 89 | + resource "shellingham" do |
| 90 | + url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" |
| 91 | + sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" |
| 92 | + end |
| 93 | + |
| 94 | + resource "typer" do |
| 95 | + url "https://files.pythonhosted.org/packages/8f/28/7c85c8032b91dbe79725b6f17d2fffc595dff06a35c7a30a37bef73a1ab4/typer-0.20.0.tar.gz" |
| 96 | + sha256 "1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37" |
| 97 | + end |
| 98 | + |
| 99 | + resource "typing-extensions" do |
| 100 | + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" |
| 101 | + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" |
| 102 | + end |
| 103 | + |
| 104 | + resource "typing-inspection" do |
| 105 | + url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" |
| 106 | + sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" |
| 107 | + end |
| 108 | + |
| 109 | + resource "urllib3" do |
| 110 | + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" |
| 111 | + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" |
| 112 | + end |
| 113 | + |
| 114 | + def install |
| 115 | + virtualenv_install_with_resources |
| 116 | + end |
| 117 | + |
| 118 | + test do |
| 119 | + assert_match "kst, version #{version}", shell_output("#{bin}/kst --version") |
| 120 | + system "git", "config", "--global", "user.name", "Kandji Sync Toolkit" |
| 121 | + system "git", "config", "--global", "user.email", "kst@kandji.invalid" |
| 122 | + system bin/"kst", "new", testpath/"test-repo" |
| 123 | + system "git", "-C", testpath/"test-repo", "rev-parse", "--is-inside-work-tree" |
| 124 | + system bin/"kst", "profile", "new", "--output", testpath/"test-repo/profiles", "--name", "test-profile" |
| 125 | + system bin/"kst", "profile", "list", "--repo", testpath/"test-repo", "--local" |
| 126 | + system bin/"kst", "script", "new", "--output", testpath/"test-repo/scripts", "--name", "test-script" |
| 127 | + system bin/"kst", "script", "list", "--repo", testpath/"test-repo", "--local" |
| 128 | + end |
| 129 | +end |
0 commit comments