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 and multi-volume archives remain unsupported. 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.

Metadata

Release files for uc2 3.0.0a7

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

Built distributions (wheels)

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

Total release size: 4.9 MB

Release files / uc2-3.0.0a7.tar.gz

Download URL uc2-3.0.0a7.tar.gz
Size 343.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cb6eff730770092199b28391bb7fe09882923f9724bc85e89cec53b1937c20e8
BLAKE2b-256 checksum
How to use checksums
3bcb733a82aebe2a98d1572d2e1e0d335d2226986780d5572e0364008f0fd3a1
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.0a7-cp314-cp314-win_amd64.whl

Download URL uc2-3.0.0a7-cp314-cp314-win_amd64.whl
Size 369.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
fdc4a26e5f91c2b1056ba1c4519905aeffffe3d545b49143b8d9b6ce20762990
BLAKE2b-256 checksum
How to use checksums
648bd532de70dedd08c62fe72ed37ca0332fd26b99862930a34e94dc1a673090
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.0a7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 186.6 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
79f31cab5e0f1aeec7a538239b8b03ed377f9a751ef03137956977fcd910b608
BLAKE2b-256 checksum
How to use checksums
0942d1761940bde858e91d41d2e08a217e0cde896893c4d8752b4399ffc6c89b
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.0a7-cp314-cp314-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a7-cp314-cp314-macosx_11_0_arm64.whl
Size 179.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c7738f1e05fdf27a01aaf4be9e3c225cee568ffc673481eb0109882c2f12be1a
BLAKE2b-256 checksum
How to use checksums
e605464aa74a94cdbff791fc0aa7a0e805019c14db5166d61cd68f552b99263b
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.0a7-cp314-cp314-macosx_10_15_x86_64.whl

Download URL uc2-3.0.0a7-cp314-cp314-macosx_10_15_x86_64.whl
Size 183.6 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1852f058a464c6a28e7ceb10a2229ee2c06dc35776db378dcc4785c472b1002c
BLAKE2b-256 checksum
How to use checksums
08c8fbea8ae20648f0c10ae88c0111b9dc9fd45101a4657f5de45637e4223ee1
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.0a7-cp313-cp313-win_amd64.whl

Download URL uc2-3.0.0a7-cp313-cp313-win_amd64.whl
Size 360.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d24d0370e4088b71c3a88bc092679306028fd7f7c46dc37a923e67914d5b609f
BLAKE2b-256 checksum
How to use checksums
3301b7a9596fe0d73b3acaa4f74e3aaae7a8759611cbcb14b7fcd26b4ccacd06
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.0a7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 186.6 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e119399072a0deba0818bc44c254931bad6f2f80eaf3d02b68037152eb1d1e2c
BLAKE2b-256 checksum
How to use checksums
6c4523d99f7e7b9d79c21ad5d76a1d9fe954efb4b461af39a91c98f353452eae
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.0a7-cp313-cp313-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a7-cp313-cp313-macosx_11_0_arm64.whl
Size 179.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
11887dda6cf7460a3027705a4e444ae1d602e8c4bd95fc0cf0115ff412690ea9
BLAKE2b-256 checksum
How to use checksums
4c146a4ccbe29496e54986ac0f1ada43b9832acc7ec600cfdd8c3dc615756244
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.0a7-cp313-cp313-macosx_10_13_x86_64.whl

Download URL uc2-3.0.0a7-cp313-cp313-macosx_10_13_x86_64.whl
Size 183.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
7089ee3b94aeeebbb3b688ee1106c1b64c1c0bd1dbcaf6b5efd4df47af6ba116
BLAKE2b-256 checksum
How to use checksums
15e2629db55248683ea5a927197c1c9d46782fa1f06e30f6c20f9f1742494b69
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.0a7-cp312-cp312-win_amd64.whl

Download URL uc2-3.0.0a7-cp312-cp312-win_amd64.whl
Size 360.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c780e9377c27f604ae629d2b29c0e28a13d38cafacd203528ff8a62b1bfcaac2
BLAKE2b-256 checksum
How to use checksums
cd0513731bf750de992a6f1998f4381b2bf0d0d1406f48bded3408897a487d76
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.0a7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 186.6 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
638830389a81822633a4263d90f3b294e6903624084cc4a66195b8169893797d
BLAKE2b-256 checksum
How to use checksums
ca7feb0ea56a8dff09939e9738add22e153ee10a321b6fc1c977096c89714137
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.0a7-cp312-cp312-macosx_11_0_arm64.whl

Download URL uc2-3.0.0a7-cp312-cp312-macosx_11_0_arm64.whl
Size 179.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
df8c5b9f70df9af5d56bc1b270da6ee10d4ff0a827ce39d1949d691f7a95a658
BLAKE2b-256 checksum
How to use checksums
f0d725a5c1010b7fd793d72bb8b1eaf5391fd2cbc3a002402df7b728c1267b17
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.0a7-cp312-cp312-macosx_10_13_x86_64.whl

Download URL uc2-3.0.0a7-cp312-cp312-macosx_10_13_x86_64.whl
Size 183.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5e823fe717ff642d570e361bc9bf23b35229154064663062e98e468b2cccdae0
BLAKE2b-256 checksum
How to use checksums
529cbb5891f202f58fcd9478f04a8e466820e86548364669483afa18459ab284
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.0a7-cp311-cp311-win_amd64.whl

Download URL uc2-3.0.0a7-cp311-cp311-win_amd64.whl
Size 360.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0c3c93a1a9344ef7a58ad89aaf589c04c3ed9649db19d9c1bfda8e8ca96c7e2e
BLAKE2b-256 checksum
How to use checksums
114ac567eec167e228ad4cb199215ca0247c833181252d21f8bfcded8e879316
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.0a7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

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

Download URL uc2-3.0.0a7-cp311-cp311-macosx_11_0_arm64.whl
Size 179.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3a9cc699fd66f25b589c7859bdeb295af12980de5c52084c89028d8b602ee702
BLAKE2b-256 checksum
How to use checksums
6d4d00ad87d7e7fe21a7f2ef78c8934d505af6c1d4ae63a517bc7ae55af5726a
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.0a7-cp311-cp311-macosx_10_9_x86_64.whl

Download URL uc2-3.0.0a7-cp311-cp311-macosx_10_9_x86_64.whl
Size 182.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
983d14fdf57d684f7efc998c556c886c12a3eebc0df184983c1aba32e372aeb7
BLAKE2b-256 checksum
How to use checksums
35b65e60cea927fac54bf326d518c8312353b75a045e535b401900c4bf1c5bb6
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.0a7-cp310-cp310-win_amd64.whl

Download URL uc2-3.0.0a7-cp310-cp310-win_amd64.whl
Size 360.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
44187f1374e0c3d1348a2a419895b5cb784372dfc0bd0291847193565ddc5f4a
BLAKE2b-256 checksum
How to use checksums
623fd61bf7cb9c9a94dcee2c54d113997c6ef022a95c4f441c296d487c34b332
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.0a7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL uc2-3.0.0a7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 186.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d2d756dbf067ace53ef37e632c41ca4e03b55521f1b69aa3a99cc4f2300160ee
BLAKE2b-256 checksum
How to use checksums
05af7b3ed2b09370ea399462074413235e6b6844c9a9d59be9cb615f340e2195
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.0a7-cp310-cp310-macosx_11_0_arm64.whl

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

Download URL uc2-3.0.0a7-cp310-cp310-macosx_10_9_x86_64.whl
Size 182.8 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
37fe78afdd09d6cb1711a9b6bd6fb7c05c43b0d7753fd10be49cff67bde6d0a9
BLAKE2b-256 checksum
How to use checksums
9657ebc6bfdf173dd2926d58462e73908295a0afdddab44c2e22ecdaf3100dd2
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.0a7

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