Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

UC2 for Python

Read UltraCompressor II archives using the native UC2 decoder. The package also includes the UC2 command-line program for listing, extraction, archive creation, and stream ingestion. Wheels contain the native code; no separate UC2 install or compiler is needed when a wheel is available.

This is an alpha release. It supports the implemented legacy Huffman methods, master dictionaries, directories, stored versions, and UC2 v3 rANS entries. Turbo/method 80 and multi-volume archives remain unsupported. The Python API is read-only; use the bundled CLI to create archives.

Install and read

python -m pip install --pre uc2
uc2 -l archive.uc2
python -m uc2 -t archive.uc2

Wheels support CPython 3.10-3.14 on Linux x86-64 (glibc), Windows x86-64, and Intel/Apple Silicon macOS.

from uc2 import UC2File

with UC2File("archive.uc2") as archive:
    for info in archive.infolist():
        print(info.filename, info.file_size, info.version)
    contents = archive.read("notes.txt")
    archive.verify()
    archive.extractall("restored")

The constructor accepts a path or a seekable binary file, including BytesIO. Caller-owned files stay open; their seek position changes. Keep the source unchanged while the archive is open. Each thread should use its own UC2File.

infolist() and namelist() return the newest version of each path by default. Use infolist(all_versions=True) to include older entries. A literal semicolon in a filename remains part of the name:

with UC2File("archive.uc2") as archive:
    newest = archive.read("notes.txt")
    older = archive.read("notes.txt", version=1)
    literal_name = archive.read("notes.txt;1")

UC2Info records the name, uncompressed and compressed sizes, DOS timestamp (a naive datetime, or None if invalid), attributes, method, version, and is_dir(). Metadata objects can be passed directly to read, extract, and copy_to. They belong to the archive that produced them.

Limits and extraction

Defaults are 100,000 entries, 64 MiB of decoder allocations, 64 MiB per read, 1 GiB per streamed file, and 1 GiB total per extractall or verify call. Constructor keywords are max_entries, max_decoder_memory, max_read_size, max_extract_size, and max_total_size. They must be positive integers. The decoder limit excludes Python metadata and caller-owned buffers. Archive offsets and this reader are limited to 32 bits. These limits are not a CPU-time sandbox for hostile input.

copy_to(member, binary_file) decodes without collecting the file in memory. Its output may be partial if decoding or writing fails. extract and extractall instead stage each file and install it after its UC2 checksum passes. Existing files are preserved unless overwrite=True is supplied. Earlier successfully extracted files remain if a later member fails.

Extraction rejects absolute paths, traversal, reserved Windows names, control characters, ambiguous case-folded names, and links below the destination. It uses file-descriptor-relative operations without following links on POSIX. Windows checks links and reparse points; use a destination that other processes cannot modify during extraction. The explicitly chosen destination itself may be a symlink. POSIX files use mode 0600 and directories use 0755, both masked by the process umask. Archived permissions and timestamps are exposed as metadata but not applied.

Errors include BadArchiveError, ResourceLimitError, UnsafePathError, and ordinary Python I/O exceptions. Verification uses the archive's legacy checksums, which are not cryptographic authentication. A missing entry or version raises KeyError.

Read-only Linux mount

python -m pip install --pre 'uc2[mount]'
mkdir archived
uc2-mount archive.uc2 archived --cache-mib 512

The mount runs in the foreground. Use another terminal to browse archived/files and archived/versions/1, then unmount with fusermount -u archived. Linux libfuse2 and /dev/fuse are required. Files decode on first access into a checksum-verified disk cache; an entry larger than its budget fails with EFBIG. The default cache holds up to 512 MiB and 128 files. Decoder allocations are limited to 64 MiB and released after every decode. Python metadata is outside that budget and has separate entry and node limits. See the mount documentation for options, stored versions, and error behavior.

Build from source

Requires Python 3.10+, CMake, and a C99 compiler. The build backend obtains CMake when necessary.

python -m pip install .
python -m build

Source, releases, and the project roadmap are at github.com/evvaletov/uc2.

The distribution contains GPL-3.0-or-later and LGPL-3.0-only code. Independently written Python integration code also has a BSD-2-Clause option. This does not change the licenses of the bundled core or third-party code. License texts, credits, and the per-file audit are included in the distribution.

Metadata

Release files for uc2 3.0.0a5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uc2 3.0.0a5
File Size Uploaded Provenance Actions
uc2-3.0.0a5.tar.gz 288.7 kB Without provenance Details for uc2-3.0.0a5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for uc2 3.0.0a5
File Actions
uc2-3.0.0a5-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for uc2-3.0.0a5-cp314-cp314-win_amd64.whl
uc2-3.0.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details for uc2-3.0.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a5-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for uc2-3.0.0a5-cp314-cp314-macosx_11_0_arm64.whl
uc2-3.0.0a5-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for uc2-3.0.0a5-cp314-cp314-macosx_10_15_x86_64.whl
uc2-3.0.0a5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for uc2-3.0.0a5-cp313-cp313-win_amd64.whl
uc2-3.0.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for uc2-3.0.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for uc2-3.0.0a5-cp313-cp313-macosx_11_0_arm64.whl
uc2-3.0.0a5-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for uc2-3.0.0a5-cp313-cp313-macosx_10_13_x86_64.whl
uc2-3.0.0a5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for uc2-3.0.0a5-cp312-cp312-win_amd64.whl
uc2-3.0.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for uc2-3.0.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for uc2-3.0.0a5-cp312-cp312-macosx_11_0_arm64.whl
uc2-3.0.0a5-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for uc2-3.0.0a5-cp312-cp312-macosx_10_13_x86_64.whl
uc2-3.0.0a5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for uc2-3.0.0a5-cp311-cp311-win_amd64.whl
uc2-3.0.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for uc2-3.0.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for uc2-3.0.0a5-cp311-cp311-macosx_11_0_arm64.whl
uc2-3.0.0a5-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for uc2-3.0.0a5-cp311-cp311-macosx_10_9_x86_64.whl
uc2-3.0.0a5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for uc2-3.0.0a5-cp310-cp310-win_amd64.whl
uc2-3.0.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for uc2-3.0.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for uc2-3.0.0a5-cp310-cp310-macosx_11_0_arm64.whl
uc2-3.0.0a5-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for uc2-3.0.0a5-cp310-cp310-macosx_10_9_x86_64.whl

Total release size: 4.0 MB

Release files / uc2-3.0.0a5.tar.gz

Download URL uc2-3.0.0a5.tar.gz
Size 288.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a42cad4b30630d97ea569dafe88811b64ab719d3d83c2051e99c0bc23ed79cde
BLAKE2b-256 checksum
How to use checksums
96db40ad05557ee2606304b1e1fc78fa107aa871ad0280fa532c6a6f6d55adb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp314-cp314-win_amd64.whl

Download URL uc2-3.0.0a5-cp314-cp314-win_amd64.whl
Size 304.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3bc9488a453c6e58f2943494f64afef80f2ac190fb3127d5e1e4852b1067fd5a
BLAKE2b-256 checksum
How to use checksums
964a1cde8e472258b0f2a2d828395ff6490e8a0f5b13998df7f55749d9a2f9e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 152.7 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
53221c56237e3d0bfc6e1e43dfc68ba790efe275b3fd6d6a8922dacaa89116a7
BLAKE2b-256 checksum
How to use checksums
5621fcd2e9ead80b89d27f613532a7124f70f730a3578c368b3010dca762065d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp314-cp314-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a5-cp314-cp314-macosx_11_0_arm64.whl
Size 147.8 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f671ee703c076867834f5f0ba8c88285a7c078ad0186173b01303a60fb4ef056
BLAKE2b-256 checksum
How to use checksums
8052d5212068d3057ade3ac21e5f14edea756a1623251315d16019d6803a3569
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp314-cp314-macosx_10_15_x86_64.whl

Download URL uc2-3.0.0a5-cp314-cp314-macosx_10_15_x86_64.whl
Size 151.3 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
58f54a6efba817e6ff36cab8cf32d69d2804b2ac170f09ac5c4b9773e94412e2
BLAKE2b-256 checksum
How to use checksums
1c7bbd3d5a359cb7db5efb2af91cfd59290165bece352eae28c5bbf8558fd151
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp313-cp313-win_amd64.whl

Download URL uc2-3.0.0a5-cp313-cp313-win_amd64.whl
Size 298.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
38b5de5415d4ffe6199ae05036c809226f9c10b1ed7a7a0c984bc824f153f06e
BLAKE2b-256 checksum
How to use checksums
7000f10734e265c28e651baba9900035a82a04d2718b031b98acff321e2ced53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 152.7 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6bb03622b454552436f5477db767fbe6ec362995a43050212d195e869f210cf8
BLAKE2b-256 checksum
How to use checksums
7728ea68cb66338f80189890175b0b568606789fb312b57c0dfab950b88172c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp313-cp313-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a5-cp313-cp313-macosx_11_0_arm64.whl
Size 147.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5d1137bcd08b0810c62660822a19e445933e245111b87448753f8fbbef82cd97
BLAKE2b-256 checksum
How to use checksums
9efaa32eb5b4417ce40f025403df8b4eeec590890110726d7651ec43ce5c30d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp313-cp313-macosx_10_13_x86_64.whl

Download URL uc2-3.0.0a5-cp313-cp313-macosx_10_13_x86_64.whl
Size 150.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
f814ca8c514a0a11bc7a599103a511063859a9a6600934b4a0f2867da64539b7
BLAKE2b-256 checksum
How to use checksums
63ba39cbefa6750d8d74409f2bb699dddb4dda970f0e9ac467a704c9ddcddfa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp312-cp312-win_amd64.whl

Download URL uc2-3.0.0a5-cp312-cp312-win_amd64.whl
Size 298.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
053b96c66939d30747e6e2e5a63e1e381eaff5dcb77fbaaa5edbd49b5f08bd9e
BLAKE2b-256 checksum
How to use checksums
9a366fbda10807a05088cb760f87cc0e007266684057f20ba008f03cb6b00a08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 152.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
40bbf90f8356f646ba43b9ced6fd574d3a1becaed1198b0985c50c235b07fbe2
BLAKE2b-256 checksum
How to use checksums
07551146d18a4291b4c34a857bebb6eb91a60c86d42c8c91828e56e999be3c49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp312-cp312-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a5-cp312-cp312-macosx_11_0_arm64.whl
Size 147.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
958f7f0a5c2e7f2736062c7e208b4813df6f7d0aff1a6d948485ff98557d82d6
BLAKE2b-256 checksum
How to use checksums
d84c78fb15b31648f7374f28cfdd462d3e26ba5237526e0542ab095810d7c52c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp312-cp312-macosx_10_13_x86_64.whl

Download URL uc2-3.0.0a5-cp312-cp312-macosx_10_13_x86_64.whl
Size 150.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
ac3442f3104391ffe0a95b3bfab30ed7823657dfede3c6baafd5e0d662dd8e44
BLAKE2b-256 checksum
How to use checksums
0e0f8157ec88912694e4022476d29abd3ebb3e53fb7647b5836d3877982b4c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp311-cp311-win_amd64.whl

Download URL uc2-3.0.0a5-cp311-cp311-win_amd64.whl
Size 297.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
337766ae28dc5818891d4904a9ff592020704e13fb3adf719ecc1c6bba79739b
BLAKE2b-256 checksum
How to use checksums
551f88acb23508623fa22f56cabef3cd56f24696e809314ee80748eb8e312623
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 152.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
34f4b5dd3f36ed062637bc643d81a02f4775bcade84851ff829f060bd33ea14d
BLAKE2b-256 checksum
How to use checksums
26cd46458a592c64b1f6c5cea76778c06b51d484e3bd1c2d4923ba7bfccecd41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp311-cp311-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a5-cp311-cp311-macosx_11_0_arm64.whl
Size 147.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a78b046c6fcfaed85d49d46d3773a000e5c80aa4a0476ba74e60e9aa6a9d0222
BLAKE2b-256 checksum
How to use checksums
4f81ea4f5d09ce6620cbde961a47f13394f0af7194a840bf103829daa9f2a074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp311-cp311-macosx_10_9_x86_64.whl

Download URL uc2-3.0.0a5-cp311-cp311-macosx_10_9_x86_64.whl
Size 150.2 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
df1975ccda674bbe430315c9cf571de123141c83334c273fb68eff2b6907b3d0
BLAKE2b-256 checksum
How to use checksums
f8ff35dc3fad42ee819208a77321a21f8f1f2cd9a66eb79abe57a6497ff132a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp310-cp310-win_amd64.whl

Download URL uc2-3.0.0a5-cp310-cp310-win_amd64.whl
Size 298.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8f3679a97bfd1ed524ff06c418f3975573370bbb587dceed1e6684175ccc3a15
BLAKE2b-256 checksum
How to use checksums
013da8b3e8e601aa61942daa9c78f0cd6bedc86ff8da4f541b50951f37d26f2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 152.8 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9a33bd66f4b5609d1402e4b9e8374d7c7f74a47b7891ecd7fd0d370349253ace
BLAKE2b-256 checksum
How to use checksums
2095a4f5f2bf9646431136bbd23f6942470880d9f40027fc963c0a1d4ca2b220
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp310-cp310-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a5-cp310-cp310-macosx_11_0_arm64.whl
Size 148.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
32b5c87ea02eca14eb23a1dae32da7a42798a1c582a4ff0798bab04b79a2ab79
BLAKE2b-256 checksum
How to use checksums
3ddcbb8e9fa19be71e763062cac6c2e176084d6831b1faab6391584c5edc6834
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / uc2-3.0.0a5-cp310-cp310-macosx_10_9_x86_64.whl

Download URL uc2-3.0.0a5-cp310-cp310-macosx_10_9_x86_64.whl
Size 150.4 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f0ec625eadd95fb692eb518f981986386d5ab8948e0a4648ae77892a6c9c9799
BLAKE2b-256 checksum
How to use checksums
75b09c75f80a082b67931305fd62c69a15881b10fe0a3ff9828edcdb7ecf6f6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for uc2 3.0.0a5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page