Skip to main content
Pre-release

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

UC2 for Python

Read and create UltraCompressor II archives using the native UC2 library. 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 is supported for reading. Multi-volume sets require reassembly. Use UC2File for reading and UC2Writer for creation.

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(). The dos_time field retains the original 32-bit timestamp, including invalid date encodings. Metadata objects can be passed directly to read, extract, and copy_to. They belong to the archive that produced them.

Preserve a collection

uc2-preserve old-archives -o inventory
uc2-preserve old-archives -o migrated --format zip
uc2-preserve old-archives -o migrated-tar --format tar

Each command requires a new output directory. Inputs can be individual archives or directories. Every stored version is decoded and checked, and manifests record original paths, raw timestamps, attributes and SHA-256 hashes. Exports use separate numbered paths for each entry, so old versions and case variants cannot overwrite each other. Generated ZIP/tar files are reopened and their contents verified. Failed entries are recorded and omitted from exports; a partial batch returns exit status 1. Sources are read-only.

The Python API is uc2.preserve.preserve(inputs, output, format="zip"). See the preservation guide for limits, manifest fields and metadata conversion details. The browser reader handles individual archives without a Python installation.

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.

Create archives

from io import BytesIO
from uc2 import UC2Writer

with UC2Writer("backup.uc2", level=4) as archive:
    archive.write("project", arcname="source")  # recursive directory tree
    archive.mkdir("empty-directory")
    archive.writestr("notes.txt", "Saved from Python\n".encode("utf-8"))
    archive.write_stream("data.bin", BytesIO(b"streamed bytes"))

The destination is a filesystem path. A successful close() replaces it using an exclusively created sibling temporary file and os.replace. An exception, abort(), or a failed add/close leaves an existing destination intact. Any failed add aborts the writer; start a new one to retry. Destruction discards uncommitted work. The containing directory must exist and remain under the caller's control. Atomic replacement is not a guarantee of survival after a power failure. Replacement creates a new file with temporary-file permissions (normally 0600 on POSIX), without preserving destination permissions.

write(path, arcname=None) adds a regular file or recursively adds a directory. The default archive name is the input's basename. Symlinks, reparse points, and special files are rejected. Keep the source tree unchanged while reading. mkdir(name) creates missing parents; repeated directories retain their first metadata. writestr(name, data) accepts bytes, bytearray, or memoryview; encode text explicitly. write_stream(name, source, size=None) consumes read(n) through EOF without seeking and leaves the input open. A supplied size must match exactly; detecting excess input can consume one extra byte.

Inputs spool to anonymous temporary files as they are added. Compression runs at close, using CDC-selected custom master dictionaries. Payload buffers have fixed sizes; metadata grows with entries and chunks. Temporary disk space covers the uncompressed inputs and completed archive, plus the destination's sibling temporary file during the final copy. Duplicate file paths store versions: the last added version is newest. Directories cannot conflict with files. Independent writer objects may run separately; one object rejects concurrent or reentrant use.

Writer limits and metadata:

  • level=4 by default; 2-5 use legacy Huffman and 6-9 use v3 rANS.
  • max_entries=100_000, configurable from 1 through 1,000,000, includes automatic parent directories. max_total_size=0xFFFFFFFF bounds all input bytes combined and may be reduced. Each file and the completed archive also fit 32 bits.
  • The central directory is limited to 64 MiB and the CDC index to 1,048,576 chunks. Directories may nest 64 levels deep. These are format/API limits, not CPU limits.
  • Archive paths use /. Components must be representable in CP850, fit 255 CP850 bytes and 299 UTF-8 bytes, and contain no traversal, separators, colon, or control characters. Unsupported Unicode raises an error; names are never shortened. Some legal archive names still require renaming to extract on Windows; the reader's extraction checks apply unchanged.
  • mkdir, writestr, and write_stream accept date_time (a naive datetime in 1980-2107, or None) and DOS attributes (R/H/S/A bits). Timestamps have two-second resolution. write takes filesystem modification times; values outside that range become unspecified. It stores ordinary file/directory attributes, not Unix permissions.

After successful close, writer.stats reports file, directory and master counts and archive size. The C interface is documented in uc2_writer.h and the library guide.

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.

Incremental directory versions are available through uc2 snapshot in the Python package, with shared SHA-256-addressed UC2 chunks and verified restores. See the snapshot guide.

Filesystem paths now resolve SAS and DOS UC2SEA sets without executing input. Keep all volumes together. Snapshot maintenance adds explicit prune, repair and compact; packed repositories require alpha10 or later. See the repository guides.

Metadata

Release files for uc2 3.0.0a10

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.0a10
File Size Uploaded Provenance Actions
uc2-3.0.0a10.tar.gz 754.3 kB Without provenance Details for uc2-3.0.0a10.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for uc2 3.0.0a10
File Actions
uc2-3.0.0a10-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for uc2-3.0.0a10-cp314-cp314-win_amd64.whl
uc2-3.0.0a10-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.0a10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a10-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for uc2-3.0.0a10-cp314-cp314-macosx_11_0_arm64.whl
uc2-3.0.0a10-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for uc2-3.0.0a10-cp314-cp314-macosx_10_15_x86_64.whl
uc2-3.0.0a10-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for uc2-3.0.0a10-cp313-cp313-win_amd64.whl
uc2-3.0.0a10-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.0a10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a10-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for uc2-3.0.0a10-cp313-cp313-macosx_11_0_arm64.whl
uc2-3.0.0a10-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for uc2-3.0.0a10-cp313-cp313-macosx_10_13_x86_64.whl
uc2-3.0.0a10-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for uc2-3.0.0a10-cp312-cp312-win_amd64.whl
uc2-3.0.0a10-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.0a10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a10-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for uc2-3.0.0a10-cp312-cp312-macosx_11_0_arm64.whl
uc2-3.0.0a10-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for uc2-3.0.0a10-cp312-cp312-macosx_10_13_x86_64.whl
uc2-3.0.0a10-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for uc2-3.0.0a10-cp311-cp311-win_amd64.whl
uc2-3.0.0a10-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.0a10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a10-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for uc2-3.0.0a10-cp311-cp311-macosx_11_0_arm64.whl
uc2-3.0.0a10-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for uc2-3.0.0a10-cp311-cp311-macosx_10_9_x86_64.whl
uc2-3.0.0a10-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for uc2-3.0.0a10-cp310-cp310-win_amd64.whl
uc2-3.0.0a10-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.0a10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
uc2-3.0.0a10-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for uc2-3.0.0a10-cp310-cp310-macosx_11_0_arm64.whl
uc2-3.0.0a10-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for uc2-3.0.0a10-cp310-cp310-macosx_10_9_x86_64.whl

Total release size: 6.0 MB

Release files / uc2-3.0.0a10.tar.gz

Download URL uc2-3.0.0a10.tar.gz
Size 754.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9d9f2212ac4c7a79ec315c32b0831f2bc17699ed51b004cff4030351fea2aa4e
BLAKE2b-256 checksum
How to use checksums
d02a157c7d924028a675751025bfd990f57c32d709f70c3dccc4b4e5aeaf38d2
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.0a10-cp314-cp314-win_amd64.whl

Download URL uc2-3.0.0a10-cp314-cp314-win_amd64.whl
Size 404.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f695ecd777e6788d17e74e281f697d1927723e81ee5b0a873789f97601bb5579
BLAKE2b-256 checksum
How to use checksums
1f15daa3ef4c1ceda739ac6680656d82ab8cb8606bf47ca0df1962adf230b117
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.0a10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 219.7 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
03cafe17f7c7ef89d7672a79fb17c18f555755f1ededabb3c7786570c4dc44fa
BLAKE2b-256 checksum
How to use checksums
bd987fc2c660d80e6548205635ff4a981c25af1b20acc1a03bd89ebc63d4d5cc
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.0a10-cp314-cp314-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a10-cp314-cp314-macosx_11_0_arm64.whl
Size 211.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1e6afe20cc7678a5c6579843bc74ea91548e9112d642b5dccfe460896be35136
BLAKE2b-256 checksum
How to use checksums
2fad28db17f3438040467d7db28dedc7e31a8c3dfa5149bfb4a041c01a5b9694
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.0a10-cp314-cp314-macosx_10_15_x86_64.whl

Download URL uc2-3.0.0a10-cp314-cp314-macosx_10_15_x86_64.whl
Size 215.6 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
46f7a72e93dcfd79f84b0eb1e34466d799c8cc595079d8ea0bfea8ece5f724d1
BLAKE2b-256 checksum
How to use checksums
ed9647db8c4757d670236a75b0978db261acc410a87d45a5a24223baa26fd0e4
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.0a10-cp313-cp313-win_amd64.whl

Download URL uc2-3.0.0a10-cp313-cp313-win_amd64.whl
Size 395.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
480094221f0fa6fb24c43dd3d19677cad5da6699a6c79695a621378e33268faf
BLAKE2b-256 checksum
How to use checksums
4d1adf764c8d3b79cef35fab4389277e84eb6684875d274965c72ecabc3f0849
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.0a10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 219.7 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d5a668c78f36c6e089e3f785d7de31d1b47209505580b95f67f7b2853ba78fea
BLAKE2b-256 checksum
How to use checksums
88218ebdae390a86b8572bc40aa7ca2a6bccc06410f65a1f1058efee6f2a6a9d
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.0a10-cp313-cp313-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a10-cp313-cp313-macosx_11_0_arm64.whl
Size 211.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c60482a585e71c52d8b9bfa490d1f28c61fc5c9d774099bd23fba678ecd8f931
BLAKE2b-256 checksum
How to use checksums
f0bf7a3c122d2d94e6ae06867ad0aac9d804a21603f77fae8025e2ec3404173a
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.0a10-cp313-cp313-macosx_10_13_x86_64.whl

Download URL uc2-3.0.0a10-cp313-cp313-macosx_10_13_x86_64.whl
Size 215.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
4837bafdc17691faf77edb83a68a479cc60a72cb69650cddc01bacf519a3d7cc
BLAKE2b-256 checksum
How to use checksums
74fc2e074cfbe00d47fc9d5f1f2de75c6020ab1cd941e8e4a53eecb502213fee
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.0a10-cp312-cp312-win_amd64.whl

Download URL uc2-3.0.0a10-cp312-cp312-win_amd64.whl
Size 395.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2979ad535718a991e7826a3f788b135ba1335df62304c62eac5d2c33ef6009e5
BLAKE2b-256 checksum
How to use checksums
07ea2680d68c2cb52c65ff07ee1fe5354d0b8530653ab495a5be3edc0b1caa0b
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.0a10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 219.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
518b8054059c0040d93f074dfa5fc5a6d3c85455c2ef03b54911a2602067ff2c
BLAKE2b-256 checksum
How to use checksums
612fee3f14591f245c38e5340fc8e80d9c447b94b6847b6344fca8fc0e78daba
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.0a10-cp312-cp312-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a10-cp312-cp312-macosx_11_0_arm64.whl
Size 211.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
801cbd2af786dbdbc835a39f23f43003f000ab6d5bde83c233e5d79b6d20941b
BLAKE2b-256 checksum
How to use checksums
3464627ad08fcafddcf55d534f6726ebfe9ea8b16689e09636ab062eb27103ea
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.0a10-cp312-cp312-macosx_10_13_x86_64.whl

Download URL uc2-3.0.0a10-cp312-cp312-macosx_10_13_x86_64.whl
Size 215.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
9eacc54b10ca1df8da4ff583d15e64310e5b66a6536cfe651dbc1a8a782f32f3
BLAKE2b-256 checksum
How to use checksums
303cf1e4586dfd9aa1eee7c056eb6da38d459b288334393b9cd0386a7c1e815b
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.0a10-cp311-cp311-win_amd64.whl

Download URL uc2-3.0.0a10-cp311-cp311-win_amd64.whl
Size 395.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7e996dd9107c2e823a094fe1eab4c07afb94b4283ddcb32242970b613aea4a01
BLAKE2b-256 checksum
How to use checksums
f41ce1fb34a1fa2f2cce8ef3e7258071b0de1407f718ce973f6d91e6dc467ded
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.0a10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 219.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d6fefbe840f5743005417c6a8a86a3f35c9d212014e44fd2c55022d0c2163a47
BLAKE2b-256 checksum
How to use checksums
21f1166653102475e8790258f60cc597a91fdcfd2762d75352b1cc8382321d32
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.0a10-cp311-cp311-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a10-cp311-cp311-macosx_11_0_arm64.whl
Size 211.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
29625d7c619084d8fa392582d782e106b6b52dce71fcf101bc7e8a9247da9201
BLAKE2b-256 checksum
How to use checksums
cb4e6e95a8f6928f53586fcc02c42aab3fdcac39a4d00391355760744a16699a
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.0a10-cp311-cp311-macosx_10_9_x86_64.whl

Download URL uc2-3.0.0a10-cp311-cp311-macosx_10_9_x86_64.whl
Size 214.8 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
2a90fcd6350a5be6660d7a52e52a2d44f1d56de2ef12d468d162b2f65519dfba
BLAKE2b-256 checksum
How to use checksums
3d5fb48bf81624e75735f11e4266f1e310b56634a181b340b6c4af530cfcc2d9
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.0a10-cp310-cp310-win_amd64.whl

Download URL uc2-3.0.0a10-cp310-cp310-win_amd64.whl
Size 396.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
fb7a0d33264f659ed6c87f1648041c4a29807a1f09ae039bc2413c78b5cbea54
BLAKE2b-256 checksum
How to use checksums
f1514cebb41565608644f573fd23a053c8fc268d1041367f2027b814590033b7
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.0a10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 219.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1bdf4264c34f244480aa03bb18e85ff862d5a9548e2dfc00262359a333775fee
BLAKE2b-256 checksum
How to use checksums
f1445edebc6b5650f0a10b9782c11436720cd821f709105019942947047ae259
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.0a10-cp310-cp310-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a10-cp310-cp310-macosx_11_0_arm64.whl
Size 212.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3f721bca8929e0c8305af46c8457c2c9c381b0bc09ddbfde2e8b873487aee97d
BLAKE2b-256 checksum
How to use checksums
78ce0eab753cf053a5f4882abd71d3de52e99d70805ce8d019e5b56af1dce17a
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.0a10-cp310-cp310-macosx_10_9_x86_64.whl

Download URL uc2-3.0.0a10-cp310-cp310-macosx_10_9_x86_64.whl
Size 214.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
6374aef74a297c655e9ada9781efa790a187ba8370fe8b9b4976921d8875dbcb
BLAKE2b-256 checksum
How to use checksums
bc4ca778d184ec74e66ce908e986efdc4ac2620543fe277e5fe163c51de50215
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.0a10

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