Skip to main content

python bindings for rman

Project description

rman_py

Python bindings for the Riot Manifest and Bundle toolkit.

Installation

pip install .

Usage Examples

Below are examples of basic usage for all available functions.

import time
import os
if os.name == 'nt':
    os.add_dll_directory(r"C:\Program Files (x86)\WinFsp\bin")
import rman_py


rman_py.bundle.check(inputs=["path/to/bundles"])
rman_py.bundle.extract(output="./out", inputs=["file.bundle"])
rman_py.bundle.list(inputs=["file.bundle"])
rman_py.bundle.merge(output="out.bundle", inputs=["in1.bundle", "in2.bundle"])
rman_py.bundle.usage(inputs=["./bundles"])


rman_py.manifest.list_bundles(inputs=["game.manifest"])
rman_py.manifest.check(manifest="game.manifest", bundle="global.bundle")
rman_py.manifest.diff(output="patch.manifest", from_manifest="v1.manifest", into_manifest="v2.manifest")
rman_py.manifest.download(manifest="game.manifest")
rman_py.manifest.list(manifest="game.manifest")
rman_py.manifest.make(output_manifest="new.manifest", output_bundle="data.bundle", root_folder="./src")
rman_py.manifest.merge(output="merged.manifest", manifests=["1.manifest", "2.manifest"])
rman_py.manifest.rads(output="out.manifest", input_manifest="in.manifest")
rman_py.manifest.remake(out_bundle="new.bundle", out_manifest="new.manifest", in_bundle="old.bundle", in_manifests=["old.manifest"])

handle = None
try:
    handle = rman_py.manifest.mount(
        output=os.path.abspath("./rman-mounted"),
        manifests=[os.path.abspath("./Manifests/RADS.json.zstd")],
        cache_path=os.path.abspath("./Bundles/RADS.bundle"),
        cache_readonly=True
    )
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    print("\n[Ctrl+C] Detected. Unmounting...")
except Exception as e:
    print(f"\nCRITICAL ERROR: {e}")
finally:
    if handle:
        handle.unmount()
        print("Cleanup complete.")

API Reference

Detailed parameter list for each function. Python argument names match original CLI flags using snake_case.

Module: rman_py.bundle

bundle.check

Python Usage:

rman_py.bundle.check(inputs: collections.abc.Sequence[str], no_hash: bool = False, no_extract: bool = False, no_progress: bool = False, parallel: typing.SupportsInt | typing.SupportsIndex = 0) -> None

Description & CLI Arguments:

Usage: rbun-chk.exe [-h] [--no-extract] [--no-hash] [--no-progress] [--parallel VAR] input

Checks one or more bundles for errors.

Positional arguments:
  input        	Bundle file(s) or folder(s) to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits 
  --no-extract 	Do not even attempt to extract chunk. 
  --no-hash    	Do not verify hash. 
  --no-progress	Do not print progress to cerr. 
  --parallel   	Number of threads to use. [default: 0]

bundle.extract

Python Usage:

rman_py.bundle.extract(output: str, inputs: collections.abc.Sequence[str], with_offset: bool = False, force: bool = False, no_hash: bool = False, no_progress: bool = False) -> None

Description & CLI Arguments:

Usage: rbun-ex.exe [-h] [--with-offset] [--force] [--no-hash] [--no-progress] output input

Extracts one or more bundles.

Positional arguments:
  output       	Directory to write chunks into. [required]
  input        	Bundle file(s) or folder(s) to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits 
  --with-offset	Put hex offset in name. 
  -f, --force  	Force overwrite existing files. 
  --no-hash    	Do not verify hash. 
  --no-progress	Do not print progress to cerr.

bundle.list

Python Usage:

rman_py.bundle.list(inputs: collections.abc.Sequence[str], format: str = '{bundleId},{chunkId},{compressedSize},{uncompressedSize}') -> None

Description & CLI Arguments:

Usage: rbun-ls.exe [-h] [--format VAR] input

Lists contents of one or more bundles.

Positional arguments:
  input        	Bundle file(s) or folder(s) to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits 
  --format     	Format output. [default: "{bundleId},{chunkId},{compressedSize},{uncompressedSize}"]

bundle.merge

Python Usage:

rman_py.bundle.merge(output: str, inputs: collections.abc.Sequence[str], level_recompress: typing.SupportsInt | typing.SupportsIndex = 0, no_extract: bool = False, no_progress: bool = False, newonly: bool = False, buffer_mib: typing.SupportsInt | typing.SupportsIndex = 32, limit_gib: typing.SupportsInt | typing.SupportsIndex = 4096) -> None

Description & CLI Arguments:

Usage: rbun-merge.exe [-h] [--level-recompress VAR] [--no-extract] [--no-progress] [--newonly] [--buffer VAR] [--limit VAR] output input

Adds one or more bundles into first first bundle.

Positional arguments:
  output            	Bundle file to write into. [required]
  input             	Bundle file(s) or folder to write from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help        	shows help message and exits 
  -v, --version     	prints version information and exits 
  --level-recompress	Re-compression level for zstd(0 to disable recompression). [default: 0]
  --no-extract      	Do not extract and verify chunk hash. 
  --no-progress     	Do not print progress to cerr. 
  --newonly         	Force create new part regardless of size. 
  --buffer          	Size for buffer before flush to disk in megabytes [1, 4096] [default: 32]
  --limit           	Size for bundle limit in gigabytes [0, 4096] [default: 4096]

bundle.usage

Python Usage:

rman_py.bundle.usage(inputs: collections.abc.Sequence[str]) -> None

Description & CLI Arguments:

Usage: rbun-usage.exe [-h] input

Collects size usage statistics on one or more bundle.

Positional arguments:
  input        	Bundle file(s) or folder(s) to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits

Module: rman_py.manifest

manifest.list_bundles

Python Usage:

rman_py.manifest.list_bundles(inputs: collections.abc.Sequence[str], format: str = '/{bundleId}.bundle') -> None

Description & CLI Arguments:

Usage: rman-bl.exe [-h] [--format VAR] input

Lists bundle names used in manifest.

Positional arguments:
  input        	Manifest file(s) or folder(s) to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits 
  --format     	Format output. [default: "/{bundleId}.bundle"]

manifest.check

Python Usage:

rman_py.manifest.check(manifest: str, bundle: str) -> None

Description & CLI Arguments:

Usage: rman-chk.exe [-h] inmanifest inbundle

Splits JRMAN .

Positional arguments:
  inmanifest   	Manifest to read from. [required]
  inbundle     	Source bundle to read from. [required]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits

manifest.diff

Python Usage:

rman_py.manifest.diff(output: str, from_manifest: str, into_manifest: str, filter_lang: str | None = None, filter_path: str | None = None) -> None

Description & CLI Arguments:

Usage: rman-diff.exe [-h] [--filter-lang VAR] [--filter-path VAR] outmanifset frommanifest intomanifest

Diff files in manifest.

Positional arguments:
  outmanifset      	Manifest file to write into. [required]
  frommanifest     	Manifest file to patch from. [required]
  intomanifest     	Manifest file to patch into. [required]

Optional arguments:
  -h, --help       	shows help message and exits 
  -v, --version    	prints version information and exits 
  -l, --filter-lang	Filter: language(none for international files). [default: <not representable>]
  -p, --filter-path	Filter: path with regex match. [default: <not representable>]

manifest.download

Python Usage:

rman_py.manifest.download(manifest: str, output: str = '.', update: str = '', filter_lang: str | None = None, filter_path: str | None = None, no_verify: bool = False, no_write: bool = False, no_progress: bool = False, cache_path: str = '', cache_readonly: bool = False, cache_newonly: bool = False, cache_buffer_mib: typing.SupportsInt | typing.SupportsIndex = 32, cache_limit_gib: typing.SupportsInt | typing.SupportsIndex = 4, cdn_url: str = 'http://lol.secure.dyn.riotcdn.net/channels/public', cdn_lowspeed_time: typing.SupportsInt | typing.SupportsIndex = 0, cdn_lowspeed_kbps: typing.SupportsInt | typing.SupportsIndex = 64, cdn_retry: typing.SupportsInt | typing.SupportsIndex = 3, cdn_workers: typing.SupportsInt | typing.SupportsIndex = 32, cdn_interval_ms: typing.SupportsInt | typing.SupportsIndex = 100, cdn_verbose: bool = False, cdn_buffer_kb: typing.SupportsInt | typing.SupportsIndex = 512, cdn_proxy: str = '', cdn_useragent: str = '', cdn_cookiefile: str = '', cdn_cookielist: str = '') -> None

Description & CLI Arguments:

Usage: rman-dl.exe [-h] [--filter-lang VAR] [--filter-path VAR] [--update VAR] [--no-verify] [--no-write] [--no-progress] [--cache VAR] [--cache-readonly] [--cache-newonly] [--cache-buffer VAR] [--cache-limit VAR] [--cdn VAR] [--cdn-lowspeed-time VAR] [--cdn-lowspeed-limit VAR] [--cdn-retry VAR] [--cdn-workers VAR] [--cdn-interval VAR] [--cdn-verbose] [--cdn-buffer VAR] [--cdn-proxy VAR] [--cdn-useragent VAR] [--cdn-cookiefile VAR] [--cdn-cookielist VAR] manifest output

Downloads or repairs files in manifest.

Positional arguments:
  manifest            	Manifest file to read from. [required]
  output              	Output directory to store and verify files from. [default: "."]

Optional arguments:
  -h, --help          	shows help message and exits 
  -v, --version       	prints version information and exits 
  -l, --filter-lang   	Filter by language(none for international files) with regex match. [default: <not representable>]
  -p, --filter-path   	Filter by path with regex match. [default: <not representable>]
  -u, --update        	Filter: update from old manifest. [default: ""]
  --no-verify         	Force force full without verify. 
  --no-write          	Do not write to file. 
  --no-progress       	Do not print progress. 
  --cache             	Cache file path. [default: ""]
  --cache-readonly    	Do not write to cache. 
  --cache-newonly     	Force create new part regardless of size. 
  --cache-buffer      	Size for cache buffer in megabytes [1, 4096] [default: 32]
  --cache-limit       	Size for cache bundle limit in gigabytes [0, 4096] [default: 4]
  --cdn               	Source url to download files from. [default: "http://lol.secure.dyn.riotcdn.net/channels/public"]
  --cdn-lowspeed-time 	Curl seconds that the transfer speed should be below. [default: 0]
  --cdn-lowspeed-limit	Curl average transfer speed in killobytes per second that the transfer should be above. [default: 64]
  --cdn-retry         	Number of retries to download from url. [default: 3]
  --cdn-workers       	Number of connections per downloaded file. [default: 32]
  --cdn-interval      	Curl poll interval in miliseconds. [default: 100]
  --cdn-verbose       	Curl: verbose logging. 
  --cdn-buffer        	Curl buffer size in killobytes [1, 512]. [default: 512]
  --cdn-proxy         	Curl: proxy. [default: ""]
  --cdn-useragent     	Curl: user agent string. [default: ""]
  --cdn-cookiefile    	Curl cookie file or '-' to disable cookie engine. [default: ""]
  --cdn-cookielist    	Curl: cookie list string. [default: ""]

manifest.list

Python Usage:

rman_py.manifest.list(manifest: str, format: str = '{path},{size},{fileId},{langs}', filter_lang: str | None = None, filter_path: str | None = None) -> None

Description & CLI Arguments:

Usage: rman-ls.exe [-h] [--format VAR] [--filter-lang VAR] [--filter-path VAR] manifest

Lists files in manifest.

Positional arguments:
  manifest         	Manifest file to read from. [required]

Optional arguments:
  -h, --help       	shows help message and exits 
  -v, --version    	prints version information and exits 
  --format         	Format output. [default: "{path},{size},{fileId},{langs}"]
  -l, --filter-lang	Filter: language(none for international files). [default: <not representable>]
  -p, --filter-path	Filter: path with regex match. [default: <not representable>]

manifest.make

Python Usage:

rman_py.manifest.make(output_manifest: str, output_bundle: str, root_folder: str, inputs: collections.abc.Sequence[str] = [], append: bool = False, no_progress: bool = False, strip_chunks: bool = False, cdc_algo: str = 'fixed', no_ar: str = '', ar_strict: bool = False, ar_min_kb: typing.SupportsInt | typing.SupportsIndex = 4, chunk_size_kb: typing.SupportsInt | typing.SupportsIndex = 1024, level: typing.SupportsInt | typing.SupportsIndex = 6, level_high_entropy: typing.SupportsInt | typing.SupportsIndex = 0, newonly: bool = False, buffer_mib: typing.SupportsInt | typing.SupportsIndex = 32, limit_gib: typing.SupportsInt | typing.SupportsIndex = 4096) -> None

Description & CLI Arguments:

Usage: rman-make.exe [-h] [--append] [--no-progress] [--strip-chunks] [--cdc VAR] [--no-ar VAR] [--ar-strict] [--ar-min VAR] [--chunk-size VAR] [--level VAR] [--level-high-entropy VAR] [--newonly] [--buffer VAR] [--limit VAR] outmanifest outbundle rootfolder input

Lists bundle names used in manifest.

Positional arguments:
  outmanifest         	Manifest to write into. [required]
  outbundle           	Bundle file to write into. [required]
  rootfolder          	Root folder to rebase from. [required]
  input               	Files or folders for manifest. [nargs: 0 or more] [default: {}]

Optional arguments:
  -h, --help          	shows help message and exits 
  -v, --version       	prints version information and exits 
  --append            	Append manifest instead of overwriting. 
  --no-progress       	Do not print progress. 
  --strip-chunks      	
  --cdc               	Dumb chunking fallback algorithm fixed, bup [default: "fixed"]
  --no-ar             	Regex of disable smart chunkers, can be any of: fsb, fsb5, load, mac_exe, mac_fat, pe, wad, wpk, zip [default: ""]
  --ar-strict         	Do not fallback to dumb chunking on ar errors. 
  --ar-min            	Smart chunking minimum size in killobytes [1, 4096]. [default: 4]
  --chunk-size        	Chunk max size in killobytes [1, 8096]. [default: 1024]
  --level             	Compression level for zstd. [default: 6]
  --level-high-entropy	Set compression level for high entropy chunks(0 for no special handling). [default: 0]
  --newonly           	Force create new part regardless of size. 
  --buffer            	Size for buffer before flush to disk in megabytes [1, 4096] [default: 32]
  --limit             	Size for bundle limit in gigabytes [0, 4096] [default: 4096]

manifest.merge

Python Usage:

rman_py.manifest.merge(output: str, manifests: collections.abc.Sequence[str], cache_path: str = '', cache_newonly: bool = False, cache_buffer_mib: typing.SupportsInt | typing.SupportsIndex = 32, cache_limit_gib: typing.SupportsInt | typing.SupportsIndex = 4096, filter_lang: str | None = None, filter_path: str | None = None, strip_chunks: bool = False, with_prefix: bool = False) -> None

Description & CLI Arguments:

Usage: rman-merge.exe [-h] [--no-progress] [--strip-chunks] [--with-prefix] [--cache VAR] [--cache-newonly] [--cache-buffer VAR] [--cache-limit VAR] [--filter-lang VAR] [--filter-path VAR] outmanifest manifests

Merges multiple manifests into one

Positional arguments:
  outmanifest      	Manifest to write into. [required]
  manifests        	Manifest files to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help       	shows help message and exits 
  -v, --version    	prints version information and exits 
  --no-progress    	Do not print progress. 
  --strip-chunks   	
  --with-prefix    	Prefix file paths with manifest name 
  --cache          	Cache file path. [default: ""]
  --cache-newonly  	Force create new part regardless of size. 
  --cache-buffer   	Size for cache buffer in megabytes [1, 4096] [default: 32]
  --cache-limit    	Size for cache bundle limit in gigabytes [0, 4096] [default: 4096]
  -l, --filter-lang	Filter: language(none for international files). [default: <not representable>]
  -p, --filter-path	Filter: path with regex match. [default: <not representable>]

manifest.mount

Python Usage:

rman_py.manifest.mount(output: str, manifests: collections.abc.Sequence[str], fuse_debug: bool = False, with_prefix: bool = False, filter_lang: str | None = None, filter_path: str | None = None, cache_path: str = '', cache_readonly: bool = False, cache_newonly: bool = False, cache_buffer_mib: typing.SupportsInt | typing.SupportsIndex = 32, cache_limit_gib: typing.SupportsInt | typing.SupportsIndex = 4, cdn_url: str = 'http://lol.secure.dyn.riotcdn.net/channels/public', cdn_lowspeed_time: typing.SupportsInt | typing.SupportsIndex = 0, cdn_lowspeed_kbps: typing.SupportsInt | typing.SupportsIndex = 64, cdn_verbose: bool = False, cdn_buffer_kb: typing.SupportsInt | typing.SupportsIndex = 512, cdn_proxy: str = '', cdn_useragent: str = '', cdn_cookiefile: str = '', cdn_cookielist: str = '') -> rman_py.manifest.MountHandle

Description & CLI Arguments:

Usage: rman-mount.exe [-h] [--fuse-debug] [--with-prefix] [--filter-lang VAR] [--filter-path VAR] [--cache VAR] [--cache-readonly] [--cache-newonly] [--cache-buffer VAR] [--cache-limit VAR] [--cdn VAR] [--cdn-lowspeed-time VAR] [--cdn-lowspeed-limit VAR] [--cdn-verbose] [--cdn-buffer VAR] [--cdn-proxy VAR] [--cdn-useragent VAR] [--cdn-cookiefile VAR] [--cdn-cookielist VAR] output manifests

Mounts manifests.

Positional arguments:
  output              	output directory to mount in. [required]
  manifests           	Manifest files to read from. [nargs: 0 or more] [required]

Optional arguments:
  -h, --help          	shows help message and exits 
  -v, --version       	prints version information and exits 
  --fuse-debug        	FUSE debug 
  --with-prefix       	Prefix file paths with manifest name 
  -l, --filter-lang   	Filter by language(none for international files) with regex match. [default: <not representable>]
  -p, --filter-path   	Filter by path with regex match. [default: <not representable>]
  --cache             	Cache file path. [default: ""]
  --cache-readonly    	Do not write to cache. 
  --cache-newonly     	Force create new part regardless of size. 
  --cache-buffer      	Size for cache buffer in megabytes [1, 4096] [default: 32]
  --cache-limit       	Size for cache bundle limit in gigabytes [0, 4096] [default: 4]
  --cdn               	Source url to download files from. [default: "http://lol.secure.dyn.riotcdn.net/channels/public"]
  --cdn-lowspeed-time 	Curl seconds that the transfer speed should be below. [default: 0]
  --cdn-lowspeed-limit	Curl average transfer speed in killobytes per second that the transfer should be above. [default: 64]
  --cdn-verbose       	Curl: verbose logging. 
  --cdn-buffer        	Curl buffer size in killobytes [1, 512]. [default: 512]
  --cdn-proxy         	Curl: proxy. [default: ""]
  --cdn-useragent     	Curl: user agent string. [default: ""]
  --cdn-cookiefile    	Curl cookie file or '-' to disable cookie engine. [default: ""]
  --cdn-cookielist    	Curl: cookie list string. [default: ""]

manifest.rads

Python Usage:

rman_py.manifest.rads(output: str, input_manifest: str, input_bundle: str = '', input_release: str = '', append: bool = False) -> None

Description & CLI Arguments:

Usage: rman-rads.exe [-h] [--append] outmanifest inmanifest inbundle inrelease

Splits JRMAN .

Positional arguments:
  outmanifest  	Manifest to write into. [required]
  inmanifest   	Manifest to read from. [required]
  inbundle     	Source bundle to read from. [required]
  inrelease    	Project or solution path inside bundle. If bundle is empty treat it as regex instead. [default: ""]

Optional arguments:
  -h, --help   	shows help message and exits 
  -v, --version	prints version information and exits 
  --append     	Append manifest instead of overwriting.

manifest.remake

Python Usage:

rman_py.manifest.remake(out_bundle: str, out_manifest: str, in_bundle: str, in_manifests: collections.abc.Sequence[str], resume_file: str = '', resume_buffer_kb: typing.SupportsInt | typing.SupportsIndex = 64, filter_lang: str | None = None, filter_path: str | None = None, append: bool = False, no_progress: bool = False, strip_chunks: bool = False, with_prefix: bool = False, cdc_algo: str = 'fixed', no_ar: str = '', ar_strict: bool = False, ar_min_kb: typing.SupportsInt | typing.SupportsIndex = 4, chunk_size_kb: typing.SupportsInt | typing.SupportsIndex = 1024, level: typing.SupportsInt | typing.SupportsIndex = 6, level_high_entropy: typing.SupportsInt | typing.SupportsIndex = 0, newonly: bool = False, buffer_mib: typing.SupportsInt | typing.SupportsIndex = 32, limit_gib: typing.SupportsInt | typing.SupportsIndex = 4096) -> None

Description & CLI Arguments:

Usage: rman-remake.exe [-h] [--filter-lang VAR] [--filter-path VAR] [--resume VAR] [--resume-buffer VAR] [--append] [--no-progress] [--strip-chunks] [--with-prefix] [--no-ar VAR] [--ar-strict] [--cdc VAR] [--ar-min VAR] [--chunk-size VAR] [--level VAR] [--level-high-entropy VAR] [--newonly] [--buffer VAR] [--limit VAR] outbundle outmanifest inbundle inmanifests

Remake manifests by rechunking all file data.

Positional arguments:
  outbundle           	Bundle file to write into. [required]
  outmanifest         	Manifest to write into. [required]
  inbundle            	Input bundle to read from [required]
  inmanifests         	Input manifests. [nargs: 0 or more] [default: {}]

Optional arguments:
  -h, --help          	shows help message and exits 
  -v, --version       	prints version information and exits 
  -l, --filter-lang   	Filter: language(none for international files). [default: <not representable>]
  -p, --filter-path   	Filter: path with regex match. [default: <not representable>]
  --resume            	Resume file path used to store processed fileIds. [default: ""]
  --resume-buffer     	Size for resume buffer before flush to disk in kilobytes [1, 16384] [default: 64]
  --append            	Append manifest instead of overwriting. 
  --no-progress       	Do not print progress. 
  --strip-chunks      	
  --with-prefix       	Prefix file paths with manifest name 
  --no-ar             	Regex of disable smart chunkers, can be any of: fsb, fsb5, load, mac_exe, mac_fat, pe, wad, wpk, zip [default: ""]
  --ar-strict         	Do not fallback to dumb chunking on ar errors. 
  --cdc               	Dumb chunking fallback algorithm fixed, bup [default: "fixed"]
  --ar-min            	Smart chunking minimum size in killobytes [1, 4096]. [default: 4]
  --chunk-size        	Chunk max size in killobytes [1, 8096]. [default: 1024]
  --level             	Compression level for zstd. [default: 6]
  --level-high-entropy	Set compression level for high entropy chunks(0 for no special handling). [default: 0]
  --newonly           	Force create new part regardless of size. 
  --buffer            	Size for buffer before flush to disk in megabytes [1, 4096] [default: 32]
  --limit             	Size for bundle limit in gigabytes [0, 4096] [default: 4096]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rman_py-0.1.0.tar.gz (64.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rman_py-0.1.0-cp314-cp314-win_amd64.whl (767.2 kB view details)

Uploaded CPython 3.14Windows x86-64

File details

Details for the file rman_py-0.1.0.tar.gz.

File metadata

  • Download URL: rman_py-0.1.0.tar.gz
  • Upload date:
  • Size: 64.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for rman_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a56c4d82fb241b135a6f566670a6835d39cd1a840f7b13f281caaa2e2fc649b3
MD5 45883dd975e4867563a6951af830680b
BLAKE2b-256 e79cce7f4a4a2ef897a85884d8f67ac1da2ca7423fc5f720e38aabb33f232dff

See more details on using hashes here.

File details

Details for the file rman_py-0.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rman_py-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 767.2 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for rman_py-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c8c6ecd9496a22f83a928aa694f1f721e5ce4f1b8e1e026506478ccab6f69f7f
MD5 e4568d2941c0a32bfbd6050a77d32ff2
BLAKE2b-256 db0d3a2403f9cd5bb2c77f493d6947a71343b1c7e698581af747889b404771a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page