iLibrary
iLibrary prepares downloaded music for a local Apple Music library. It converts lossless downloads to Apple Lossless, applies a JSON catalog without re-encoding, arranges filenames and dates, and adds albums in a controlled order.
Version 0.1.0 is experimental. Start with copies and a separate test library. iLibrary is not affiliated with, endorsed by, or sponsored by Apple.
Requirements
- macOS 14 or later on Apple silicon.
- npm or Python 3.9 or later for the corresponding installer. Neither is required by the installed native executable.
- Homebrew installations build from source and require Swift 6 from Xcode or the Command Line Tools.
- Music and Automation permission for library commands; no subscription is required for local processing.
The minimum OS is the deployment target; local qualification used macOS 27.0.1. Packaged binaries are ad hoc-signed, without Developer ID signing or notarization.
Installation
Choose one channel; all install the same command, ilibrary.
npm
npm install -g @x96_64/ilibrary@0.1.0
ilibrary --version
PyPI
Install in an isolated environment to avoid changing system Python:
python3 -m venv .venv-ilibrary
.venv-ilibrary/bin/python -m pip install x96_64-ilibrary==0.1.0
.venv-ilibrary/bin/ilibrary --version
source .venv-ilibrary/bin/activate
Homebrew
brew install x96x64/tap/ilibrary
ilibrary --version
Updating and Uninstalling
Read the changelog before updating. Use npm update -g @x96_64/ilibrary, python -m pip install --upgrade x96_64-ilibrary in the chosen environment, or brew upgrade ilibrary, respectively. Packages on npm and PyPI have different names because PyPI does not support npm scopes; neither package is named simply ilibrary.
Remove the corresponding installation with npm uninstall -g @x96_64/ilibrary, python -m pip uninstall x96_64-ilibrary, or brew uninstall ilibrary. Removing the executable does not undo file or library changes. Retain catalogs and addition journals needed for recovery.
Quick Start
Use selected copies in ./downloads and a new ./staging directory. Each write has a preview:
ilibrary import ./downloads -o ./staging --dry-run
ilibrary import ./downloads -o ./staging
ilibrary export ./staging -o catalog.json --artwork covers --dry-run
ilibrary export ./staging -o catalog.json --artwork covers
ilibrary prompt catalog.json > prompt.md
# Complete and review the catalog before applying it.
ilibrary validate catalog.json ./staging
ilibrary apply catalog.json ./staging --rename --timestamps --dry-run
ilibrary apply catalog.json ./staging --rename --timestamps
ilibrary check ./staging
For addition to Music, first follow Test Library Validation in a separate macOS user. add moves selected sources, stops at an existing matching track, confirms each album, and retains a resumption journal.
Commands
| Commands | Purpose |
|---|---|
import |
Convert FLAC, WAV, and AIFF; copy M4A purchases and remove purchase fields |
export, prompt, schema |
Draft a catalog and obtain its authoring instructions and schema |
validate, apply |
Match a catalog to files, then apply tags, names, and dates |
timestamps |
Set release dates without creating missing paths |
add |
Move and add albums to Music in release or artist order |
check, doctor |
Diagnose files, library differences, and the environment |
Use ilibrary help COMMAND for options. Every mutating command offers --dry-run, lists its plan, and verifies its writes. A batch is not a transaction; earlier completed files can remain after a later failure.
Verification and Limits
The public suite uses synthetic audio and substitute library adapters. The maintainer separately reported twelve successful live command checks in a test user. Qualification of 301 personal-file copies found no file diagnostic and left originals unchanged. Those results do not establish behavior on every OS version or in a cloud library.
Conversion supports integer mono and stereo PCM. Protected audio is refused. Real Trash operations remain untested. iLibrary reports cloud status but does not claim to prevent Apple Music matching. It does not download recordings or include commercial audio or artwork. Catalogs, prompts, output, and journals can contain private data; review them before sharing.
Documentation and Support
License
iLibrary is licensed under the Apache License, Version 2.0.
Metadata
Release files for x96-64-ilibrary 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| x96_64_ilibrary-0.1.0-py3-none-macosx_14_0_arm64.whl | Python 3 | none | macOS 14.0+ ARM64 | Details |
Release files / x96_64_ilibrary-0.1.0-py3-none-macosx_14_0_arm64.whl
| Download URL | x96_64_ilibrary-0.1.0-py3-none-macosx_14_0_arm64.whl |
|---|---|
| Size | 468.3 kB |
| Tags | Python 3 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5c5da31bc0f6ae2084966d753f5a462f389a5c87e97a8003a61a8a8a1ac77fc9
|
|
BLAKE2b-256 checksum How to use checksums |
a7ef19012738bd1f69e62e35d4100a6c4e9266076e3d6a944a1a69967bac4dcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logSecurity for x96-64-ilibrary 0.1.0
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.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for x96_64_ilibrary-0.1.0-py3-none-macosx_14_0_arm64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logA 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.