Perforce is the fast SCM system at www.perforce.com. This package provides a simple interface from Python wrapping the Perforce C++ API to gain performance and ease of coding. Similar to interfaces available for Ruby and Perl.
Release files for p4python 2026.1.2974490
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| p4python-2026.1.2974490.tar.gz | 91.0 kB | Details |
Built distributions (wheels)
Total release size: 372.9 MB
Release files / p4python-2026.1.2974490.tar.gz
| Download URL | p4python-2026.1.2974490.tar.gz |
|---|---|
| Size | 91.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
194f49b5832242cc341a8648049dc0c11ef94cec583297662da9537e34a3c278
|
|
BLAKE2b-256 checksum How to use checksums |
50e2656aaa4e3e79c21edba4bbb40a6b659e303f7c08a6319e9da0d70af0581d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp314-cp314-win_amd64.whl
| Download URL | p4python-2026.1.2974490-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d1cc32a53e914128137021acaa4a8d003faed3016fb1feac6c00246cea9beb90
|
|
BLAKE2b-256 checksum How to use checksums |
61cb6bff6d9599184de3773ec0244cfb4de48a21aa097bfe11a254bfcac4c0bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp314-cp314-win32.whl
| Download URL | p4python-2026.1.2974490-cp314-cp314-win32.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
2286fad427eeda3024497495be595666e999da7d3d10a0bc69a3cece354b1f19
|
|
BLAKE2b-256 checksum How to use checksums |
889b99459c909823f80d82cd71c7b368f8aeb7d047605f6caf4d2be5135bf64e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 29.0 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
dd6629b43d60f0662410547046350ac498992317f3b4e040581d8978f6689d47
|
|
BLAKE2b-256 checksum How to use checksums |
30690575430a8c0e5738d7eb903fb090b4a86b418059535eccea80e7e87ed9ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | p4python-2026.1.2974490-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 28.4 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
cf3c8145ce2c42cfc70e26e6bb567b903dbf85c52764f65e25c7586deef21589
|
|
BLAKE2b-256 checksum How to use checksums |
cc08191ecae0546c875287282a32c4ae5312bc9bce2db70602196614f8c567b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | p4python-2026.1.2974490-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8ffc39774fbcddc559de09fcf9b4784d8c09455f532d2a7e2c737571c2cfa692
|
|
BLAKE2b-256 checksum How to use checksums |
1f21125a6799bdf89f38bdfc808c523289fb44878c9f924195a51c5f7072d1c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
16da8be83ca924b99b1f5c732609ee9a4a4c76e7b7cee0287788a553f9f9a861
|
|
BLAKE2b-256 checksum How to use checksums |
e59d23363878840f615a8cd20f0a66fc7238781901e12bd28f97be79871bbc45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp313-cp313-win_amd64.whl
| Download URL | p4python-2026.1.2974490-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5872cedf4a26c9676dada767288b91e5e3272c85c7a0ad20c54ad12bfe3ed91e
|
|
BLAKE2b-256 checksum How to use checksums |
9e458d2c3cd049f34f839ba302d5f3f954ee887fede7be0bd80ed57f5e383781
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp313-cp313-win32.whl
| Download URL | p4python-2026.1.2974490-cp313-cp313-win32.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
33eb03b259640442f3047f1f79e8285959ebd6788b5120b1ce32bd487b298980
|
|
BLAKE2b-256 checksum How to use checksums |
f5d001599cf1d79c4b382899b9fe24ca5dd63c2f672a0edae8cb7aabba877ae4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 29.0 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d2643c435b0f8b99f1ffc6557c32ec676e805df1139f3fd074b7791e75799ae5
|
|
BLAKE2b-256 checksum How to use checksums |
8a739b9381c724a90588f11c8d4ff5a5e686272fd5ad41c3608e14bd55da4434
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | p4python-2026.1.2974490-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 28.4 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
8ccf12d13b925c92c61ee4b3f78534c62a02496e8af3c318348be18d3c841cfe
|
|
BLAKE2b-256 checksum How to use checksums |
81ad351391a7f91b49fd2d513fd8e9139b7841f9a01793bf6c0854d7273b5191
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | p4python-2026.1.2974490-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
aaf82796eaf98fb3741df6a4862154453ffc7c24757039cb8843c460bbea4245
|
|
BLAKE2b-256 checksum How to use checksums |
e0b3d1811c84c90a3cccfe032e4293362c24bdd87b8619544465448cdedac630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp313-cp313-macosx_10_15_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp313-cp313-macosx_10_15_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.13 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
35d1fccacd6622896eb4b510c1cb73864be05ebaecc60093fe41377c0682f07c
|
|
BLAKE2b-256 checksum How to use checksums |
6d669ca1bfd393fdd97e0a6c86789fe3065f92eabea3039bc8ca262b5e2e289b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp312-cp312-win_amd64.whl
| Download URL | p4python-2026.1.2974490-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e9be3af55bdd7a0363c5030f91c561e0dd3fda369a4a180aa1de2188d49081f7
|
|
BLAKE2b-256 checksum How to use checksums |
8bf9d321f57ecb2ac559946fa0e89a152ccd5a7a1f7afc907000a8b8a437b5c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp312-cp312-win32.whl
| Download URL | p4python-2026.1.2974490-cp312-cp312-win32.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
a96ef6e7035611981502fa57532f95ae76485d4bfcca086c31f1e65517458188
|
|
BLAKE2b-256 checksum How to use checksums |
503f90415246c76cbb62fee5d65d419205773f69e2aaee7b450872bd81c059e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 29.0 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
71e73b5b16dea997d7739f472c75b6551bda0094bad0ae453c200d1279ed6788
|
|
BLAKE2b-256 checksum How to use checksums |
7a5a5d748d2e9c3a78e4ed6234fb7d21e6355f087599b8c02ad088889f67a28f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | p4python-2026.1.2974490-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 28.4 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
fb27eda29b2524852a0bb4d120a635ad540995d4a850cf1264cc468491f7756d
|
|
BLAKE2b-256 checksum How to use checksums |
81e6543bd5aa1bcadbef1a1e54a7f0719ada092467697bad4af0aba889d6ca59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | p4python-2026.1.2974490-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c45821b1e32b6f42f6307f31668f4d50e78d588d73de8ebc46120f737bce2b39
|
|
BLAKE2b-256 checksum How to use checksums |
c9d6793aa02bc2aa48dbacc1fb8034cb6df566b0e544dac3492d583e005fd04d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp312-cp312-macosx_10_15_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp312-cp312-macosx_10_15_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.12 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
64ea0ad54dcfea10f396710213eb35534a54c1c074114aea15beac8a9f1ebaf5
|
|
BLAKE2b-256 checksum How to use checksums |
b10ef19105d33ddc4facddb085c986792367d195d3792a74d7832683916b4b29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp311-cp311-win_amd64.whl
| Download URL | p4python-2026.1.2974490-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d01672aac98245dc010f6526fd21f07b879023b09c5ef73487235448c7e7b446
|
|
BLAKE2b-256 checksum How to use checksums |
43ab4af385e2d446e63e11f53d17383fed6cd13fc035e56855cf226808538e06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp311-cp311-win32.whl
| Download URL | p4python-2026.1.2974490-cp311-cp311-win32.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
dd511f5372fe8f15382a35ae8783de6e53c2d142f8a03cf10a4aa0f6fb3e9459
|
|
BLAKE2b-256 checksum How to use checksums |
92034defbb08d59b680db08d82a975a4406fd8d7c8da06745d0be5762f459a62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 29.0 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
456c082b6054a40caa5d7c880f9854f431a51c3b411386acbfa230490c80e366
|
|
BLAKE2b-256 checksum How to use checksums |
854d0c2cb1250374dbae36529fa17f83137837b14da65ecbf2437e1c3496d245
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | p4python-2026.1.2974490-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 28.4 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7e791f6efbc5438d0ab4ffa8615bcdb406936b62819794128f68df96295e369
|
|
BLAKE2b-256 checksum How to use checksums |
d9c187b2ebcb6c2fad3dd99f9f67ac72680fb09b98fc643da383ff0472a41f26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | p4python-2026.1.2974490-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
65bbef85b2fd3983b64858578bb497ef0f25a6e1119bd47ae19278f46800c44d
|
|
BLAKE2b-256 checksum How to use checksums |
d7e46463d9735a76287e006150b97190c6d7591609141c1f06d15713c4dccb04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp311-cp311-macosx_10_15_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp311-cp311-macosx_10_15_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.11 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
799ef29ba34adf7b31d7359a6d7f2a91e784b899bb37fa652b1a0c7435b4b0f7
|
|
BLAKE2b-256 checksum How to use checksums |
6d16be849f0664e18e23b724ff72a67ab9bdae160536885506b143a534cf73a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp310-cp310-win_amd64.whl
| Download URL | p4python-2026.1.2974490-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
de5152dadb001d212a8932a952ddcde59d3748f764da47bf4a26c79d249fbe9d
|
|
BLAKE2b-256 checksum How to use checksums |
3b6d37b81a850749c1dabe6a307a6dea43668904ba7570e8e6340c2376b23558
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp310-cp310-win32.whl
| Download URL | p4python-2026.1.2974490-cp310-cp310-win32.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
51b84a6ecfd9b57a6241ff00d597f58f2a973d6aa2380b0bd6a0f308a90c29d3
|
|
BLAKE2b-256 checksum How to use checksums |
edf042204c3045105455b4f46005032d05c8dee9edd5524753f36dbe8c7e3bd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 29.0 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
386d721a8f018fd027d80b927ee0b66cf2b218684c45c40ccdd59547084f6665
|
|
BLAKE2b-256 checksum How to use checksums |
4a9ba16d25464d4e9a69e6dcde58d364e6298dd292291e23e01a73e4afea97ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | p4python-2026.1.2974490-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 28.4 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
13bbb6ce1bf9c134aca7b441dcb3e880c480fee32162a0d10ad44381d161ba47
|
|
BLAKE2b-256 checksum How to use checksums |
6ad54ee5a62e8947a9abdb96e896bab33afb84630576807d5b6e5ce3377692db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | p4python-2026.1.2974490-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ab7200f98f7698964304f6987f1e83631d923ea9c7f20afb5352f6e75f3be9d5
|
|
BLAKE2b-256 checksum How to use checksums |
98720a5d018d7c4094b9c643915cafa06667329c3a7f4870ad74012da29b7df1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / p4python-2026.1.2974490-cp310-cp310-macosx_10_15_x86_64.whl
| Download URL | p4python-2026.1.2974490-cp310-cp310-macosx_10_15_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.10 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
e79bb741c661a1b651642713a690846741e2f007e26d992d2e1c41b94488358e
|
|
BLAKE2b-256 checksum How to use checksums |
5ca75ab09cb5fbf4dd5674f6f14ab90b15eaab9f2bfb5636a0e538bace0d4a79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|