KhalilGuetari commited on
Commit
c112d4e
·
1 Parent(s): 5aaaef8

hf cli update

Browse files
Files changed (2) hide show
  1. pdm.lock +59 -27
  2. pyproject.toml +4 -0
pdm.lock CHANGED
@@ -2,10 +2,10 @@
2
  # It is not intended for manual editing.
3
 
4
  [metadata]
5
- groups = ["default"]
6
  strategy = ["inherit_metadata"]
7
  lock_version = "4.5.0"
8
- content_hash = "sha256:0892227e66891699bdefc4185a3108dce32a5c2ac44d583e79d497ecaab12fe8"
9
 
10
  [[metadata.targets]]
11
  requires_python = ">=3.13"
@@ -148,7 +148,7 @@ name = "anyio"
148
  version = "4.11.0"
149
  requires_python = ">=3.9"
150
  summary = "High-level concurrency and networking framework on top of asyncio or Trio"
151
- groups = ["default"]
152
  dependencies = [
153
  "exceptiongroup>=1.0.2; python_version < \"3.11\"",
154
  "idna>=2.8",
@@ -256,7 +256,7 @@ name = "certifi"
256
  version = "2025.10.5"
257
  requires_python = ">=3.7"
258
  summary = "Python package for providing Mozilla's CA Bundle."
259
- groups = ["default"]
260
  files = [
261
  {file = "certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de"},
262
  {file = "certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43"},
@@ -310,7 +310,7 @@ name = "click"
310
  version = "8.3.0"
311
  requires_python = ">=3.10"
312
  summary = "Composable command line interface toolkit"
313
- groups = ["default"]
314
  dependencies = [
315
  "colorama; platform_system == \"Windows\"",
316
  ]
@@ -324,7 +324,7 @@ name = "colorama"
324
  version = "0.4.6"
325
  requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
326
  summary = "Cross-platform colored terminal text."
327
- groups = ["default"]
328
  marker = "platform_system == \"Windows\""
329
  files = [
330
  {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
@@ -402,7 +402,7 @@ name = "filelock"
402
  version = "3.20.0"
403
  requires_python = ">=3.10"
404
  summary = "A platform independent file lock."
405
- groups = ["default"]
406
  files = [
407
  {file = "filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2"},
408
  {file = "filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"},
@@ -488,7 +488,7 @@ name = "fsspec"
488
  version = "2025.9.0"
489
  requires_python = ">=3.9"
490
  summary = "File-system specification"
491
- groups = ["default"]
492
  files = [
493
  {file = "fsspec-2025.9.0-py3-none-any.whl", hash = "sha256:530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7"},
494
  {file = "fsspec-2025.9.0.tar.gz", hash = "sha256:19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19"},
@@ -604,7 +604,7 @@ name = "h11"
604
  version = "0.16.0"
605
  requires_python = ">=3.8"
606
  summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
607
- groups = ["default"]
608
  files = [
609
  {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"},
610
  {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"},
@@ -615,8 +615,8 @@ name = "hf-xet"
615
  version = "1.2.0"
616
  requires_python = ">=3.8"
617
  summary = "Fast transfer of large files with the Hugging Face Hub."
618
- groups = ["default"]
619
- marker = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\""
620
  files = [
621
  {file = "hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649"},
622
  {file = "hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813"},
@@ -647,7 +647,7 @@ name = "httpcore"
647
  version = "1.0.9"
648
  requires_python = ">=3.8"
649
  summary = "A minimal low-level HTTP client."
650
- groups = ["default"]
651
  dependencies = [
652
  "certifi",
653
  "h11>=0.16",
@@ -662,7 +662,7 @@ name = "httpx"
662
  version = "0.28.1"
663
  requires_python = ">=3.8"
664
  summary = "The next generation HTTP client."
665
- groups = ["default"]
666
  dependencies = [
667
  "anyio",
668
  "certifi",
@@ -687,23 +687,40 @@ files = [
687
 
688
  [[package]]
689
  name = "huggingface-hub"
690
- version = "0.36.0"
691
- requires_python = ">=3.8.0"
692
  summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
693
- groups = ["default"]
694
  dependencies = [
695
  "filelock",
696
  "fsspec>=2023.5.0",
697
- "hf-xet<2.0.0,>=1.1.3; platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"",
 
698
  "packaging>=20.9",
699
  "pyyaml>=5.1",
700
- "requests",
701
  "tqdm>=4.42.1",
 
702
  "typing-extensions>=3.7.4.3",
703
  ]
704
  files = [
705
- {file = "huggingface_hub-0.36.0-py3-none-any.whl", hash = "sha256:7bcc9ad17d5b3f07b57c78e79d527102d08313caa278a641993acddcb894548d"},
706
- {file = "huggingface_hub-0.36.0.tar.gz", hash = "sha256:47b3f0e2539c39bf5cde015d63b72ec49baff67b6931c3d97f3f84532e2b8d25"},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
707
  ]
708
 
709
  [[package]]
@@ -711,7 +728,7 @@ name = "idna"
711
  version = "3.11"
712
  requires_python = ">=3.8"
713
  summary = "Internationalized Domain Names in Applications (IDNA)"
714
- groups = ["default"]
715
  files = [
716
  {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"},
717
  {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"},
@@ -1062,7 +1079,7 @@ name = "packaging"
1062
  version = "25.0"
1063
  requires_python = ">=3.8"
1064
  summary = "Core utilities for Python packages"
1065
- groups = ["default"]
1066
  files = [
1067
  {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
1068
  {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
@@ -1413,7 +1430,7 @@ name = "pyyaml"
1413
  version = "6.0.3"
1414
  requires_python = ">=3.8"
1415
  summary = "YAML parser and emitter for Python"
1416
- groups = ["default"]
1417
  files = [
1418
  {file = "pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8"},
1419
  {file = "pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1"},
@@ -1620,7 +1637,7 @@ name = "shellingham"
1620
  version = "1.5.4"
1621
  requires_python = ">=3.7"
1622
  summary = "Tool to Detect Surrounding Shell"
1623
- groups = ["default"]
1624
  files = [
1625
  {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"},
1626
  {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"},
@@ -1642,7 +1659,7 @@ name = "sniffio"
1642
  version = "1.3.1"
1643
  requires_python = ">=3.7"
1644
  summary = "Sniff out which async library your code is running under"
1645
- groups = ["default"]
1646
  files = [
1647
  {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
1648
  {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
@@ -1693,7 +1710,7 @@ name = "tqdm"
1693
  version = "4.67.1"
1694
  requires_python = ">=3.7"
1695
  summary = "Fast, Extensible Progress Meter"
1696
- groups = ["default"]
1697
  dependencies = [
1698
  "colorama; platform_system == \"Windows\"",
1699
  ]
@@ -1719,12 +1736,27 @@ files = [
1719
  {file = "typer-0.20.0.tar.gz", hash = "sha256:1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37"},
1720
  ]
1721
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1722
  [[package]]
1723
  name = "typing-extensions"
1724
  version = "4.15.0"
1725
  requires_python = ">=3.9"
1726
  summary = "Backported and Experimental Type Hints for Python 3.9+"
1727
- groups = ["default"]
1728
  files = [
1729
  {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"},
1730
  {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"},
 
2
  # It is not intended for manual editing.
3
 
4
  [metadata]
5
+ groups = ["default", "hf-cli"]
6
  strategy = ["inherit_metadata"]
7
  lock_version = "4.5.0"
8
+ content_hash = "sha256:a6d66424dba25e1753c2f45fe7d765c760a111cfe9beaa21771316b6afbbedf3"
9
 
10
  [[metadata.targets]]
11
  requires_python = ">=3.13"
 
148
  version = "4.11.0"
149
  requires_python = ">=3.9"
150
  summary = "High-level concurrency and networking framework on top of asyncio or Trio"
151
+ groups = ["default", "hf-cli"]
152
  dependencies = [
153
  "exceptiongroup>=1.0.2; python_version < \"3.11\"",
154
  "idna>=2.8",
 
256
  version = "2025.10.5"
257
  requires_python = ">=3.7"
258
  summary = "Python package for providing Mozilla's CA Bundle."
259
+ groups = ["default", "hf-cli"]
260
  files = [
261
  {file = "certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de"},
262
  {file = "certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43"},
 
310
  version = "8.3.0"
311
  requires_python = ">=3.10"
312
  summary = "Composable command line interface toolkit"
313
+ groups = ["default", "hf-cli"]
314
  dependencies = [
315
  "colorama; platform_system == \"Windows\"",
316
  ]
 
324
  version = "0.4.6"
325
  requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
326
  summary = "Cross-platform colored terminal text."
327
+ groups = ["default", "hf-cli"]
328
  marker = "platform_system == \"Windows\""
329
  files = [
330
  {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
 
402
  version = "3.20.0"
403
  requires_python = ">=3.10"
404
  summary = "A platform independent file lock."
405
+ groups = ["default", "hf-cli"]
406
  files = [
407
  {file = "filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2"},
408
  {file = "filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"},
 
488
  version = "2025.9.0"
489
  requires_python = ">=3.9"
490
  summary = "File-system specification"
491
+ groups = ["default", "hf-cli"]
492
  files = [
493
  {file = "fsspec-2025.9.0-py3-none-any.whl", hash = "sha256:530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7"},
494
  {file = "fsspec-2025.9.0.tar.gz", hash = "sha256:19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19"},
 
604
  version = "0.16.0"
605
  requires_python = ">=3.8"
606
  summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
607
+ groups = ["default", "hf-cli"]
608
  files = [
609
  {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"},
610
  {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"},
 
615
  version = "1.2.0"
616
  requires_python = ">=3.8"
617
  summary = "Fast transfer of large files with the Hugging Face Hub."
618
+ groups = ["default", "hf-cli"]
619
+ marker = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\""
620
  files = [
621
  {file = "hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649"},
622
  {file = "hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813"},
 
647
  version = "1.0.9"
648
  requires_python = ">=3.8"
649
  summary = "A minimal low-level HTTP client."
650
+ groups = ["default", "hf-cli"]
651
  dependencies = [
652
  "certifi",
653
  "h11>=0.16",
 
662
  version = "0.28.1"
663
  requires_python = ">=3.8"
664
  summary = "The next generation HTTP client."
665
+ groups = ["default", "hf-cli"]
666
  dependencies = [
667
  "anyio",
668
  "certifi",
 
687
 
688
  [[package]]
689
  name = "huggingface-hub"
690
+ version = "1.1.4"
691
+ requires_python = ">=3.9.0"
692
  summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
693
+ groups = ["default", "hf-cli"]
694
  dependencies = [
695
  "filelock",
696
  "fsspec>=2023.5.0",
697
+ "hf-xet<2.0.0,>=1.2.0; platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"",
698
+ "httpx<1,>=0.23.0",
699
  "packaging>=20.9",
700
  "pyyaml>=5.1",
701
+ "shellingham",
702
  "tqdm>=4.42.1",
703
+ "typer-slim",
704
  "typing-extensions>=3.7.4.3",
705
  ]
706
  files = [
707
+ {file = "huggingface_hub-1.1.4-py3-none-any.whl", hash = "sha256:867799fbd2ef338b7f8b03d038d9c0e09415dfe45bb2893b48a510d1d746daa5"},
708
+ {file = "huggingface_hub-1.1.4.tar.gz", hash = "sha256:a7424a766fffa1a11e4c1ac2040a1557e2101f86050fdf06627e7b74cc9d2ad6"},
709
+ ]
710
+
711
+ [[package]]
712
+ name = "huggingface-hub"
713
+ version = "1.1.4"
714
+ extras = ["cli"]
715
+ requires_python = ">=3.9.0"
716
+ summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
717
+ groups = ["hf-cli"]
718
+ dependencies = [
719
+ "huggingface-hub==1.1.4",
720
+ ]
721
+ files = [
722
+ {file = "huggingface_hub-1.1.4-py3-none-any.whl", hash = "sha256:867799fbd2ef338b7f8b03d038d9c0e09415dfe45bb2893b48a510d1d746daa5"},
723
+ {file = "huggingface_hub-1.1.4.tar.gz", hash = "sha256:a7424a766fffa1a11e4c1ac2040a1557e2101f86050fdf06627e7b74cc9d2ad6"},
724
  ]
725
 
726
  [[package]]
 
728
  version = "3.11"
729
  requires_python = ">=3.8"
730
  summary = "Internationalized Domain Names in Applications (IDNA)"
731
+ groups = ["default", "hf-cli"]
732
  files = [
733
  {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"},
734
  {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"},
 
1079
  version = "25.0"
1080
  requires_python = ">=3.8"
1081
  summary = "Core utilities for Python packages"
1082
+ groups = ["default", "hf-cli"]
1083
  files = [
1084
  {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
1085
  {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
 
1430
  version = "6.0.3"
1431
  requires_python = ">=3.8"
1432
  summary = "YAML parser and emitter for Python"
1433
+ groups = ["default", "hf-cli"]
1434
  files = [
1435
  {file = "pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8"},
1436
  {file = "pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1"},
 
1637
  version = "1.5.4"
1638
  requires_python = ">=3.7"
1639
  summary = "Tool to Detect Surrounding Shell"
1640
+ groups = ["default", "hf-cli"]
1641
  files = [
1642
  {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"},
1643
  {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"},
 
1659
  version = "1.3.1"
1660
  requires_python = ">=3.7"
1661
  summary = "Sniff out which async library your code is running under"
1662
+ groups = ["default", "hf-cli"]
1663
  files = [
1664
  {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
1665
  {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
 
1710
  version = "4.67.1"
1711
  requires_python = ">=3.7"
1712
  summary = "Fast, Extensible Progress Meter"
1713
+ groups = ["default", "hf-cli"]
1714
  dependencies = [
1715
  "colorama; platform_system == \"Windows\"",
1716
  ]
 
1736
  {file = "typer-0.20.0.tar.gz", hash = "sha256:1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37"},
1737
  ]
1738
 
1739
+ [[package]]
1740
+ name = "typer-slim"
1741
+ version = "0.20.0"
1742
+ requires_python = ">=3.8"
1743
+ summary = "Typer, build great CLIs. Easy to code. Based on Python type hints."
1744
+ groups = ["default", "hf-cli"]
1745
+ dependencies = [
1746
+ "click>=8.0.0",
1747
+ "typing-extensions>=3.7.4.3",
1748
+ ]
1749
+ files = [
1750
+ {file = "typer_slim-0.20.0-py3-none-any.whl", hash = "sha256:f42a9b7571a12b97dddf364745d29f12221865acef7a2680065f9bb29c7dc89d"},
1751
+ {file = "typer_slim-0.20.0.tar.gz", hash = "sha256:9fc6607b3c6c20f5c33ea9590cbeb17848667c51feee27d9e314a579ab07d1a3"},
1752
+ ]
1753
+
1754
  [[package]]
1755
  name = "typing-extensions"
1756
  version = "4.15.0"
1757
  requires_python = ">=3.9"
1758
  summary = "Backported and Experimental Type Hints for Python 3.9+"
1759
+ groups = ["default", "hf-cli"]
1760
  files = [
1761
  {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"},
1762
  {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"},
pyproject.toml CHANGED
@@ -17,6 +17,10 @@ requires-python = ">=3.13"
17
  readme = "README.md"
18
  license = {text = "Apache-2.0"}
19
 
 
 
 
 
20
  [build-system]
21
  requires = ["pdm-backend"]
22
  build-backend = "pdm.backend"
 
17
  readme = "README.md"
18
  license = {text = "Apache-2.0"}
19
 
20
+ [project.optional-dependencies]
21
+ hf-cli = [
22
+ "huggingface-hub[cli]>=1.1.4",
23
+ ]
24
  [build-system]
25
  requires = ["pdm-backend"]
26
  build-backend = "pdm.backend"