iOpenPod 2.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- iopenpod-2.0.4/.editorconfig +21 -0
- iopenpod-2.0.4/.gitattributes +19 -0
- iopenpod-2.0.4/.github/FUNDING.yml +2 -0
- iopenpod-2.0.4/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
- iopenpod-2.0.4/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- iopenpod-2.0.4/.github/workflows/flatpak.yml +45 -0
- iopenpod-2.0.4/.github/workflows/health.yml +60 -0
- iopenpod-2.0.4/.github/workflows/pages.yml +61 -0
- iopenpod-2.0.4/.github/workflows/release.yml +277 -0
- iopenpod-2.0.4/.github/workflows/update-feed.yml +54 -0
- iopenpod-2.0.4/.gitignore +192 -0
- iopenpod-2.0.4/.hallmark/log.json +159 -0
- iopenpod-2.0.4/.hallmark/preflight-web.json +26 -0
- iopenpod-2.0.4/.hallmark/preflight.json +19 -0
- iopenpod-2.0.4/.python-version +1 -0
- iopenpod-2.0.4/.vscode/extensions.json +13 -0
- iopenpod-2.0.4/.vscode/settings.json +90 -0
- iopenpod-2.0.4/.vscode/tasks.json +174 -0
- iopenpod-2.0.4/ACKNOWLEDGEMENTS.md +44 -0
- iopenpod-2.0.4/AGENTS.md +161 -0
- iopenpod-2.0.4/CONTEXT.md +729 -0
- iopenpod-2.0.4/COPYING.md +47 -0
- iopenpod-2.0.4/GLOSSARY.md +258 -0
- iopenpod-2.0.4/LICENSE +675 -0
- iopenpod-2.0.4/PKG-INFO +327 -0
- iopenpod-2.0.4/README.md +280 -0
- iopenpod-2.0.4/TODO.md +25 -0
- iopenpod-2.0.4/docs/README.md +36 -0
- iopenpod-2.0.4/docs/adr/0001-use-python-3-12-and-uv.md +35 -0
- iopenpod-2.0.4/docs/adr/0002-separate-the-four-primary-subsystems.md +45 -0
- iopenpod-2.0.4/docs/adr/0003-share-quality-configuration-between-cli-and-vs-code.md +43 -0
- iopenpod-2.0.4/docs/adr/0004-use-original-iopenpod-as-the-compatibility-baseline.md +43 -0
- iopenpod-2.0.4/docs/adr/0005-use-one-active-ipod-and-user-directed-sync.md +46 -0
- iopenpod-2.0.4/docs/adr/0006-require-lossless-ipoddb-round-trips.md +41 -0
- iopenpod-2.0.4/docs/adr/0007-ship-one-application-with-branded-package-names.md +38 -0
- iopenpod-2.0.4/docs/adr/0008-require-one-definition-driven-ipoddb-path.md +62 -0
- iopenpod-2.0.4/docs/adr/0009-use-qt-logical-pixels-and-native-display-metrics.md +52 -0
- iopenpod-2.0.4/docs/adr/0010-resolve-ranked-device-evidence-in-the-device-registry.md +74 -0
- iopenpod-2.0.4/docs/adr/0011-bind-storage-access-to-connection-generations.md +91 -0
- iopenpod-2.0.4/docs/adr/0012-load-artwork-lazily-across-existing-boundaries.md +79 -0
- iopenpod-2.0.4/docs/adr/0013-reconcile-device-metadata-across-existing-boundaries.md +79 -0
- iopenpod-2.0.4/docs/adr/0014-persist-global-settings-through-storage.md +61 -0
- iopenpod-2.0.4/docs/adr/0015-isolate-iopenpod-2-settings-from-original-iopenpod.md +43 -0
- iopenpod-2.0.4/docs/adr/0016-qualify-device-candidates-and-correlate-macos-hardware.md +52 -0
- iopenpod-2.0.4/docs/adr/0017-stream-playback-through-a-replaceable-backend.md +65 -0
- iopenpod-2.0.4/docs/adr/0018-publish-playback-through-optional-system-media-sessions.md +90 -0
- iopenpod-2.0.4/docs/adr/0019-project-databases-through-a-common-library-contract.md +52 -0
- iopenpod-2.0.4/docs/adr/0020-project-playlists-and-isolate-session-edits.md +65 -0
- iopenpod-2.0.4/docs/adr/0021-prepare-library-drafts-over-retained-documents.md +104 -0
- iopenpod-2.0.4/docs/adr/0022-apply-and-save-playlist-drafts.md +87 -0
- iopenpod-2.0.4/docs/adr/0023-capture-write-requests-and-inspect-them-without-replay.md +59 -0
- iopenpod-2.0.4/docs/adr/0024-reconcile-and-verify-playlists-by-dataset.md +77 -0
- iopenpod-2.0.4/docs/adr/0025-resolve-library-edits-before-reconciliation.md +82 -0
- iopenpod-2.0.4/docs/adr/0026-share-one-library-workspace-for-metadata-and-playlists.md +68 -0
- iopenpod-2.0.4/docs/adr/0027-restore-the-previously-selected-ipod.md +41 -0
- iopenpod-2.0.4/docs/adr/0028-record-library-write-debug-diagnostics.md +20 -0
- iopenpod-2.0.4/docs/adr/0029-publish-file-transactions-with-retained-recovery.md +37 -0
- iopenpod-2.0.4/docs/adr/0030-bind-library-file-transactions-to-issued-reviews.md +45 -0
- iopenpod-2.0.4/docs/adr/0031-inspect-captured-host-media-before-planning-imports.md +57 -0
- iopenpod-2.0.4/docs/adr/0032-add-inspected-music-through-library-reviews.md +40 -0
- iopenpod-2.0.4/docs/adr/0033-create-artworkdb-from-catalog-capabilities.md +64 -0
- iopenpod-2.0.4/docs/adr/0034-bind-media-replacement-intent-to-library-drafts.md +40 -0
- iopenpod-2.0.4/docs/adr/0035-author-evidence-backed-smart-playlist-choices.md +48 -0
- iopenpod-2.0.4/docs/adr/0036-reclassify-retained-media-without-replacement.md +44 -0
- iopenpod-2.0.4/docs/adr/0037-persist-a-device-aware-podcast-catalog.md +81 -0
- iopenpod-2.0.4/docs/adr/0038-preserve-the-original-backup-archive-contract.md +30 -0
- iopenpod-2.0.4/docs/adr/0039-use-backup-format-v4-and-bounded-restore-recovery.md +90 -0
- iopenpod-2.0.4/docs/adr/0040-identify-backups-by-serial-with-a-best-effort-fallback.md +44 -0
- iopenpod-2.0.4/docs/adr/0041-allow-foreground-reads-during-backup-capture.md +58 -0
- iopenpod-2.0.4/docs/adr/0042-analyze-audio-into-ephemeral-world-scores.md +57 -0
- iopenpod-2.0.4/docs/adr/0043-render-synesthesia-as-one-continuous-world.md +75 -0
- iopenpod-2.0.4/docs/adr/0044-make-synesthesia-topology-and-biography-authoritative.md +93 -0
- iopenpod-2.0.4/docs/adr/0045-drive-synesthesia-through-one-coupled-field.md +136 -0
- iopenpod-2.0.4/docs/adr/0046-preserve-musical-context-in-synesthesia-evidence.md +64 -0
- iopenpod-2.0.4/docs/adr/0047-map-track-analysis-into-one-expressive-field.md +60 -0
- iopenpod-2.0.4/docs/adr/0048-direct-synesthesia-through-mood-selected-scenes.md +79 -0
- iopenpod-2.0.4/docs/adr/0049-choreograph-synesthesia-scenes-as-music-driven-journeys.md +65 -0
- iopenpod-2.0.4/docs/adr/0050-compose-synesthesia-camera-shots-inside-scenes.md +73 -0
- iopenpod-2.0.4/docs/adr/0051-make-player-transport-authoritative-for-synesthesia.md +79 -0
- iopenpod-2.0.4/docs/adr/0052-model-photosdb-as-a-distinct-artifact.md +51 -0
- iopenpod-2.0.4/docs/adr/0053-project-photos-into-library-drafts.md +55 -0
- iopenpod-2.0.4/docs/adr/0054-browse-photos-through-a-lazy-three-pane-ui.md +71 -0
- iopenpod-2.0.4/docs/adr/0055-export-photos-through-the-active-filesystem-session.md +65 -0
- iopenpod-2.0.4/docs/adr/0056-preview-retained-full-resolution-photos-safely.md +41 -0
- iopenpod-2.0.4/docs/adr/0057-manage-photo-album-membership-through-collection-cards.md +53 -0
- iopenpod-2.0.4/docs/adr/0058-create-empty-photo-albums-through-library-drafts.md +45 -0
- iopenpod-2.0.4/docs/adr/0059-delete-photos-through-library-drafts.md +55 -0
- iopenpod-2.0.4/docs/adr/0060-use-native-safe-removal-services.md +59 -0
- iopenpod-2.0.4/docs/adr/0061-support-late-ipod-library-artifact-sets.md +68 -0
- iopenpod-2.0.4/docs/adr/0062-assign-matched-original-backups-to-native-identities.md +55 -0
- iopenpod-2.0.4/docs/adr/0063-scan-host-media-into-common-library-snapshots.md +96 -0
- iopenpod-2.0.4/docs/adr/0064-browse-host-and-ipod-library-sources-independently.md +48 -0
- iopenpod-2.0.4/docs/adr/0065-index-ipod-media-for-sync-correlation.md +73 -0
- iopenpod-2.0.4/docs/adr/0066-prepare-sync-plans-from-correlated-media.md +74 -0
- iopenpod-2.0.4/docs/adr/0067-present-host-media-inside-the-sync-workspace.md +71 -0
- iopenpod-2.0.4/docs/adr/0068-render-synesthesia-before-track-analysis-completes.md +38 -0
- iopenpod-2.0.4/docs/adr/0069-refresh-devices-while-the-picker-is-open.md +34 -0
- iopenpod-2.0.4/docs/adr/0070-select-sync-actions-in-grouped-review.md +27 -0
- iopenpod-2.0.4/docs/adr/0071-restore-the-remembered-ipod-at-startup.md +28 -0
- iopenpod-2.0.4/docs/adr/0072-open-sync-collections-as-detail-pages.md +49 -0
- iopenpod-2.0.4/docs/adr/0073-apply-library-changes-automatically-by-default.md +26 -0
- iopenpod-2.0.4/docs/adr/0074-constrain-host-playlist-references-through-storage.md +75 -0
- iopenpod-2.0.4/docs/adr/0075-publish-lyrics-with-media-file-tags.md +28 -0
- iopenpod-2.0.4/docs/adr/0076-execute-reviewed-sync-through-storage.md +130 -0
- iopenpod-2.0.4/docs/adr/0077-hold-synesthesia-scenes-across-short-sections.md +41 -0
- iopenpod-2.0.4/docs/adr/0078-prepare-the-next-synesthesia-playback-entry.md +26 -0
- iopenpod-2.0.4/docs/adr/0079-prepare-native-packages-with-explicit-store-gates.md +45 -0
- iopenpod-2.0.4/docs/adr/0080-distribute-iopenpod-under-gplv3-or-later.md +22 -0
- iopenpod-2.0.4/docs/adr/0081-require-user-installed-media-tools.md +26 -0
- iopenpod-2.0.4/docs/adr/0082-tolerate-host-media-scan-source-churn.md +48 -0
- iopenpod-2.0.4/docs/adr/0083-tolerate-host-native-media-variants.md +41 -0
- iopenpod-2.0.4/docs/adr/0084-keep-optional-media-analysis-out-of-sync-gates.md +69 -0
- iopenpod-2.0.4/docs/adr/0085-preserve-positional-playback-sidecars-during-sync.md +53 -0
- iopenpod-2.0.4/docs/adr/0086-prepare-bounded-stills-for-oversized-photos.md +35 -0
- iopenpod-2.0.4/docs/adr/0087-report-concurrent-host-preparation-progress.md +42 -0
- iopenpod-2.0.4/docs/adr/0088-edit-track-classification-in-the-metadata-editor.md +54 -0
- iopenpod-2.0.4/docs/adr/0089-make-interrupted-sync-recovery-a-device-scoped-choice.md +61 -0
- iopenpod-2.0.4/docs/adr/0090-derive-volume-presentation-from-the-saved-ipod.md +49 -0
- iopenpod-2.0.4/docs/adr/0091-sync-podcasts-through-shared-media-publication.md +82 -0
- iopenpod-2.0.4/docs/adr/0092-enforce-podcast-and-video-playback-options.md +45 -0
- iopenpod-2.0.4/docs/adr/0093-complete-terminal-transaction-cleanup-automatically.md +45 -0
- iopenpod-2.0.4/docs/adr/0094-target-macos-12-3-with-platform-specific-native-dependencies.md +76 -0
- iopenpod-2.0.4/docs/adr/0095-convert-a-complete-album-to-one-chaptered-track.md +49 -0
- iopenpod-2.0.4/docs/adr/0096-publish-status-progress-and-actions-as-source-owned-data.md +27 -0
- iopenpod-2.0.4/docs/adr/0097-model-preferences-as-a-lossless-flat-document.md +36 -0
- iopenpod-2.0.4/docs/adr/0098-capture-device-time-context-for-library-dates.md +49 -0
- iopenpod-2.0.4/docs/adr/0099-share-native-host-tag-interpretation.md +31 -0
- iopenpod-2.0.4/docs/adr/0100-reconcile-firmware-playback-sidecars-on-device-selection.md +65 -0
- iopenpod-2.0.4/docs/adr/0101-retain-account-scoped-scrobble-delivery-on-the-host.md +71 -0
- iopenpod-2.0.4/docs/adr/0102-adjust-old-lastfm-submission-dates.md +35 -0
- iopenpod-2.0.4/docs/adr/0103-offer-native-media-tool-installation.md +44 -0
- iopenpod-2.0.4/docs/adr/0104-publish-validated-tagged-github-releases.md +38 -0
- iopenpod-2.0.4/docs/adr/0105-route-application-updates-by-install-channel.md +29 -0
- iopenpod-2.0.4/docs/adr/0106-run-health-only-on-explicit-dispatch.md +24 -0
- iopenpod-2.0.4/docs/adr/0107-publish-only-native-release-archives.md +24 -0
- iopenpod-2.0.4/docs/adr/0108-bundle-windows-as-one-executable.md +25 -0
- iopenpod-2.0.4/docs/adr/0109-authenticate-and-isolate-github-application-updates.md +94 -0
- iopenpod-2.0.4/docs/adr/0110-offer-macos-drag-to-applications-disk-images.md +27 -0
- iopenpod-2.0.4/docs/adr/0111-correct-evidenced-artwork-format-sizes-during-preparation.md +53 -0
- iopenpod-2.0.4/docs/adr/0112-publish-python-distributions-with-github-releases.md +29 -0
- iopenpod-2.0.4/docs/adr/0113-update-installed-python-packages-through-pypi.md +63 -0
- iopenpod-2.0.4/docs/adr/0114-distinguish-install-downloads-from-update-archives.md +23 -0
- iopenpod-2.0.4/docs/adr/README.md +189 -0
- iopenpod-2.0.4/docs/agents/domain.md +50 -0
- iopenpod-2.0.4/docs/agents/issue-tracker.md +24 -0
- iopenpod-2.0.4/docs/agents/triage-labels.md +14 -0
- iopenpod-2.0.4/docs/app-updates.md +306 -0
- iopenpod-2.0.4/docs/eta.md +110 -0
- iopenpod-2.0.4/docs/gui-design-language.md +445 -0
- iopenpod-2.0.4/docs/host-media-tags.md +83 -0
- iopenpod-2.0.4/docs/ipod-preferences.md +181 -0
- iopenpod-2.0.4/docs/ipod-time.md +63 -0
- iopenpod-2.0.4/docs/ipoddb-editing.md +134 -0
- iopenpod-2.0.4/docs/library-contract.md +178 -0
- iopenpod-2.0.4/docs/library-writing-audit-2026-09-11.md +540 -0
- iopenpod-2.0.4/docs/library-writing.md +737 -0
- iopenpod-2.0.4/docs/licensing.md +108 -0
- iopenpod-2.0.4/docs/media-tools.md +84 -0
- iopenpod-2.0.4/docs/packaging.md +536 -0
- iopenpod-2.0.4/docs/playback-sidecars.md +92 -0
- iopenpod-2.0.4/docs/research/artworkdb-format.md +198 -0
- iopenpod-2.0.4/docs/research/ipod-preferences.md +165 -0
- iopenpod-2.0.4/docs/research/ipod-time-reconciliation.md +189 -0
- iopenpod-2.0.4/docs/research/ithmb-uyvy-format.md +307 -0
- iopenpod-2.0.4/docs/research/itunescdb-and-sqlite-library.md +65 -0
- iopenpod-2.0.4/docs/research/itunesdb-lyrics.md +133 -0
- iopenpod-2.0.4/docs/research/itunesdb-sort-36.md +116 -0
- iopenpod-2.0.4/docs/research/macos-catalina-compatibility.md +350 -0
- iopenpod-2.0.4/docs/research/macos-compatibility.md +496 -0
- iopenpod-2.0.4/docs/research/photosdb-format.md +117 -0
- iopenpod-2.0.4/docs/research/safe-native-eject.md +123 -0
- iopenpod-2.0.4/docs/research/synesthesia-coupled-field.md +101 -0
- iopenpod-2.0.4/docs/research/synesthesia-world-architecture.md +980 -0
- iopenpod-2.0.4/docs/research/windows-store-requirements.md +130 -0
- iopenpod-2.0.4/docs/scrobbling.md +104 -0
- iopenpod-2.0.4/docs/source_architecture.md +2545 -0
- iopenpod-2.0.4/docs/sync-media-policy.md +108 -0
- iopenpod-2.0.4/docs/sync-validation.md +89 -0
- iopenpod-2.0.4/docs/sync-workflow-audit-2026-09-26.md +99 -0
- iopenpod-2.0.4/docs/synesthesia_backend.md +144 -0
- iopenpod-2.0.4/docs/synesthesia_visual_direction.md +221 -0
- iopenpod-2.0.4/docs/translations.md +117 -0
- iopenpod-2.0.4/docs/volume-presentation.md +82 -0
- iopenpod-2.0.4/main.py +16 -0
- iopenpod-2.0.4/packaging/github-release.md +44 -0
- iopenpod-2.0.4/packaging/hooks/hook-PySide6.QtGui.py +23 -0
- iopenpod-2.0.4/packaging/hooks/hook-sklearn.py +5 -0
- iopenpod-2.0.4/packaging/iOpenPod.spec +133 -0
- iopenpod-2.0.4/packaging/linux/flatpak.json +28 -0
- iopenpod-2.0.4/packaging/linux/io.github.therealsavi.iOpenPod.desktop +11 -0
- iopenpod-2.0.4/packaging/linux/io.github.therealsavi.iOpenPod.metainfo.xml +18 -0
- iopenpod-2.0.4/packaging/linux/snapcraft.yaml +40 -0
- iopenpod-2.0.4/packaging/macos/app-store.entitlements.plist +10 -0
- iopenpod-2.0.4/packaging/macos/dmg-background.png +0 -0
- iopenpod-2.0.4/packaging/macos/dmg-background.svg +24 -0
- iopenpod-2.0.4/packaging/macos/dmg-layout.applescript +36 -0
- iopenpod-2.0.4/packaging/macos/helper.entitlements.plist +6 -0
- iopenpod-2.0.4/packaging/macos/update_bridge.m +142 -0
- iopenpod-2.0.4/packaging/third-party/Microsoft-runtime-NOTICE.txt +26 -0
- iopenpod-2.0.4/packaging/third-party/Python-Windows-Binary-LICENSE.txt +502 -0
- iopenpod-2.0.4/packaging/third-party/README.md +116 -0
- iopenpod-2.0.4/packaging/third-party/libsndfile-no-version-resource.patch +11 -0
- iopenpod-2.0.4/packaging/third-party/native-build-tools.json +26 -0
- iopenpod-2.0.4/packaging/third-party/native-evidence.json +57 -0
- iopenpod-2.0.4/packaging/third-party/notices/audioread-3.1.0-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/bzip2-1.0.8-NOTICES.txt +54 -0
- iopenpod-2.0.4/packaging/third-party/notices/certifi-2026.7.22-NOTICES.txt +32 -0
- iopenpod-2.0.4/packaging/third-party/notices/cffi-2.1.1-NOTICES.txt +47 -0
- iopenpod-2.0.4/packaging/third-party/notices/charset-normalizer-3.5.1-NOTICES.txt +47 -0
- iopenpod-2.0.4/packaging/third-party/notices/cloudpickle-3.1.2-NOTICES.txt +44 -0
- iopenpod-2.0.4/packaging/third-party/notices/colorama-0.4.6-NOTICES.txt +39 -0
- iopenpod-2.0.4/packaging/third-party/notices/cpython-3.12-3.12.14-NOTICES.txt +1649 -0
- iopenpod-2.0.4/packaging/third-party/notices/decorator-5.3.1-NOTICES.txt +39 -0
- iopenpod-2.0.4/packaging/third-party/notices/expat-2.8.3-NOTICES.txt +48 -0
- iopenpod-2.0.4/packaging/third-party/notices/feedparser-6.0.14-NOTICES.txt +110 -0
- iopenpod-2.0.4/packaging/third-party/notices/feedparser-sgmllib-2.1.0-NOTICES.txt +298 -0
- iopenpod-2.0.4/packaging/third-party/notices/ffmpeg-7.1.5-NOTICES.txt +1841 -0
- iopenpod-2.0.4/packaging/third-party/notices/hashab-f80d46432204c6238cad7d8ca3b3dd52ea66836b-NOTICES.txt +36 -0
- iopenpod-2.0.4/packaging/third-party/notices/idna-3.19-NOTICES.txt +43 -0
- iopenpod-2.0.4/packaging/third-party/notices/importlib-resources-7.1.0-NOTICES.txt +85 -0
- iopenpod-2.0.4/packaging/third-party/notices/joblib-1.6.0-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/lazy-loader-0.5-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/libffi-3.4.8-NOTICES.txt +391 -0
- iopenpod-2.0.4/packaging/third-party/notices/librosa-0.11.0-NOTICES.txt +27 -0
- iopenpod-2.0.4/packaging/third-party/notices/libsndfile-1.2.2-NOTICES.txt +775 -0
- iopenpod-2.0.4/packaging/third-party/notices/llvm-llvmlite-22.1.0-NOTICES.txt +7571 -0
- iopenpod-2.0.4/packaging/third-party/notices/llvm-mesa-3.6.2-NOTICES.txt +289 -0
- iopenpod-2.0.4/packaging/third-party/notices/llvmlite-0.49.0-NOTICES.txt +266 -0
- iopenpod-2.0.4/packaging/third-party/notices/mesa-11.2.2-NOTICES.txt +623 -0
- iopenpod-2.0.4/packaging/third-party/notices/mpdecimal-4.0.0-NOTICES.txt +100 -0
- iopenpod-2.0.4/packaging/third-party/notices/msgpack-1.2.2-NOTICES.txt +25 -0
- iopenpod-2.0.4/packaging/third-party/notices/mutagen-1.48.1-NOTICES.txt +351 -0
- iopenpod-2.0.4/packaging/third-party/notices/narwhals-2.26.0-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/numba-0.67.0-NOTICES.txt +610 -0
- iopenpod-2.0.4/packaging/third-party/notices/numpy-2.5.3-NOTICES.txt +1695 -0
- iopenpod-2.0.4/packaging/third-party/notices/openblas-numpy-446c436e10450c348169808f1a6b3fae0925c9f7-NOTICES.txt +235 -0
- iopenpod-2.0.4/packaging/third-party/notices/openblas-numpy-build-v0.3.34.106.0-NOTICES.txt +2771 -0
- iopenpod-2.0.4/packaging/third-party/notices/openblas-scipy-5ffbf38b41a1fe494d038efcb09cf22f4d527c22-NOTICES.txt +235 -0
- iopenpod-2.0.4/packaging/third-party/notices/openblas-scipy-build-v0.3.31.22.0-NOTICES.txt +2771 -0
- iopenpod-2.0.4/packaging/third-party/notices/openssl-3.5-3.5.8-NOTICES.txt +620 -0
- iopenpod-2.0.4/packaging/third-party/notices/packaging-26.3-NOTICES.txt +248 -0
- iopenpod-2.0.4/packaging/third-party/notices/pillow-12.3.0-NOTICES.txt +227 -0
- iopenpod-2.0.4/packaging/third-party/notices/pillow-build-12.3.0-NOTICES.txt +1749 -0
- iopenpod-2.0.4/packaging/third-party/notices/platformdirs-4.11.8-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/pooch-1.9.0-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/provenance.json +10546 -0
- iopenpod-2.0.4/packaging/third-party/notices/pycparser-3.0-NOTICES.txt +39 -0
- iopenpod-2.0.4/packaging/third-party/notices/pycryptodome-3.23.0-NOTICES.txt +431 -0
- iopenpod-2.0.4/packaging/third-party/notices/pyinstaller-6.22.3-NOTICES.txt +746 -0
- iopenpod-2.0.4/packaging/third-party/notices/pyside-setup-6.11.2-NOTICES.txt +4339 -0
- iopenpod-2.0.4/packaging/third-party/notices/python-build-standalone-20260825-NOTICES.txt +3009 -0
- iopenpod-2.0.4/packaging/third-party/notices/pywinrt-3.2.1-NOTICES.txt +34 -0
- iopenpod-2.0.4/packaging/third-party/notices/qtbase-6.11.2-NOTICES.txt +10866 -0
- iopenpod-2.0.4/packaging/third-party/notices/qtdeclarative-6.11.2-NOTICES.txt +3148 -0
- iopenpod-2.0.4/packaging/third-party/notices/qtimageformats-6.11.2-NOTICES.txt +2011 -0
- iopenpod-2.0.4/packaging/third-party/notices/qtmultimedia-6.11.2-NOTICES.txt +4837 -0
- iopenpod-2.0.4/packaging/third-party/notices/qtshadertools-6.11.2-NOTICES.txt +3475 -0
- iopenpod-2.0.4/packaging/third-party/notices/qtsvg-6.11.2-NOTICES.txt +1888 -0
- iopenpod-2.0.4/packaging/third-party/notices/qttools-6.11.2-NOTICES.txt +4513 -0
- iopenpod-2.0.4/packaging/third-party/notices/qttranslations-6.11.2-NOTICES.txt +791 -0
- iopenpod-2.0.4/packaging/third-party/notices/requests-2.34.2-NOTICES.txt +194 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-addr2line-0.24.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-addr2line-0.25.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-adler2-2.0.0-NOTICES.txt +258 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-aes-0.8.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-aho-corasick-1.0.2-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-allocator-api2-0.2.20-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ambient-authority-0.0.2-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-android_system_properties-0.1.5-NOTICES.txt +50 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anes-0.1.6-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anstream-0.6.15-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anstyle-1.0.8-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anstyle-parse-0.2.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anstyle-query-1.1.2-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anstyle-wincon-3.0.4-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-anyhow-1.0.93-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-arbitrary-1.4.1-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-arbtest-0.3.1-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-arrayvec-0.7.6-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-async-trait-0.1.71-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-autocfg-1.1.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-backtrace-0.3.75-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-base64-0.22.1-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-base64ct-1.6.0-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-beef-0.5.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bindgen-0.71.1-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bit-set-0.5.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bit-vec-0.6.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bitflags-1.3.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bitflags-2.6.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bitmaps-2.1.0-NOTICES.txt +367 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-block-buffer-0.10.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bstr-1.6.0-NOTICES.txt +302 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bumpalo-3.16.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-byteorder-1.4.3-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bytes-1.5.0-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bytesize-2.0.1-NOTICES.txt +213 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bzip2-0.4.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-bzip2-sys-0.1.11+1.0.8-NOTICES.txt +290 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-camino-1.1.4-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cap-fs-ext-3.4.4-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cap-net-ext-3.4.4-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cap-primitives-3.4.4-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cap-rand-3.4.4-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cap-std-3.4.4-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cap-time-ext-3.4.4-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-capstone-0.13.0-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-capstone-sys-0.17.0-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cargo-platform-0.1.2-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cargo_metadata-0.19.2-NOTICES.txt +35 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cast-0.3.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cc-1.2.22-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cexpr-0.6.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cfg-if-1.0.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ciborium-0.2.0-NOTICES.txt +213 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ciborium-io-0.2.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ciborium-ll-0.2.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cipher-0.4.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-clang-sys-1.8.1-NOTICES.txt +214 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-clap-4.5.36-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-clap_builder-4.5.36-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-clap_complete-4.5.28-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-clap_derive-4.5.32-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-clap_lex-0.7.4-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cobs-0.2.3-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-codespan-reporting-0.11.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-colorchoice-1.0.0-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-console-0.15.8-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-constant_time_eq-0.1.5-NOTICES.txt +133 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-core-foundation-0.9.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-core-foundation-sys-0.8.6-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cpp_demangle-0.4.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cpufeatures-0.2.7-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-crc32fast-1.3.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-criterion-0.6.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-criterion-plot-0.5.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-crossbeam-deque-0.8.1-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-crossbeam-epoch-0.9.18-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-crossbeam-utils-0.8.20-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-crunchy-0.2.2-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-crypto-common-0.1.6-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-cty-0.2.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-debugid-0.8.0-NOTICES.txt +213 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-deranged-0.3.11-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-derive_arbitrary-1.4.0-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-digest-0.10.7-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-directories-next-2.0.0-NOTICES.txt +210 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-dirs-sys-next-0.1.2-NOTICES.txt +210 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-displaydoc-0.2.5-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-dlmalloc-0.2.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-downcast-rs-2.0.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-easy-smt-0.2.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-egg-0.6.0-NOTICES.txt +32 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-either-1.13.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-embedded-io-0.4.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-encode_unicode-0.3.6-NOTICES.txt +236 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-encoding_rs-0.8.31-NOTICES.txt +297 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-env_filter-0.1.2-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-env_logger-0.10.0-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-env_logger-0.11.5-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-equivalent-1.0.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-errno-0.3.10-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-escape8259-0.5.2-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fallible-iterator-0.3.0-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fastrand-2.3.0-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fd-lock-4.0.2-NOTICES.txt +228 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-file-per-thread-logger-0.2.0-NOTICES.txt +231 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-filecheck-0.5.0-NOTICES.txt +231 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-filetime-0.2.16-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fixedbitset-0.4.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-flagset-0.4.3-NOTICES.txt +214 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-flate2-1.1.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fnv-1.0.7-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-foldhash-0.1.3-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-foreign-types-0.3.2-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-foreign-types-shared-0.1.1-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-form_urlencoded-1.2.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fs-set-times-0.20.1-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fslock-0.2.1-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-channel-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-core-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-executor-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-io-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-macro-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-sink-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-task-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-futures-util-0.3.31-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-fxprof-processed-profile-0.8.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-generic-array-0.14.5-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-getrandom-0.2.15-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-getrandom-0.3.1-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-gimli-0.31.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-gimli-0.32.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-glob-0.3.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-gzip-header-1.0.0-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-h2-0.4.4-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-half-1.8.2-NOTICES.txt +105 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-half-2.4.1-NOTICES.txt +105 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-hashbrown-0.12.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-hashbrown-0.15.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-heck-0.4.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-heck-0.5.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-hermit-abi-0.3.9-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-hmac-0.12.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-home-0.5.9-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-http-1.0.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-http-body-1.0.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-http-body-util-0.1.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-httparse-1.8.0-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-httpdate-1.0.2-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-humantime-2.1.0-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-hyper-1.0.1-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-iana-time-zone-0.1.61-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-iana-time-zone-haiku-0.1.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_collections-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_locid-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_locid_transform-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_locid_transform_data-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_normalizer-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_normalizer_data-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_properties-1.5.1-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_properties_data-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_provider-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-icu_provider_macros-1.5.0-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-id-arena-2.2.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-idna-1.0.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-idna_adapter-1.2.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-im-rc-15.1.0-NOTICES.txt +367 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-indexmap-1.9.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-indexmap-2.7.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-indicatif-0.13.0-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-inout-0.1.3-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-instant-0.1.12-NOTICES.txt +46 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-io-extras-0.18.3-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-io-lifetimes-2.0.3-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ipnet-2.5.0-NOTICES.txt +225 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-is-terminal-0.4.10-NOTICES.txt +63 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-is_terminal_polyfill-1.70.1-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-itertools-0.10.5-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-itertools-0.13.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-itertools-0.14.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-itoa-1.0.14-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ittapi-0.4.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ittapi-sys-0.4.0-NOTICES.txt +249 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-jobserver-0.1.32-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-js-sys-0.3.74-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-json-from-wast-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-lazy_static-1.4.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-leb128-0.2.5-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-leb128fmt-0.1.0-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-libc-0.2.171-NOTICES.txt +218 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-libfuzzer-sys-0.4.8-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-libloading-0.8.6-NOTICES.txt +24 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-libm-0.2.11-NOTICES.txt +270 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-libtest-mimic-0.8.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-linux-raw-sys-0.4.14-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-linux-raw-sys-0.9.3-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-listenfd-1.0.0-NOTICES.txt +213 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-litemap-0.7.4-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-log-0.4.27-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-logos-0.14.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-logos-codegen-0.14.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-logos-derive-0.14.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-mach2-0.4.2-NOTICES.txt +246 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-matchers-0.1.0-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-matrixmultiply-0.3.9-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-maybe-owned-0.3.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-memchr-2.5.0-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-memfd-0.6.4-NOTICES.txt +234 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-memmap2-0.2.3-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-minimal-lexical-0.2.1-NOTICES.txt +283 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-miniz_oxide-0.8.9-NOTICES.txt +267 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-mio-1.0.3-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-multi-stash-0.2.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-mutatis-0.3.2-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-native-tls-0.2.14-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ndarray-0.15.6-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-nom-7.1.3-NOTICES.txt +32 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-nu-ansi-term-0.46.0-NOTICES.txt +34 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-num-complex-0.4.6-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-num-conv-0.1.0-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-num-integer-0.1.46-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-num-traits-0.2.19-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-num_cpus-1.16.0-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-number_prefix-0.3.0-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-object-0.36.5-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-object-0.37.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ocaml-boxroot-sys-0.2.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ocaml-interop-0.8.8-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ocaml-sys-0.22.3-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-once_cell-1.19.0-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-oorandom-11.1.3-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openssl-0.10.73-NOTICES.txt +233 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openssl-macros-0.1.1-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openssl-probe-0.1.6-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openssl-sys-0.9.109-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openvino-0.9.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openvino-finder-0.9.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-openvino-sys-0.9.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ort-2.0.0-rc.2-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ort-sys-2.0.0-rc.2-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-overload-0.1.1-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-password-hash-0.4.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-paste-1.0.7-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-pbkdf2-0.11.0-NOTICES.txt +244 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-percent-encoding-2.3.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-petgraph-0.6.5-NOTICES.txt +255 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-pin-project-lite-0.2.14-NOTICES.txt +217 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-pin-utils-0.1.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-pkg-config-0.3.29-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-postcard-1.0.8-NOTICES.txt +675 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-powerfmt-0.2.0-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ppv-lite86-0.2.16-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-prettyplease-0.2.31-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-proc-macro2-1.0.92-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-proptest-1.0.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-quick-error-1.2.3-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-quick-error-2.0.1-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-quote-1.0.36-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand-0.8.5-NOTICES.txt +236 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand-0.9.2-NOTICES.txt +236 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand_chacha-0.3.1-NOTICES.txt +261 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand_chacha-0.9.0-NOTICES.txt +236 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand_core-0.6.3-NOTICES.txt +261 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand_core-0.9.3-NOTICES.txt +247 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand_xorshift-0.3.0-NOTICES.txt +261 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rand_xoshiro-0.6.0-NOTICES.txt +260 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-raw-cpuid-11.5.0-NOTICES.txt +62 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rawpointer-0.2.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rayon-1.5.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rayon-core-1.12.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-redox_syscall-0.2.13-NOTICES.txt +34 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-redox_users-0.4.3-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regalloc2-0.13.2-NOTICES.txt +231 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regex-1.9.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regex-automata-0.1.10-NOTICES.txt +89 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regex-automata-0.3.3-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regex-syntax-0.6.25-NOTICES.txt +305 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regex-syntax-0.7.4-NOTICES.txt +305 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-regex-syntax-0.8.5-NOTICES.txt +305 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-region-3.0.2-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ring-0.17.14-NOTICES.txt +570 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustc-demangle-0.1.24-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustc-hash-2.1.1-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustix-0.38.43-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustix-1.0.3-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustix-linux-procfs-0.1.1-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustls-0.22.4-NOTICES.txt +263 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustls-0.23.7-NOTICES.txt +263 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustls-pki-types-1.3.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustls-webpki-0.102.2-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rustversion-1.0.14-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-rusty-fork-0.3.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ryu-1.0.9-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-safetensors-0.3.3-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-same-file-1.0.6-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-schannel-0.1.27-NOTICES.txt +19 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-security-framework-2.11.1-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-security-framework-sys-2.14.0-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-semver-1.0.17-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-serde-1.0.215-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-serde_derive-1.0.215-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-serde_json-1.0.140-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-serde_spanned-0.6.5-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-serde_yaml-0.9.34+deprecated-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-sha1-0.10.6-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-sha2-0.10.2-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-sharded-slab-0.1.4-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-shlex-1.3.0-NOTICES.txt +51 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-shuffling-allocator-1.1.2-NOTICES.txt +385 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-signal-hook-registry-1.4.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-similar-2.2.0-NOTICES.txt +213 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-sized-chunks-0.6.5-NOTICES.txt +367 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-slab-0.4.7-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-smallvec-1.13.2-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-socket2-0.5.7-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-souper-ir-2.1.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-spin-0.9.8-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-stable_deref_trait-1.2.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-static_assertions-1.1.0-NOTICES.txt +240 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-string-interner-0.19.0-NOTICES.txt +53 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-strsim-0.11.1-NOTICES.txt +35 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-strum-0.24.1-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-strum_macros-0.24.3-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-subtle-2.5.0-NOTICES.txt +40 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-symbolic_expressions-5.0.3-NOTICES.txt +234 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-syn-1.0.92-NOTICES.txt +241 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-syn-2.0.100-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-synstructure-0.13.1-NOTICES.txt +19 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-system-interface-0.27.1-NOTICES.txt +499 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tar-0.4.41-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-target-lexicon-0.13.0-NOTICES.txt +231 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tch-0.17.0-NOTICES.txt +316 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tempfile-3.21.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-termcolor-1.4.1-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-terminal_size-0.4.2-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-test-log-0.2.11-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-thiserror-1.0.65-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-thiserror-2.0.12-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-thiserror-impl-1.0.65-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-thiserror-impl-2.0.12-NOTICES.txt +216 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-thread_local-1.1.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-time-0.3.36-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-time-core-0.1.2-NOTICES.txt +238 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tinystr-0.7.6-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tinytemplate-1.2.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tokio-1.44.2-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tokio-macros-2.5.0-NOTICES.txt +34 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tokio-native-tls-0.3.1-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tokio-rustls-0.25.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tokio-util-0.7.4-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-toml-0.8.10-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-toml_datetime-0.6.5-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-toml_edit-0.22.4-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-torch-sys-0.17.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tracing-0.1.37-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tracing-attributes-0.1.26-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tracing-core-0.1.31-NOTICES.txt +63 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tracing-log-0.1.3-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-tracing-subscriber-0.3.17-NOTICES.txt +37 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-try-lock-0.2.4-NOTICES.txt +32 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-typenum-1.15.0-NOTICES.txt +245 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-unicode-ident-1.0.8-NOTICES.txt +267 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-unicode-segmentation-1.11.0-NOTICES.txt +255 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-unicode-width-0.1.9-NOTICES.txt +255 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-unicode-width-0.2.0-NOTICES.txt +255 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-unicode-xid-0.2.3-NOTICES.txt +255 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-unsafe-libyaml-0.2.11-NOTICES.txt +35 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-untrusted-0.9.0-NOTICES.txt +25 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-ureq-2.10.0-NOTICES.txt +472 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-url-2.5.4-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-utf16_iter-1.0.5-NOTICES.txt +291 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-utf8_iter-1.0.4-NOTICES.txt +291 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-utf8parse-0.2.1-NOTICES.txt +218 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-uuid-1.0.0-NOTICES.txt +257 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-v8-137.2.0-NOTICES.txt +63 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-valuable-0.1.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-vcpkg-0.2.15-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-version_check-0.9.4-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wait-timeout-0.2.0-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-walkdir-2.3.3-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-want-0.3.0-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasi-0.11.0+wasi-snapshot-preview1-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasi-0.13.3+wasi-0.2.2-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasi-nn-0.6.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasip1-1.0.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasip2-1.0.0+wasi-0.2.4-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-bindgen-0.2.97-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-bindgen-backend-0.2.97-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-bindgen-macro-0.2.97-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-bindgen-macro-support-0.2.97-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-bindgen-shared-0.2.97-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-compose-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-encoder-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-metadata-0.239.0-NOTICES.txt +134 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-mutate-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-smith-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasm-wave-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmi-0.43.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmi_collections-0.43.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmi_core-0.43.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmi_ir-0.43.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmparser-0.227.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmparser-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wasmprinter-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wast-239.0.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wast-35.0.2-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wat-1.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-web-sys-0.3.57-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-webpki-roots-0.26.1-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-which-6.0.3-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winapi-0.3.9-NOTICES.txt +237 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winapi-i686-pc-windows-gnu-0.4.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winapi-util-0.1.5-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winapi-x86_64-pc-windows-gnu-0.4.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-0.52.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-core-0.52.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-implement-0.52.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-interface-0.52.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-sys-0.52.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-sys-0.59.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-sys-0.60.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-targets-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows-targets-0.53.2-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_aarch64_gnullvm-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_aarch64_gnullvm-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_aarch64_msvc-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_aarch64_msvc-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_i686_gnu-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_i686_gnu-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_i686_gnullvm-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_i686_gnullvm-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_i686_msvc-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_i686_msvc-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_x86_64_gnu-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_x86_64_gnu-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_x86_64_gnullvm-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_x86_64_gnullvm-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_x86_64_msvc-0.52.6-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-windows_x86_64_msvc-0.53.0-NOTICES.txt +239 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winnow-0.5.39-NOTICES.txt +30 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winsafe-0.0.19-NOTICES.txt +31 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-winx-0.36.3-NOTICES.txt +231 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-bindgen-0.45.1-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-bindgen-0.46.0-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-bindgen-core-0.46.0-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-bindgen-rt-0.33.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-bindgen-rust-0.46.0-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-bindgen-rust-macro-0.46.0-NOTICES.txt +465 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-component-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-wit-parser-0.239.0-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-witx-0.9.1-NOTICES.txt +25 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-write16-1.0.0-NOTICES.txt +269 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-writeable-0.5.5-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-xattr-1.3.1-NOTICES.txt +243 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-yoke-0.7.5-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-yoke-derive-0.7.5-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zerofrom-0.1.5-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zerofrom-derive-0.1.5-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zeroize-1.7.0-NOTICES.txt +240 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zerovec-0.10.4-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zerovec-derive-0.10.3-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zip-0.6.6-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zstd-0.11.2+zstd.1.5.2-NOTICES.txt +20 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zstd-0.13.0-NOTICES.txt +20 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zstd-safe-5.0.2+zstd.1.5.2-NOTICES.txt +208 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zstd-safe-7.0.0-NOTICES.txt +208 -0
- iopenpod-2.0.4/packaging/third-party/notices/rust-zstd-sys-2.0.9+zstd.1.5.5-NOTICES.txt +624 -0
- iopenpod-2.0.4/packaging/third-party/notices/scikit-learn-1.9.1-NOTICES.txt +129 -0
- iopenpod-2.0.4/packaging/third-party/notices/scipy-1.18.1-NOTICES.txt +1885 -0
- iopenpod-2.0.4/packaging/third-party/notices/soundfile-0.14.0-NOTICES.txt +41 -0
- iopenpod-2.0.4/packaging/third-party/notices/soxr-1.1.0-NOTICES.txt +1477 -0
- iopenpod-2.0.4/packaging/third-party/notices/sparkle-2.10.0-NOTICES.txt +167 -0
- iopenpod-2.0.4/packaging/third-party/notices/sqlite-3530100-NOTICES.txt +58 -0
- iopenpod-2.0.4/packaging/third-party/notices/threadpoolctl-3.6.0-NOTICES.txt +36 -0
- iopenpod-2.0.4/packaging/third-party/notices/tqdm-4.70.0-NOTICES.txt +61 -0
- iopenpod-2.0.4/packaging/third-party/notices/typing-extensions-4.16.0-NOTICES.txt +291 -0
- iopenpod-2.0.4/packaging/third-party/notices/urllib3-2.7.0-NOTICES.txt +33 -0
- iopenpod-2.0.4/packaging/third-party/notices/wasmtime-38.0.0-NOTICES.txt +231 -0
- iopenpod-2.0.4/packaging/third-party/notices/wasmtime-native-38.0.1-NOTICES.txt +8295 -0
- iopenpod-2.0.4/packaging/third-party/notices/winrt-runtime-3.2.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/winrt-windows-foundation-3.2.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/winrt-windows-foundation-collections-3.2.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/winrt-windows-media-3.2.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/winrt-windows-media-interop-3.2.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/winrt-windows-storage-streams-3.2.1-NOTICES.txt +7 -0
- iopenpod-2.0.4/packaging/third-party/notices/xz-5.8.3-NOTICES.txt +1687 -0
- iopenpod-2.0.4/packaging/third-party/notices/zig-runtime-0.14.1-NOTICES.txt +2336 -0
- iopenpod-2.0.4/packaging/third-party/notices/zlib-1.3.2-NOTICES.txt +125 -0
- iopenpod-2.0.4/packaging/third-party/notices/zlib-ffmpeg-1.3.1-NOTICES.txt +62 -0
- iopenpod-2.0.4/packaging/third-party/sources.json +4916 -0
- iopenpod-2.0.4/packaging/update-helper.spec +18 -0
- iopenpod-2.0.4/packaging/update-keys.json +5 -0
- iopenpod-2.0.4/packaging/windows/ActivatePackage.cs +98 -0
- iopenpod-2.0.4/packaging/windows/AppxManifest.xml.in +24 -0
- iopenpod-2.0.4/packaging/windows/iOpenPod.manifest.xml +22 -0
- iopenpod-2.0.4/packaging/windows/store/assets/store-logo-300.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/certification-notes.md +46 -0
- iopenpod-2.0.4/packaging/windows/store/license.html +17 -0
- iopenpod-2.0.4/packaging/windows/store/license.md +53 -0
- iopenpod-2.0.4/packaging/windows/store/listing.md +208 -0
- iopenpod-2.0.4/packaging/windows/store/privacy.html +32 -0
- iopenpod-2.0.4/packaging/windows/store/privacy.md +147 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/01-album-library.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/02-album-details.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/03-playlists.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/04-photo-library.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/05-sync-review.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/06-about-and-credits.png +0 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots/manifest.json +54 -0
- iopenpod-2.0.4/packaging/windows/store/screenshots.md +79 -0
- iopenpod-2.0.4/packaging/windows/store/submission-fields.json +163 -0
- iopenpod-2.0.4/packaging/windows/store/support.html +29 -0
- iopenpod-2.0.4/packaging/windows/store/support.md +110 -0
- iopenpod-2.0.4/packaging/windows/store-identity.toml +8 -0
- iopenpod-2.0.4/packaging/windows/test-installed-package.ps1 +251 -0
- iopenpod-2.0.4/pyproject.toml +216 -0
- iopenpod-2.0.4/scripts/assemble_github_release.py +258 -0
- iopenpod-2.0.4/scripts/build_windows_sndfile.py +154 -0
- iopenpod-2.0.4/scripts/capture_store_screenshots.py +553 -0
- iopenpod-2.0.4/scripts/check_macos_bundle.py +240 -0
- iopenpod-2.0.4/scripts/check_macos_dmg.py +72 -0
- iopenpod-2.0.4/scripts/check_wheel.py +64 -0
- iopenpod-2.0.4/scripts/check_windows_bundle.py +67 -0
- iopenpod-2.0.4/scripts/compile_synesthesia_shaders.py +64 -0
- iopenpod-2.0.4/scripts/generate_fake_music_library.py +1193 -0
- iopenpod-2.0.4/scripts/generate_media_fixtures.py +205 -0
- iopenpod-2.0.4/scripts/package_app.py +519 -0
- iopenpod-2.0.4/scripts/package_updates.py +205 -0
- iopenpod-2.0.4/scripts/prepare_release.py +82 -0
- iopenpod-2.0.4/scripts/prepare_release_sources.py +205 -0
- iopenpod-2.0.4/scripts/prepare_store_kit.py +579 -0
- iopenpod-2.0.4/scripts/publish_update_feed.py +153 -0
- iopenpod-2.0.4/scripts/sync_macos_build.py +59 -0
- iopenpod-2.0.4/scripts/update_feed.py +324 -0
- iopenpod-2.0.4/scripts/update_translations.py +225 -0
- iopenpod-2.0.4/src/device_registry/__init__.py +68 -0
- iopenpod-2.0.4/src/device_registry/authority.py +671 -0
- iopenpod-2.0.4/src/device_registry/data/__init__.py +1 -0
- iopenpod-2.0.4/src/device_registry/data/catalog.py +1115 -0
- iopenpod-2.0.4/src/device_registry/identifiers.py +44 -0
- iopenpod-2.0.4/src/device_registry/metadata.py +352 -0
- iopenpod-2.0.4/src/device_registry/models.py +403 -0
- iopenpod-2.0.4/src/device_registry/py.typed +1 -0
- iopenpod-2.0.4/src/device_registry/registry.py +389 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/PROTOTYPE.md +218 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/album_card_delegate.py +155 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/collection_card_delegate.py +124 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/collection_list_delegate.py +172 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/photo_album_membership_delegate.py +168 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/photo_card_delegate.py +142 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/podcast_delegates.py +726 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/selection_group_delegate.py +326 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/delegates/track_artwork_delegate.py +92 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/artwork_editor.py +816 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/device_picker.py +396 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/external_playlist_files.py +286 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/library_review.py +379 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/linux_identity_setup.py +182 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/media_folders.py +440 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/media_tools_setup.py +175 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/metadata_editor.py +819 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/photo_album_editor.py +122 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/photo_album_manager.py +143 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/photo_metadata_editor.py +365 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/playlist_editor.py +1064 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/playlist_export.py +148 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/podcast_search.py +326 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/podcast_sync_settings.py +224 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/scrobble_report.py +68 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/tag_normalizer.py +489 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/host_library_browser.py +312 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/main_window.py +2069 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/navigation.py +113 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/backup_page.py +1254 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/collection_page.py +504 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/library_page.py +227 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/photo_page.py +753 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/placeholder_page.py +75 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/playlist_page.py +486 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/podcast_page.py +1049 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/settings_page.py +950 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/sync_execution_page.py +589 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/sync_plan_page.py +401 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/synesthesia_page.py +175 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/pages/track_page.py +90 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/application_icon.py +13 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/artwork.py +128 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/artwork_provider.py +317 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/backup_messages.py +480 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/collection_text.py +27 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/device_images.py +81 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/display.py +20 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/eta.py +61 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/manager.py +146 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/text.py +155 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_de.qm +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_de.ts +10060 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_es.qm +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_es.ts +10060 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/workflow.py +24 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/icons.py +51 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/image_color.py +136 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/library_card.py +252 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/middle_mouse_scrolling.py +208 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/photo.py +47 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/photo_provider.py +182 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/podcast_artwork_provider.py +83 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/podcast_collection_artwork.py +91 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/selection_checkbox.py +148 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/backup_styles.py +84 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/checkbox_style.py +173 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/dynamic.py +187 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/manager.py +235 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/podcast_styles.py +163 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/stylesheet.py +2322 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/tokens.py +631 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/presentation/track_drag_preview.py +229 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/sync_workspace.py +795 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/__init__.py +36 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/conductor.py +677 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/motion_phases.py +81 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/persistent_world.py +751 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/preview.py +76 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/render_resolution.py +104 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/renderer.py +1653 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/scene_director.py +1632 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/comets.frag +21 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/comets.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/comets.vert +98 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/comets.vert.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/events.frag +166 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/events.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/feedback.frag +144 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/feedback.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/field_sim.comp +200 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/field_sim.comp.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.frag +21 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.vert +95 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.vert.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/fullscreen.vert +13 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/fullscreen.vert.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/particles.frag +25 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/particles.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/particles.vert +113 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/particles.vert.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/present.frag +95 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/present.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/scenes.frag +758 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/shader_sources/scenes.frag.qsb +0 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/synesthesia/visual_style.py +129 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/album_grid.py +86 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/app_combo_box.py +158 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/artwork_view.py +124 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/browser_chrome.py +147 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/collection_detail.py +321 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/collection_grid.py +87 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/elided_label.py +171 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/equalized_grid.py +160 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/eta_label.py +61 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/host_media_drop.py +144 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/ipod_preferences.py +96 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/library_content.py +193 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/library_drag_grid.py +102 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/library_toolbar.py +257 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/media_tools_settings.py +145 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/metadata_field_editor.py +416 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/photo_album_membership_grid.py +70 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/photo_grid.py +131 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/photo_inspector.py +612 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/playback_pane.py +881 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/player_bar.py +1087 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/playlist_artwork_banner.py +203 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/playlist_tree.py +790 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/podcast_artwork.py +153 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/scrobbling_settings.py +210 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/search_field.py +99 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/selection_grid.py +55 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/selection_group_transition.py +298 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/setting_group.py +75 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sidebar.py +695 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/status_controls.py +94 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/status_list.py +386 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sync_preparation_progress.py +130 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sync_review_group.py +285 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sync_selection_actions.py +101 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sync_settings.py +510 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sync_storage_bar.py +241 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/themed_buttons.py +351 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/track_actions.py +861 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/track_list_header.py +214 -0
- iopenpod-2.0.4/src/iOpenPod/GUI/widgets/track_table.py +483 -0
- iopenpod-2.0.4/src/iOpenPod/__main__.py +6 -0
- iopenpod-2.0.4/src/iOpenPod/app/app.py +195 -0
- iopenpod-2.0.4/src/iOpenPod/app/artwork_controller.py +254 -0
- iopenpod-2.0.4/src/iOpenPod/app/artwork_import.py +195 -0
- iopenpod-2.0.4/src/iOpenPod/app/backup_controller.py +591 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/__init__.py +77 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/_json.py +60 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/archive.py +500 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/models.py +628 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/original_archive.py +249 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/outcomes.py +419 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/recovery.py +183 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/repository.py +2139 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/scope.py +57 -0
- iopenpod-2.0.4/src/iOpenPod/app/backups/service.py +1281 -0
- iopenpod-2.0.4/src/iOpenPod/app/chaptered_conversion.py +258 -0
- iopenpod-2.0.4/src/iOpenPod/app/chaptered_conversion_controller.py +228 -0
- iopenpod-2.0.4/src/iOpenPod/app/context.py +236 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/certifi_ssl.py +9 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/eta.py +340 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/logging.py +63 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/runtime.py +52 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/settings/definitions.py +299 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/settings/paths.py +43 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/settings/service.py +134 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/settings/stores.py +250 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/settings/transcoding.py +152 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/status.py +205 -0
- iopenpod-2.0.4/src/iOpenPod/app/core/version.py +14 -0
- iopenpod-2.0.4/src/iOpenPod/app/device_controller.py +562 -0
- iopenpod-2.0.4/src/iOpenPod/app/display_text.py +58 -0
- iopenpod-2.0.4/src/iOpenPod/app/export_tagging.py +301 -0
- iopenpod-2.0.4/src/iOpenPod/app/host_media_controller.py +250 -0
- iopenpod-2.0.4/src/iOpenPod/app/host_media_fingerprint.py +206 -0
- iopenpod-2.0.4/src/iOpenPod/app/host_media_folders.py +162 -0
- iopenpod-2.0.4/src/iOpenPod/app/host_media_library.py +2396 -0
- iopenpod-2.0.4/src/iOpenPod/app/host_playlists.py +232 -0
- iopenpod-2.0.4/src/iOpenPod/app/ipod_media_controller.py +146 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_export.py +714 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_export_controller.py +271 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_sync_helper.py +1108 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_workspace.py +1294 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_write.py +130 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_write_controller.py +608 -0
- iopenpod-2.0.4/src/iOpenPod/app/library_write_inspection.py +424 -0
- iopenpod-2.0.4/src/iOpenPod/app/lyrics_controller.py +161 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/__init__.py +20 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/content_type.py +42 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/importing.py +252 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/inspection.py +368 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/lyrics.py +143 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/lyrics_reader.py +96 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/models.py +95 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/music_paths.py +95 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/photo_sync.py +266 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/progress.py +23 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/sync_artwork.py +58 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/tags.py +429 -0
- iopenpod-2.0.4/src/iOpenPod/app/media/transcoding.py +1031 -0
- iopenpod-2.0.4/src/iOpenPod/app/media_tools_controller.py +235 -0
- iopenpod-2.0.4/src/iOpenPod/app/metadata_fields.py +212 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/album_list_model.py +285 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/artwork.py +49 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/artwork_seed.py +13 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/collection_list_model.py +332 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/device.py +138 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/filter_compat.py +22 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/ipod_preferences.py +27 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/keyed_projection.py +101 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/library_drag.py +141 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/library_filter_models.py +425 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/photo_album_membership_model.py +189 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/photo_list_model.py +554 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/photos.py +62 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/playback_models.py +525 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/playlist_tree_model.py +295 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/podcast_list_models.py +355 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/selection_grouping.py +323 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/sync_plan_table_model.py +383 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/sync_selection.py +274 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/track_columns.py +982 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/track_order.py +19 -0
- iopenpod-2.0.4/src/iOpenPod/app/models/track_table_model.py +330 -0
- iopenpod-2.0.4/src/iOpenPod/app/music_import_controller.py +205 -0
- iopenpod-2.0.4/src/iOpenPod/app/photo_controller.py +350 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/__init__.py +21 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/_qt_io.py +54 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/_qt_logging.py +101 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/backend.py +92 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/qt_backend.py +224 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/runtime_check.py +82 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/__init__.py +25 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/bridge.py +284 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/factory.py +66 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/linux.py +699 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/macos.py +430 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/session.py +145 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback/system_media/windows.py +554 -0
- iopenpod-2.0.4/src/iOpenPod/app/playback_controller.py +352 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/__init__.py +59 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/artwork_controller.py +215 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/catalog.py +630 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/controller.py +610 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/documents.py +292 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/feed_client.py +460 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/identity.py +115 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/media.py +151 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/models.py +294 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/store.py +236 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/sync.py +459 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/sync_artwork.py +98 -0
- iopenpod-2.0.4/src/iOpenPod/app/podcasts/sync_preparation.py +172 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/__init__.py +1 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/_json.py +25 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/clients.py +373 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/controller.py +304 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/credentials.py +98 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/models.py +80 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/queue.py +219 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/reporting.py +132 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/service.py +191 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/settings.py +22 -0
- iopenpod-2.0.4/src/iOpenPod/app/scrobbling/timestamps.py +56 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/device_coordinator.py +4175 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/device_time.py +42 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/ipod_preferences.py +359 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/library_resources.py +677 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/linux_identity.py +259 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/media_tools.py +273 -0
- iopenpod-2.0.4/src/iOpenPod/app/services/volume_presentation.py +206 -0
- iopenpod-2.0.4/src/iOpenPod/app/smart_playlist_preview.py +264 -0
- iopenpod-2.0.4/src/iOpenPod/app/sync_controller.py +677 -0
- iopenpod-2.0.4/src/iOpenPod/app/sync_execution.py +2319 -0
- iopenpod-2.0.4/src/iOpenPod/app/sync_plan.py +680 -0
- iopenpod-2.0.4/src/iOpenPod/app/sync_storage.py +131 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/__init__.py +143 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/_rhythm.py +167 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/_signals.py +226 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/_structure.py +229 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/audio.py +227 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/backend.py +202 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/controller.py +356 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/dsp.py +882 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/enrichment.py +407 -0
- iopenpod-2.0.4/src/iOpenPod/app/synesthesia/models.py +796 -0
- iopenpod-2.0.4/src/iOpenPod/app/tag_normalization_controller.py +197 -0
- iopenpod-2.0.4/src/iOpenPod/app/tag_normalizer.py +314 -0
- iopenpod-2.0.4/src/iOpenPod/app/track_conversion.py +110 -0
- iopenpod-2.0.4/src/iOpenPod/app/track_playback_policy.py +60 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/__init__.py +1 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/backend.py +97 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/bootstrap.py +116 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/controller.py +386 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/github.py +222 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/helper.py +228 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/installation.py +94 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/platform.py +156 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/portable.py +430 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/processes.py +127 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/processes_windows.py +229 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/pypi.py +288 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/python_helper.py +352 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/python_installation.py +420 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/releases.py +276 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/sparkle.py +111 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/transport.py +183 -0
- iopenpod-2.0.4/src/iOpenPod/app/updates/windows.py +252 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/README.md +6 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/album.svg +19 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/alert.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/bell.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/book.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/box.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/broadcast.svg +8 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/check-circle.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/chevron-left.svg +1 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/eject.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/film.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/folder.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/grid.svg +6 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/list.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/minus.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/monitor.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/music.svg +5 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/pause.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/photo.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/play-last.svg +6 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/play-next.svg +6 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/play.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/playlist.svg +7 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/plus.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/refresh.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/search.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/settings-sliders.svg +5 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/skip-back.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/skip-forward.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/smart-playlist.svg +5 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/synesthesia.svg +8 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/user.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/video.svg +4 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/volume.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/glyphs/x.svg +3 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/DJShott-icon.txt +21 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/README.md +13 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-128.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-16.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-24.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-256.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-32.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-48.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon-64.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/icons/icon.ico +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod1.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod11-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod11-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod11B-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod12-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod12-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod12-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod12-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod12-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod12-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Orange.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Purple.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod15-Yellow.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Orange.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Purple.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod16-Yellow.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-DarkGray.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-Orange.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod17-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-DarkGray.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Purple.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-SpaceGray.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18-Yellow.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18A-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18A-Gold.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18A-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18A-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18A-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod18A-SpaceGray.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod2.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3-Gold.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3B-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3B-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod3B-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod4-BlackRed.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod4-White.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod5-BlackRed.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod5-White.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod6-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod6-BlackRed.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod6-White.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod7-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod7-White.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod9-Black.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod9-Blue.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod9-Green.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod9-Pink.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod9-Red.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPod9-Silver.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/ipod_images/iPodGeneric.png +0 -0
- iopenpod-2.0.4/src/iOpenPod/assets/linux/61-iopenpod.rules +24 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/builder/build_ArtworkDB.py +180 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/ithmb.py +453 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/ithmb_writer.py +170 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_parsers/container_mhod.py +38 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_parsers/opaque_mhod.py +12 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_parsers/string_mhod.py +33 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_payload_spec_registry.py +75 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/parse_ArtworkDB.py +14 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/parser_definition.py +31 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/artwork_index.py +163 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhaf.py +23 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhba.py +44 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhfd.py +36 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhia.py +24 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhif.py +27 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhii.py +34 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhla.py +16 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhlf.py +16 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhli.py +16 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhni.py +34 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod.py +27 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod_payloads/container_mhod.py +12 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod_payloads/opaque_mhod.py +14 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod_payloads/string_mhod.py +43 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/chunk_defs/mhsd.py +51 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/constants.py +24 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/database_definition.py +36 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/shared/mhod_payload_spec_registry.py +88 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/writer/mhod_encoder.py +172 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/writer/mhod_serializer.py +72 -0
- iopenpod-2.0.4/src/iPodDB/ArtworkDB/writer/write_ArtworkDB.py +24 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/builder/build_PhotosDB.py +181 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_parsers/container_mhod.py +38 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_parsers/opaque_mhod.py +12 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_parsers/string_mhod.py +33 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_payload_spec_registry.py +75 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/parse_PhotosDB.py +14 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/parser_definition.py +29 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhaf.py +17 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhba.py +22 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhfd.py +38 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhia.py +17 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhif.py +18 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhii.py +19 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhla.py +16 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhlf.py +16 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhli.py +16 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhni.py +18 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhod.py +17 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhod_payloads/container_mhod.py +7 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhod_payloads/opaque_mhod.py +8 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhod_payloads/string_mhod.py +36 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/chunk_defs/mhsd.py +43 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/constants.py +31 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/database_definition.py +36 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/shared/mhod_payload_spec_registry.py +21 -0
- iopenpod-2.0.4/src/iPodDB/PhotosDB/writer/write_PhotosDB.py +22 -0
- iopenpod-2.0.4/src/iPodDB/SQLiteDB/artifacts.py +27 -0
- iopenpod-2.0.4/src/iPodDB/SQLiteDB/checksum.py +68 -0
- iopenpod-2.0.4/src/iPodDB/SQLiteDB/database.py +1089 -0
- iopenpod-2.0.4/src/iPodDB/device_time.py +143 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/builder/build_iTunesDB.py +94 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/cdb.py +136 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/chapter_data_mhod.py +327 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/contextual_100_mhod.py +17 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/library_index_mhod.py +31 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/library_jump_table_mhod.py +36 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/opaque_mhod.py +14 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/plist_mhod.py +52 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/settings_mhod.py +28 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/smart_prefs_mhod.py +17 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/smart_rules_mhod.py +180 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/string_mhod.py +40 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/url_mhod.py +18 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/video_details_mhod.py +16 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_payload_spec_registry.py +128 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/parse_iTunesDB.py +23 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/parser_definition.py +29 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhbd.py +47 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhia.py +33 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhii.py +28 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhip.py +34 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhit.py +131 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhla.py +16 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhli.py +16 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhlp.py +16 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhlt.py +16 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod.py +26 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/chapter_data_mhod.py +93 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/contextual_100_mhod.py +28 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/library_index_mhod.py +19 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/library_jump_table_mhod.py +27 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/opaque_mhod.py +10 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/plist_mhod.py +52 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/settings_mhod.py +18 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/smart_prefs_mhod.py +28 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/smart_rules_mhod.py +173 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/string_mhod.py +19 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/url_mhod.py +10 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/video_details_mhod.py +13 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhsd.py +44 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhyp.py +50 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/constants.py +205 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/database_definition.py +36 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/device_time.py +39 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/field_converters.py +22 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/mhod_payload_spec_registry.py +165 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/calcHashAB.NOTICE +20 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/calcHashAB.wasm.b64 +150 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/mhod_encoder.py +607 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/signature.py +291 -0
- iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/write_iTunesDB.py +67 -0
- iopenpod-2.0.4/src/iPodDB/library/__init__.py +218 -0
- iopenpod-2.0.4/src/iPodDB/library/_album_index.py +375 -0
- iopenpod-2.0.4/src/iPodDB/library/_artwork_verification.py +171 -0
- iopenpod-2.0.4/src/iPodDB/library/_artwork_writing.py +652 -0
- iopenpod-2.0.4/src/iPodDB/library/_browse_groups.py +68 -0
- iopenpod-2.0.4/src/iPodDB/library/_browse_index.py +103 -0
- iopenpod-2.0.4/src/iPodDB/library/_document_edit.py +23 -0
- iopenpod-2.0.4/src/iPodDB/library/_field_policy.py +387 -0
- iopenpod-2.0.4/src/iPodDB/library/_folder_validation.py +78 -0
- iopenpod-2.0.4/src/iPodDB/library/_folder_writing.py +163 -0
- iopenpod-2.0.4/src/iPodDB/library/_group_verification.py +305 -0
- iopenpod-2.0.4/src/iPodDB/library/_hidden_writing.py +461 -0
- iopenpod-2.0.4/src/iPodDB/library/_hierarchy.py +36 -0
- iopenpod-2.0.4/src/iPodDB/library/_identities.py +40 -0
- iopenpod-2.0.4/src/iPodDB/library/_index_verification.py +126 -0
- iopenpod-2.0.4/src/iPodDB/library/_lyrics_resources.py +71 -0
- iopenpod-2.0.4/src/iPodDB/library/_native_values.py +72 -0
- iopenpod-2.0.4/src/iPodDB/library/_photo_analysis.py +575 -0
- iopenpod-2.0.4/src/iPodDB/library/_photo_projection.py +178 -0
- iopenpod-2.0.4/src/iPodDB/library/_photo_resources.py +238 -0
- iopenpod-2.0.4/src/iPodDB/library/_photo_writing.py +376 -0
- iopenpod-2.0.4/src/iPodDB/library/_playlist_datasets.py +263 -0
- iopenpod-2.0.4/src/iPodDB/library/_playlist_projection.py +207 -0
- iopenpod-2.0.4/src/iPodDB/library/_playlist_verification.py +622 -0
- iopenpod-2.0.4/src/iPodDB/library/_playlist_writing.py +244 -0
- iopenpod-2.0.4/src/iPodDB/library/_podcast_writing.py +272 -0
- iopenpod-2.0.4/src/iPodDB/library/_projection.py +422 -0
- iopenpod-2.0.4/src/iPodDB/library/_reconcile.py +597 -0
- iopenpod-2.0.4/src/iPodDB/library/_resolve_write.py +360 -0
- iopenpod-2.0.4/src/iPodDB/library/_resolved_write.py +36 -0
- iopenpod-2.0.4/src/iPodDB/library/_sidecar_projection.py +168 -0
- iopenpod-2.0.4/src/iPodDB/library/_smart_projection.py +332 -0
- iopenpod-2.0.4/src/iPodDB/library/_smart_writing.py +321 -0
- iopenpod-2.0.4/src/iPodDB/library/_source_warnings.py +87 -0
- iopenpod-2.0.4/src/iPodDB/library/_time_warnings.py +83 -0
- iopenpod-2.0.4/src/iPodDB/library/_track_header_verification.py +168 -0
- iopenpod-2.0.4/src/iPodDB/library/_track_verification.py +206 -0
- iopenpod-2.0.4/src/iPodDB/library/_track_writing.py +467 -0
- iopenpod-2.0.4/src/iPodDB/library/_write_analysis.py +415 -0
- iopenpod-2.0.4/src/iPodDB/library/_write_effects.py +363 -0
- iopenpod-2.0.4/src/iPodDB/library/_write_logging.py +201 -0
- iopenpod-2.0.4/src/iPodDB/library/_write_preparation.py +1052 -0
- iopenpod-2.0.4/src/iPodDB/library/_write_verification.py +147 -0
- iopenpod-2.0.4/src/iPodDB/library/artwork.py +112 -0
- iopenpod-2.0.4/src/iPodDB/library/database.py +414 -0
- iopenpod-2.0.4/src/iPodDB/library/editing.py +114 -0
- iopenpod-2.0.4/src/iPodDB/library/media.py +48 -0
- iopenpod-2.0.4/src/iPodDB/library/models.py +254 -0
- iopenpod-2.0.4/src/iPodDB/library/photos.py +285 -0
- iopenpod-2.0.4/src/iPodDB/library/playlists.py +437 -0
- iopenpod-2.0.4/src/iPodDB/library/signing.py +64 -0
- iopenpod-2.0.4/src/iPodDB/library/smart_rules.py +236 -0
- iopenpod-2.0.4/src/iPodDB/library/sqlite.py +5 -0
- iopenpod-2.0.4/src/iPodDB/library/writing.py +305 -0
- iopenpod-2.0.4/src/iPodDB/preferences/__init__.py +58 -0
- iopenpod-2.0.4/src/iPodDB/preferences/_source.py +9 -0
- iopenpod-2.0.4/src/iPodDB/preferences/codec.py +175 -0
- iopenpod-2.0.4/src/iPodDB/preferences/definitions.py +104 -0
- iopenpod-2.0.4/src/iPodDB/preferences/itunes.py +145 -0
- iopenpod-2.0.4/src/iPodDB/preferences/itunes_definitions.py +93 -0
- iopenpod-2.0.4/src/iPodDB/preferences/models.py +81 -0
- iopenpod-2.0.4/src/iPodDB/preferences/timezones.py +220 -0
- iopenpod-2.0.4/src/iPodDB/py.typed +0 -0
- iopenpod-2.0.4/src/iPodDB/shared/binary_struct.py +271 -0
- iopenpod-2.0.4/src/iPodDB/shared/chunk.py +408 -0
- iopenpod-2.0.4/src/iPodDB/shared/chunk_builder.py +46 -0
- iopenpod-2.0.4/src/iPodDB/shared/chunk_field.py +178 -0
- iopenpod-2.0.4/src/iPodDB/shared/chunk_reader.py +433 -0
- iopenpod-2.0.4/src/iPodDB/shared/chunk_writer.py +325 -0
- iopenpod-2.0.4/src/iPodDB/shared/errors.py +42 -0
- iopenpod-2.0.4/src/iPodDB/shared/measure_memory.py +107 -0
- iopenpod-2.0.4/src/iPodDB/shared/to_json.py +91 -0
- iopenpod-2.0.4/src/iPodDB/shared/types.py +377 -0
- iopenpod-2.0.4/src/iPodDB/sidecars/__init__.py +41 -0
- iopenpod-2.0.4/src/iPodDB/sidecars/codec.py +225 -0
- iopenpod-2.0.4/src/iPodDB/sidecars/models.py +63 -0
- iopenpod-2.0.4/src/iPodDB/sidecars/remapping.py +64 -0
- iopenpod-2.0.4/src/iPodDB/tools/chunk_browser.py +1051 -0
- iopenpod-2.0.4/src/iopenpod_launcher.py +283 -0
- iopenpod-2.0.4/src/iopenpod_update_helper.py +43 -0
- iopenpod-2.0.4/src/storage/__init__.py +177 -0
- iopenpod-2.0.4/src/storage/_filesystem.py +238 -0
- iopenpod-2.0.4/src/storage/_transaction_journal.py +242 -0
- iopenpod-2.0.4/src/storage/_transactions.py +1426 -0
- iopenpod-2.0.4/src/storage/_writer_lock.py +189 -0
- iopenpod-2.0.4/src/storage/device_capture.py +39 -0
- iopenpod-2.0.4/src/storage/errors.py +111 -0
- iopenpod-2.0.4/src/storage/host_capture.py +139 -0
- iopenpod-2.0.4/src/storage/host_directory.py +242 -0
- iopenpod-2.0.4/src/storage/host_files.py +221 -0
- iopenpod-2.0.4/src/storage/host_input.py +417 -0
- iopenpod-2.0.4/src/storage/host_installation.py +147 -0
- iopenpod-2.0.4/src/storage/host_tools.py +124 -0
- iopenpod-2.0.4/src/storage/host_usage.py +119 -0
- iopenpod-2.0.4/src/storage/media_probe.py +161 -0
- iopenpod-2.0.4/src/storage/media_processing.py +527 -0
- iopenpod-2.0.4/src/storage/models.py +364 -0
- iopenpod-2.0.4/src/storage/paths.py +97 -0
- iopenpod-2.0.4/src/storage/platform/__init__.py +1 -0
- iopenpod-2.0.4/src/storage/platform/base.py +58 -0
- iopenpod-2.0.4/src/storage/platform/common.py +88 -0
- iopenpod-2.0.4/src/storage/platform/host_install_windows.py +201 -0
- iopenpod-2.0.4/src/storage/platform/linux.py +619 -0
- iopenpod-2.0.4/src/storage/platform/linux_eject.py +392 -0
- iopenpod-2.0.4/src/storage/platform/macos.py +974 -0
- iopenpod-2.0.4/src/storage/platform/macos_eject.py +90 -0
- iopenpod-2.0.4/src/storage/platform/macos_volume_metadata.py +116 -0
- iopenpod-2.0.4/src/storage/platform/macos_vpd.py +546 -0
- iopenpod-2.0.4/src/storage/platform/native.py +29 -0
- iopenpod-2.0.4/src/storage/platform/windows.py +667 -0
- iopenpod-2.0.4/src/storage/platform/windows_eject.py +386 -0
- iopenpod-2.0.4/src/storage/portal.py +403 -0
- iopenpod-2.0.4/src/storage/py.typed +1 -0
- iopenpod-2.0.4/src/storage/scsi_vpd.py +127 -0
- iopenpod-2.0.4/src/storage/session.py +1626 -0
- iopenpod-2.0.4/src/storage/testing.py +282 -0
- iopenpod-2.0.4/src/storage/transactions.py +209 -0
- iopenpod-2.0.4/src/storage/volume_metadata.py +40 -0
- iopenpod-2.0.4/tests/README.md +5 -0
- iopenpod-2.0.4/tests/__init__.py +1 -0
- iopenpod-2.0.4/tests/conftest.py +9 -0
- iopenpod-2.0.4/tests/device_registry/test_artwork_profiles.py +68 -0
- iopenpod-2.0.4/tests/device_registry/test_authority.py +252 -0
- iopenpod-2.0.4/tests/device_registry/test_metadata.py +118 -0
- iopenpod-2.0.4/tests/device_registry/test_registry.py +391 -0
- iopenpod-2.0.4/tests/fixtures/ArtworkDB/README.md +18 -0
- iopenpod-2.0.4/tests/fixtures/ArtworkDB/original-empty.b64 +1 -0
- iopenpod-2.0.4/tests/fixtures/ArtworkDB/original-with-unknown-data.b64 +1 -0
- iopenpod-2.0.4/tests/fixtures/PhotosDB/README.md +13 -0
- iopenpod-2.0.4/tests/fixtures/PhotosDB/original-photo-library.b64 +1 -0
- iopenpod-2.0.4/tests/fixtures/SQLiteDB/README.md +8 -0
- iopenpod-2.0.4/tests/fixtures/iTunesDB/README.md +34 -0
- iopenpod-2.0.4/tests/fixtures/iTunesDB/original-empty.b64 +1 -0
- iopenpod-2.0.4/tests/fixtures/media/README.md +27 -0
- iopenpod-2.0.4/tests/fixtures/media/chapters-cover.m4a.b64 +53 -0
- iopenpod-2.0.4/tests/fixtures/media/generator.json +4 -0
- iopenpod-2.0.4/tests/fixtures/media/lossless.m4a.b64 +91 -0
- iopenpod-2.0.4/tests/fixtures/media/multi-track.m4v.b64 +111 -0
- iopenpod-2.0.4/tests/fixtures/media/multi-track.mov.b64 +117 -0
- iopenpod-2.0.4/tests/fixtures/media/silent.mp4.b64 +33 -0
- iopenpod-2.0.4/tests/fixtures/media/source.mkv.b64 +42 -0
- iopenpod-2.0.4/tests/fixtures/media/surround.flac.b64 +160 -0
- iopenpod-2.0.4/tests/fixtures/media/tone-vbr.mp3.b64 +44 -0
- iopenpod-2.0.4/tests/fixtures/media/tone.aiff.b64 +775 -0
- iopenpod-2.0.4/tests/fixtures/media/tone.m4a.b64 +40 -0
- iopenpod-2.0.4/tests/fixtures/media/tone.mp3.b64 +89 -0
- iopenpod-2.0.4/tests/fixtures/media/tone.wav.b64 +776 -0
- iopenpod-2.0.4/tests/fixtures/normalization/original-cases.json +512 -0
- iopenpod-2.0.4/tests/fixtures/writing/README.md +27 -0
- iopenpod-2.0.4/tests/fixtures/writing/hash58-original.json +22 -0
- iopenpod-2.0.4/tests/fixtures/writing/original_smart_rules.json +6 -0
- iopenpod-2.0.4/tests/fixtures/writing/playlists-original.json +11 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/application_shell_test_support.py +179 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/conftest.py +22 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_artwork_provider.py +121 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_collection_text.py +42 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_device_images.py +298 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_display.py +119 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_german_catalog.py +189 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_i18n_manager.py +91 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_icons.py +31 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_image_color.py +98 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_library_card.py +136 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_middle_mouse_scrolling.py +203 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_model_translations.py +223 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_photo_provider.py +270 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_round_header_colors.py +56 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_spanish_catalog.py +176 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_theme_manager.py +1036 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/presentation/test_translation_catalog.py +215 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_motion_phases.py +67 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_page.py +260 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_page_integration.py +357 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_persistent_world.py +285 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_render_resolution.py +121 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_renderer_assets.py +320 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_renderer_pixels.py +528 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_renderer_timing.py +271 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_scene_director.py +616 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/synesthesia/test_shader_smoothing.py +118 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_app_updates.py +202 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_application_shell.py +1820 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_artwork_editor.py +199 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_backup_messages.py +322 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_backup_page.py +847 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_browser_chrome.py +51 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_device_auto_refresh.py +145 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_eject_messages.py +79 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_eta_label.py +154 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_external_playlist_files_dialog.py +139 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_history_track_interactions.py +218 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_host_library_browser.py +179 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_host_media_drop.py +302 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_ipod_library_view_mode.py +276 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_ipod_preferences_tab.py +98 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_library_double_click.py +315 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_library_grid_drag.py +287 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_library_review_translations.py +165 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_library_track_order.py +190 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_media_folders_dialog.py +372 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_media_tools_dialog.py +238 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_media_tools_settings.py +163 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_metadata_actions.py +1156 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_page_count_translations.py +100 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_photo_grid.py +338 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_photo_page.py +1168 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_playback_lyrics.py +126 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_playback_ui.py +1285 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_playlist_page.py +1101 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_playlist_tree.py +464 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_podcast_page.py +1014 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_podcast_translations.py +140 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_queue_actions.py +229 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_scrobbling_ui.py +164 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_selection_grid_gestures.py +220 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_selection_group_grid.py +374 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_selection_group_transition.py +256 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_settings_tabs.py +274 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_status_list.py +339 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_collection_detail.py +568 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_execution_page.py +562 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_plan_page.py +676 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_playlist_review.py +179 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_recovery_choice.py +61 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_scan_i18n.py +39 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_selection_actions.py +464 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_settings.py +100 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_storage_bar.py +87 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_tag_normalizer.py +223 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_track_table.py +585 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_track_title_bar.py +196 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_widget_translations.py +549 -0
- iopenpod-2.0.4/tests/iOpenPod/GUI/test_workflow_failure_translations.py +76 -0
- iopenpod-2.0.4/tests/iOpenPod/__init__.py +1 -0
- iopenpod-2.0.4/tests/iOpenPod/app/backups/test_backup_service.py +707 -0
- iopenpod-2.0.4/tests/iOpenPod/app/backups/test_json.py +16 -0
- iopenpod-2.0.4/tests/iOpenPod/app/backups/test_original_import.py +420 -0
- iopenpod-2.0.4/tests/iOpenPod/app/backups/test_outcomes.py +407 -0
- iopenpod-2.0.4/tests/iOpenPod/app/backups/test_repository.py +725 -0
- iopenpod-2.0.4/tests/iOpenPod/app/backups/test_restore_recovery.py +256 -0
- iopenpod-2.0.4/tests/iOpenPod/app/core/settings/test_service.py +316 -0
- iopenpod-2.0.4/tests/iOpenPod/app/core/settings/test_transcoding_settings.py +123 -0
- iopenpod-2.0.4/tests/iOpenPod/app/core/test_eta.py +271 -0
- iopenpod-2.0.4/tests/iOpenPod/app/core/test_logging.py +54 -0
- iopenpod-2.0.4/tests/iOpenPod/app/core/test_status.py +208 -0
- iopenpod-2.0.4/tests/iOpenPod/app/media/test_music_paths.py +116 -0
- iopenpod-2.0.4/tests/iOpenPod/app/media/test_photo_sync.py +454 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_library_models.py +536 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_library_search_order.py +104 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_photo_album_drops.py +168 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_photo_models.py +308 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_playback_models.py +270 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_playlist_tree_model.py +244 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_podcast_list_models.py +100 -0
- iopenpod-2.0.4/tests/iOpenPod/app/models/test_selection_grouping.py +84 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/podcast_test_support.py +64 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_catalog.py +582 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_controller.py +459 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_documents.py +234 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_feed_client.py +279 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_podcast_artwork_controller.py +51 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_podcast_sync_artwork.py +93 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_store.py +107 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_sync.py +746 -0
- iopenpod-2.0.4/tests/iOpenPod/app/podcasts/test_sync_preparation.py +201 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_artwork_format_repair_save.py +57 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_device_coordinator.py +2158 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_device_time_integration.py +154 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_first_artwork_save.py +155 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_ipod_preferences_inspection.py +153 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_library_lyrics.py +203 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_library_resources.py +610 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_linux_identity.py +161 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_sidecar_reconciliation.py +377 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_sync_recovery.py +66 -0
- iopenpod-2.0.4/tests/iOpenPod/app/services/test_volume_presentation.py +487 -0
- iopenpod-2.0.4/tests/iOpenPod/app/sync_test_support.py +107 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/conftest.py +61 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_analysis_core.py +157 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_audio.py +78 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_backend.py +218 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_conductor_mapping.py +559 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_conductor_reliability.py +69 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_scene_calibration.py +302 -0
- iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/test_synesthesia_controller.py +526 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_app.py +41 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_artwork_controller.py +109 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_artwork_import.py +52 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_backup_controller.py +649 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_chaptered_conversion.py +294 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_device_controller.py +703 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_display_text.py +55 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_export_tagging.py +140 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_github_updates.py +216 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_host_media_fingerprint.py +218 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_host_media_folders.py +81 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_host_media_library.py +1209 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_host_metadata_tags.py +627 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_host_playlists.py +173 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_install_channel.py +102 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_library_export.py +409 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_library_export_controller.py +69 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_library_sync_helper.py +676 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_library_write_controller.py +1552 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_linux_system_media.py +433 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_lyrics_controller.py +131 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_lyrics_reader.py +63 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_macos_system_media.py +247 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_media_inspection.py +461 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_media_lyrics.py +193 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_media_tools_setup.py +281 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_metadata_editing.py +317 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_music_import.py +347 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_music_import_controller.py +243 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_photo_controller.py +319 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_photo_workspace.py +314 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_playback_controller.py +478 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_playback_runtime.py +65 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_playlist_workspace.py +636 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_podcast_now_playing.py +141 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_podcast_sync_execution.py +866 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_podcast_sync_fingerprints.py +276 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_podcast_sync_lifecycle.py +119 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_portable_updates.py +381 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_pypi_updates.py +273 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_python_installation.py +328 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_python_update_helper.py +484 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_qt_playback_backend.py +159 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_release_metadata.py +172 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling.py +598 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling_clients.py +328 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling_credentials.py +85 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling_sync.py +169 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling_timestamps.py +188 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_smart_playlist_preview.py +347 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_startup_imports.py +39 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_artwork.py +70 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_controller.py +548 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_execution.py +1915 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_plan.py +518 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_playback_policy.py +155 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_recovery_choices.py +363 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_recovery_detection.py +285 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_sync_storage.py +178 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_system_media_bridge.py +269 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_tag_normalization_controller.py +206 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_terminal_cleanup_selection.py +286 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_track_conversion.py +143 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_track_playback_policy.py +159 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_transcoding.py +551 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_update_bootstrap.py +88 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_update_processes.py +56 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_update_transport.py +70 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_updates.py +546 -0
- iopenpod-2.0.4/tests/iOpenPod/app/test_windows_system_media.py +428 -0
- iopenpod-2.0.4/tests/iOpenPod/lyrics_test_support.py +54 -0
- iopenpod-2.0.4/tests/iOpenPod/playback_test_support.py +126 -0
- iopenpod-2.0.4/tests/iOpenPod/test_host_scan_storage_boundary.py +276 -0
- iopenpod-2.0.4/tests/iOpenPod/test_library_boundary.py +30 -0
- iopenpod-2.0.4/tests/iPodDB/ArtworkDB/test_artwork_index.py +101 -0
- iopenpod-2.0.4/tests/iPodDB/ArtworkDB/test_auxiliary_mhod.py +51 -0
- iopenpod-2.0.4/tests/iPodDB/ArtworkDB/test_ithmb.py +305 -0
- iopenpod-2.0.4/tests/iPodDB/ArtworkDB/test_ithmb_writer.py +140 -0
- iopenpod-2.0.4/tests/iPodDB/ArtworkDB/test_parser.py +1146 -0
- iopenpod-2.0.4/tests/iPodDB/PhotosDB/test_photosdb.py +268 -0
- iopenpod-2.0.4/tests/iPodDB/SQLiteDB/test_database.py +563 -0
- iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_cdb.py +58 -0
- iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_definition_driven_parser.py +339 -0
- iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_device_time.py +15 -0
- iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_remaining_mhod_parsers.py +734 -0
- iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_signatures.py +91 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_album_index.py +255 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_album_write_regressions.py +243 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_artwork_creation.py +317 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_artwork_format_repair.py +315 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_artwork_native_verification.py +145 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_browse_relationships.py +455 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_device_time_context.py +285 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_library.py +534 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_lyrics_writing.py +145 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_media_content.py +256 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_media_lifecycle.py +194 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_media_replacement.py +449 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_models.py +28 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_occurrence_drafts.py +116 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_photos.py +520 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_playlist_datasets.py +703 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_playlists.py +555 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_resource_validation.py +214 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_sidecar_projection.py +192 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_signing.py +34 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_smart_writing.py +266 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_track_native_verification.py +401 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_video_flags.py +260 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_write_artwork.py +364 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_write_preservation.py +406 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_write_progress.py +131 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_write_relationships.py +309 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_write_resolution.py +382 -0
- iopenpod-2.0.4/tests/iPodDB/library/test_writing.py +517 -0
- iopenpod-2.0.4/tests/iPodDB/sidecars/test_playback_sidecars.py +59 -0
- iopenpod-2.0.4/tests/iPodDB/sidecars/test_sidecar_boundary.py +23 -0
- iopenpod-2.0.4/tests/iPodDB/sidecars/test_sidecar_readers.py +201 -0
- iopenpod-2.0.4/tests/iPodDB/test_binary_struct_definitions.py +118 -0
- iopenpod-2.0.4/tests/iPodDB/test_chunk_browser.py +50 -0
- iopenpod-2.0.4/tests/iPodDB/test_error_contracts.py +98 -0
- iopenpod-2.0.4/tests/iPodDB/test_itunes_preferences.py +232 -0
- iopenpod-2.0.4/tests/iPodDB/test_preferences.py +375 -0
- iopenpod-2.0.4/tests/iPodDB/test_type_contracts.py +139 -0
- iopenpod-2.0.4/tests/storage/test_device_capture.py +53 -0
- iopenpod-2.0.4/tests/storage/test_host_capture.py +132 -0
- iopenpod-2.0.4/tests/storage/test_host_directory.py +235 -0
- iopenpod-2.0.4/tests/storage/test_host_files.py +182 -0
- iopenpod-2.0.4/tests/storage/test_host_input.py +304 -0
- iopenpod-2.0.4/tests/storage/test_host_installation.py +76 -0
- iopenpod-2.0.4/tests/storage/test_host_tools.py +121 -0
- iopenpod-2.0.4/tests/storage/test_macos_kernel.py +556 -0
- iopenpod-2.0.4/tests/storage/test_media_processing.py +450 -0
- iopenpod-2.0.4/tests/storage/test_media_tool_environment.py +93 -0
- iopenpod-2.0.4/tests/storage/test_paths.py +88 -0
- iopenpod-2.0.4/tests/storage/test_platform_eject.py +209 -0
- iopenpod-2.0.4/tests/storage/test_platform_facts.py +366 -0
- iopenpod-2.0.4/tests/storage/test_platform_volume_metadata.py +163 -0
- iopenpod-2.0.4/tests/storage/test_portal.py +323 -0
- iopenpod-2.0.4/tests/storage/test_private_temp_paths.py +84 -0
- iopenpod-2.0.4/tests/storage/test_recovery.py +148 -0
- iopenpod-2.0.4/tests/storage/test_scsi_vpd.py +41 -0
- iopenpod-2.0.4/tests/storage/test_session.py +447 -0
- iopenpod-2.0.4/tests/storage/test_transaction_state.py +184 -0
- iopenpod-2.0.4/tests/storage/test_transactions.py +1197 -0
- iopenpod-2.0.4/tests/storage/test_volume_metadata.py +69 -0
- iopenpod-2.0.4/tests/storage/test_windows_volume_identity.py +122 -0
- iopenpod-2.0.4/tests/storage/test_writer_lock.py +33 -0
- iopenpod-2.0.4/tests/test_github_release.py +338 -0
- iopenpod-2.0.4/tests/test_main.py +58 -0
- iopenpod-2.0.4/tests/test_native_packaging_collection.py +125 -0
- iopenpod-2.0.4/tests/test_packaging.py +573 -0
- iopenpod-2.0.4/tests/test_prepare_release.py +129 -0
- iopenpod-2.0.4/tests/test_release_sources.py +78 -0
- iopenpod-2.0.4/tests/test_startup_logging.py +88 -0
- iopenpod-2.0.4/tests/test_store_kit.py +362 -0
- iopenpod-2.0.4/tests/test_update_publication.py +371 -0
- iopenpod-2.0.4/tests/website/check_seo.py +79 -0
- iopenpod-2.0.4/tests/website/navigation.cjs +63 -0
- iopenpod-2.0.4/tests/website/screenshot-viewer.cjs +118 -0
- iopenpod-2.0.4/uv.lock +2228 -0
- iopenpod-2.0.4/website/MacOS_Install_IMGS/macOS_Step1.webp +0 -0
- iopenpod-2.0.4/website/MacOS_Install_IMGS/macOS_Step2.webp +0 -0
- iopenpod-2.0.4/website/MacOS_Install_IMGS/macOS_Step3.webp +0 -0
- iopenpod-2.0.4/website/MacOS_Install_IMGS/macOS_Step4.webp +0 -0
- iopenpod-2.0.4/website/MacOS_Install_IMGS/macOS_Step5.webp +0 -0
- iopenpod-2.0.4/website/README.md +208 -0
- iopenpod-2.0.4/website/THEMES.md +121 -0
- iopenpod-2.0.4/website/_config.yml +41 -0
- iopenpod-2.0.4/website/_data/distribution.json +40 -0
- iopenpod-2.0.4/website/_data/faq.json +87 -0
- iopenpod-2.0.4/website/_includes/download-channel.html +12 -0
- iopenpod-2.0.4/website/_includes/platform-icon.html +17 -0
- iopenpod-2.0.4/website/_includes/product-footer.html +16 -0
- iopenpod-2.0.4/website/_includes/product-nav.html +15 -0
- iopenpod-2.0.4/website/_includes/product-shot.html +10 -0
- iopenpod-2.0.4/website/_includes/screenshot-viewer.html +14 -0
- iopenpod-2.0.4/website/_layouts/default.html +126 -0
- iopenpod-2.0.4/website/apple-touch-icon.png +0 -0
- iopenpod-2.0.4/website/favicon-16x16.png +0 -0
- iopenpod-2.0.4/website/favicon-32x32.png +0 -0
- iopenpod-2.0.4/website/favicon.ico +0 -0
- iopenpod-2.0.4/website/google9044a61ef03e1fae.html +1 -0
- iopenpod-2.0.4/website/index.html +215 -0
- iopenpod-2.0.4/website/install-help-redirect.html +18 -0
- iopenpod-2.0.4/website/install-help.html +125 -0
- iopenpod-2.0.4/website/iop2.css +882 -0
- iopenpod-2.0.4/website/iopenpod-icon-256.png +0 -0
- iopenpod-2.0.4/website/robots.txt +4 -0
- iopenpod-2.0.4/website/screenshot-viewer.js +63 -0
- iopenpod-2.0.4/website/screenshots/backups.webp +0 -0
- iopenpod-2.0.4/website/screenshots/hero.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/album-library.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/audio-transcoding-settings.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/backups.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/manifest.json +107 -0
- iopenpod-2.0.4/website/screenshots/iop2/media-folders.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/photo-albums.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/smart-playlist.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/sync-change-review.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/sync-media-selection.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/track-artwork.webp +0 -0
- iopenpod-2.0.4/website/screenshots/iop2/track-metadata.webp +0 -0
- iopenpod-2.0.4/website/screenshots/podcasts.webp +0 -0
- iopenpod-2.0.4/website/screenshots/settings.webp +0 -0
- iopenpod-2.0.4/website/screenshots/smartplaylists.webp +0 -0
- iopenpod-2.0.4/website/screenshots/syncmedia.webp +0 -0
- iopenpod-2.0.4/website/screenshots/syncreview.webp +0 -0
- iopenpod-2.0.4/website/screenshots/syncreview2.webp +0 -0
- iopenpod-2.0.4/website/screenshots/trackedits.webp +0 -0
- iopenpod-2.0.4/website/screenshots/trackedits2.webp +0 -0
- iopenpod-2.0.4/website/site.css +2027 -0
- iopenpod-2.0.4/website/site.min.css +1 -0
- iopenpod-2.0.4/website/site.min.js +1 -0
- iopenpod-2.0.4/website/theme.css +73 -0
- iopenpod-2.0.4/website/theme.js +96 -0
- iopenpod-2.0.4/website/theme.min.css +1 -0
- iopenpod-2.0.4/website/theme.min.js +1 -0
- iopenpod-2.0.4/website/tokens.css +82 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
end_of_line = lf
|
|
6
|
+
insert_final_newline = true
|
|
7
|
+
indent_style = space
|
|
8
|
+
indent_size = 4
|
|
9
|
+
max_line_length = 88
|
|
10
|
+
trim_trailing_whitespace = true
|
|
11
|
+
|
|
12
|
+
[*.{css,html,js,json,jsonc,yaml,yml}]
|
|
13
|
+
indent_size = 2
|
|
14
|
+
|
|
15
|
+
[*.md]
|
|
16
|
+
indent_size = 2
|
|
17
|
+
max_line_length = off
|
|
18
|
+
trim_trailing_whitespace = false
|
|
19
|
+
|
|
20
|
+
[Makefile]
|
|
21
|
+
indent_style = tab
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
* text=auto
|
|
2
|
+
|
|
3
|
+
*.py text eol=lf
|
|
4
|
+
*.pyi text eol=lf
|
|
5
|
+
*.toml text eol=lf
|
|
6
|
+
*.json text eol=lf
|
|
7
|
+
*.jsonc text eol=lf
|
|
8
|
+
*.md text eol=lf
|
|
9
|
+
*.yaml text eol=lf
|
|
10
|
+
*.yml text eol=lf
|
|
11
|
+
*.html text eol=lf
|
|
12
|
+
*.css text eol=lf
|
|
13
|
+
*.js text eol=lf
|
|
14
|
+
*.ts text eol=lf
|
|
15
|
+
|
|
16
|
+
*.ico binary
|
|
17
|
+
*.png binary
|
|
18
|
+
*.webp binary
|
|
19
|
+
*.qm binary
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report a bug with iOpenPod
|
|
4
|
+
title: "[Bug] "
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Describe the bug**
|
|
11
|
+
A clear description of what the bug is.
|
|
12
|
+
|
|
13
|
+
**iPod model**
|
|
14
|
+
e.g., iPod Classic 6th Gen (160GB), iPod Nano 3G
|
|
15
|
+
|
|
16
|
+
**To reproduce**
|
|
17
|
+
Steps to reproduce the behavior:
|
|
18
|
+
|
|
19
|
+
1. Go to '...'
|
|
20
|
+
2. Click on '...'
|
|
21
|
+
3. See error
|
|
22
|
+
|
|
23
|
+
**Expected behavior**
|
|
24
|
+
What you expected to happen.
|
|
25
|
+
|
|
26
|
+
**Screenshots / logs**
|
|
27
|
+
If applicable, add screenshots and attach `iopenpod.log`.
|
|
28
|
+
|
|
29
|
+
To find it in iOpenPod: open **Settings > Storage**, then click **Open** next to **Log Location**.
|
|
30
|
+
|
|
31
|
+
## Environment
|
|
32
|
+
|
|
33
|
+
- OS: [e.g., Windows 11, Ubuntu 24.04, macOS 15]
|
|
34
|
+
- Python version: [e.g., 3.13.1]
|
|
35
|
+
- iOpenPod version/commit: [e.g., v1.0.0 or commit hash]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Request
|
|
3
|
+
about: Suggest an idea for iOpenPod
|
|
4
|
+
title: "[Feature] "
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Is your feature request related to a problem?**
|
|
11
|
+
A clear description of the problem. e.g., "I'm frustrated when..."
|
|
12
|
+
|
|
13
|
+
**Describe the solution you'd like**
|
|
14
|
+
What you'd like to see happen.
|
|
15
|
+
|
|
16
|
+
**Describe alternatives you've considered**
|
|
17
|
+
Any alternative solutions or workarounds.
|
|
18
|
+
|
|
19
|
+
**Additional context**
|
|
20
|
+
Any other context, screenshots, or references.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Flatpak candidate
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: read
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
flatpak:
|
|
11
|
+
runs-on: ubuntu-24.04
|
|
12
|
+
timeout-minutes: 60
|
|
13
|
+
env:
|
|
14
|
+
QT_QPA_PLATFORM: offscreen
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: astral-sh/setup-uv@v6
|
|
18
|
+
with:
|
|
19
|
+
version: "0.12.7"
|
|
20
|
+
- name: Install build and desktop tools
|
|
21
|
+
run: |
|
|
22
|
+
sudo apt-get update
|
|
23
|
+
sudo apt-get install -y flatpak flatpak-builder appstream desktop-file-utils libegl1 libgl1 libdbus-1-3 libxkbcommon0 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libpulse0 libasound2t64
|
|
24
|
+
- run: uv sync --locked --managed-python --no-dev --group packaging
|
|
25
|
+
- run: uv run --no-sync python scripts/package_app.py freeze
|
|
26
|
+
- run: uv run --no-sync python scripts/package_app.py linux-stage
|
|
27
|
+
- name: Validate desktop metadata
|
|
28
|
+
run: |
|
|
29
|
+
desktop-file-validate packaging/linux/io.github.therealsavi.iOpenPod.desktop
|
|
30
|
+
appstreamcli validate --no-net packaging/linux/io.github.therealsavi.iOpenPod.metainfo.xml
|
|
31
|
+
- name: Install Flatpak SDK
|
|
32
|
+
run: |
|
|
33
|
+
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
34
|
+
flatpak install --user --noninteractive flathub org.freedesktop.Sdk//25.08 org.freedesktop.Platform//25.08
|
|
35
|
+
- name: Build and check local Flatpak candidate
|
|
36
|
+
run: |
|
|
37
|
+
flatpak-builder --user --install --force-clean --repo=build/flatpak-repo build/flatpak packaging/linux/flatpak.json
|
|
38
|
+
flatpak run --env=QT_QPA_PLATFORM=offscreen io.github.therealsavi.iOpenPod --smoke-test
|
|
39
|
+
flatpak build-bundle build/flatpak-repo dist/iOpenPod-Linux-x86_64.flatpak io.github.therealsavi.iOpenPod
|
|
40
|
+
sha256sum dist/iOpenPod-Linux-x86_64.flatpak > dist/iOpenPod-Linux-x86_64.flatpak.sha256
|
|
41
|
+
- uses: actions/upload-artifact@v4
|
|
42
|
+
with:
|
|
43
|
+
name: flatpak-candidate
|
|
44
|
+
if-no-files-found: error
|
|
45
|
+
path: dist/*.flatpak*
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: Health
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: read
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
quality:
|
|
11
|
+
# Qt 6.9's macOS stubs have known errors (ADR-0094). Keep one authoritative
|
|
12
|
+
# type check with Windows bindings, and test both Mac architectures below.
|
|
13
|
+
runs-on: windows-2022
|
|
14
|
+
timeout-minutes: 20
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: astral-sh/setup-uv@v6
|
|
18
|
+
with:
|
|
19
|
+
version: "0.12.7"
|
|
20
|
+
enable-cache: true
|
|
21
|
+
- run: uv sync --locked --managed-python
|
|
22
|
+
- run: uv lock --check
|
|
23
|
+
- run: uv run --no-sync ruff format --check .
|
|
24
|
+
- run: uv run --no-sync ruff check .
|
|
25
|
+
- run: uv run --no-sync rumdl check .
|
|
26
|
+
- run: uv run --no-sync mypy
|
|
27
|
+
|
|
28
|
+
health:
|
|
29
|
+
strategy:
|
|
30
|
+
fail-fast: false
|
|
31
|
+
matrix:
|
|
32
|
+
os: [windows-2022, macos-14, macos-15-intel, ubuntu-24.04]
|
|
33
|
+
runs-on: ${{ matrix.os }}
|
|
34
|
+
timeout-minutes: 45
|
|
35
|
+
env:
|
|
36
|
+
QT_QPA_PLATFORM: offscreen
|
|
37
|
+
steps:
|
|
38
|
+
- uses: actions/checkout@v4
|
|
39
|
+
|
|
40
|
+
- uses: astral-sh/setup-uv@v6
|
|
41
|
+
with:
|
|
42
|
+
version: "0.12.7"
|
|
43
|
+
enable-cache: true
|
|
44
|
+
|
|
45
|
+
- name: Install Linux system dependencies
|
|
46
|
+
if: runner.os == 'Linux'
|
|
47
|
+
run: |
|
|
48
|
+
sudo apt-get update
|
|
49
|
+
sudo apt-get install -y libegl1 libgl1 libdbus-1-3 libxkbcommon0 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libpulse0 libasound2t64 udev
|
|
50
|
+
|
|
51
|
+
- name: Install project and dev dependencies
|
|
52
|
+
if: runner.os != 'macOS'
|
|
53
|
+
run: uv sync --locked --managed-python --group packaging
|
|
54
|
+
|
|
55
|
+
- name: Install macOS environment for the declared deployment target
|
|
56
|
+
if: runner.os == 'macOS'
|
|
57
|
+
run: uv run --no-project --managed-python --python 3.12 python scripts/sync_macos_build.py --with-checks
|
|
58
|
+
|
|
59
|
+
- name: Test, including 1x/1.5x/2x display probes
|
|
60
|
+
run: uv run --no-sync pytest
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Build and deploy Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- "website/**"
|
|
8
|
+
- "tests/website/check_seo.py"
|
|
9
|
+
- ".github/workflows/pages.yml"
|
|
10
|
+
pull_request:
|
|
11
|
+
paths:
|
|
12
|
+
- "website/**"
|
|
13
|
+
- "tests/website/check_seo.py"
|
|
14
|
+
- ".github/workflows/pages.yml"
|
|
15
|
+
workflow_dispatch:
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: read
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: pages-${{ github.ref }}
|
|
22
|
+
cancel-in-progress: false
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
build:
|
|
26
|
+
runs-on: ubuntu-24.04
|
|
27
|
+
timeout-minutes: 10
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v4
|
|
30
|
+
- name: Configure Pages
|
|
31
|
+
if: github.event_name != 'pull_request'
|
|
32
|
+
uses: actions/configure-pages@v5
|
|
33
|
+
- name: Build website with Jekyll
|
|
34
|
+
uses: actions/jekyll-build-pages@v1
|
|
35
|
+
with:
|
|
36
|
+
source: ./website
|
|
37
|
+
destination: ./_site
|
|
38
|
+
- uses: astral-sh/setup-uv@v6
|
|
39
|
+
with:
|
|
40
|
+
version: "0.12.7"
|
|
41
|
+
- name: Check rendered FAQ and structured data
|
|
42
|
+
run: uv run --no-project --managed-python --python 3.12 python tests/website/check_seo.py _site
|
|
43
|
+
- uses: actions/upload-pages-artifact@v4
|
|
44
|
+
with:
|
|
45
|
+
path: ./_site
|
|
46
|
+
|
|
47
|
+
deploy:
|
|
48
|
+
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
|
|
49
|
+
needs: build
|
|
50
|
+
runs-on: ubuntu-24.04
|
|
51
|
+
timeout-minutes: 10
|
|
52
|
+
permissions:
|
|
53
|
+
pages: write
|
|
54
|
+
id-token: write
|
|
55
|
+
environment:
|
|
56
|
+
name: github-pages
|
|
57
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
58
|
+
steps:
|
|
59
|
+
- name: Deploy website
|
|
60
|
+
id: deployment
|
|
61
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
name: Build and release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
publish:
|
|
7
|
+
description: "Publish to GitHub and PyPI (on main, creates v<pyproject version> after checks pass)"
|
|
8
|
+
type: boolean
|
|
9
|
+
default: false
|
|
10
|
+
push:
|
|
11
|
+
tags: ["v*"]
|
|
12
|
+
pull_request:
|
|
13
|
+
paths:
|
|
14
|
+
- "packaging/**"
|
|
15
|
+
- "scripts/package_app.py"
|
|
16
|
+
- "scripts/package_updates.py"
|
|
17
|
+
- "scripts/update_feed.py"
|
|
18
|
+
- "scripts/publish_update_feed.py"
|
|
19
|
+
- "src/iOpenPod/app/updates/**"
|
|
20
|
+
- "src/iopenpod_update_helper.py"
|
|
21
|
+
- "src/storage/host_installation.py"
|
|
22
|
+
- "src/storage/host_usage.py"
|
|
23
|
+
- "src/storage/platform/host_install_windows.py"
|
|
24
|
+
- ".github/workflows/update-feed.yml"
|
|
25
|
+
- "scripts/check_wheel.py"
|
|
26
|
+
- "scripts/check_windows_bundle.py"
|
|
27
|
+
- "scripts/check_macos_bundle.py"
|
|
28
|
+
- "scripts/sync_macos_build.py"
|
|
29
|
+
- "scripts/build_windows_sndfile.py"
|
|
30
|
+
- "scripts/prepare_release_sources.py"
|
|
31
|
+
- "scripts/assemble_github_release.py"
|
|
32
|
+
- "scripts/prepare_release.py"
|
|
33
|
+
- "tests/test_github_release.py"
|
|
34
|
+
- "tests/test_prepare_release.py"
|
|
35
|
+
- "src/iopenpod_launcher.py"
|
|
36
|
+
- "src/iOpenPod/__main__.py"
|
|
37
|
+
- "src/iOpenPod/assets/**"
|
|
38
|
+
- "pyproject.toml"
|
|
39
|
+
- "uv.lock"
|
|
40
|
+
- "LICENSE"
|
|
41
|
+
- "COPYING.md"
|
|
42
|
+
- "ACKNOWLEDGEMENTS.md"
|
|
43
|
+
- "LICENSES/**"
|
|
44
|
+
- ".github/workflows/release.yml"
|
|
45
|
+
|
|
46
|
+
permissions:
|
|
47
|
+
contents: read
|
|
48
|
+
|
|
49
|
+
concurrency:
|
|
50
|
+
group: release-${{ github.ref }}
|
|
51
|
+
cancel-in-progress: false
|
|
52
|
+
|
|
53
|
+
jobs:
|
|
54
|
+
prepare:
|
|
55
|
+
runs-on: ubuntu-24.04
|
|
56
|
+
outputs:
|
|
57
|
+
tag: ${{ steps.release.outputs.tag }}
|
|
58
|
+
publish: ${{ steps.release.outputs.publish }}
|
|
59
|
+
create_tag: ${{ steps.release.outputs.create_tag }}
|
|
60
|
+
signed_updates: ${{ steps.updates.outputs.enabled }}
|
|
61
|
+
version: ${{ steps.updates.outputs.version }}
|
|
62
|
+
steps:
|
|
63
|
+
- uses: actions/checkout@v4
|
|
64
|
+
with:
|
|
65
|
+
fetch-depth: 0
|
|
66
|
+
- uses: astral-sh/setup-uv@v6
|
|
67
|
+
with:
|
|
68
|
+
version: "0.12.7"
|
|
69
|
+
- name: Validate release request and tag identity
|
|
70
|
+
id: release
|
|
71
|
+
env:
|
|
72
|
+
PUBLISH_RELEASE: ${{ inputs.publish || false }}
|
|
73
|
+
run: uv run --no-project --managed-python --python 3.12 python scripts/prepare_release.py
|
|
74
|
+
- name: Read committed update trust configuration
|
|
75
|
+
id: updates
|
|
76
|
+
run: |
|
|
77
|
+
uv run --no-project --managed-python --python 3.12 python -c 'import json,os,tomllib; from pathlib import Path; keys=json.loads(Path("packaging/update-keys.json").read_text())["public_keys"]; version=tomllib.loads(Path("pyproject.toml").read_text())["project"]["version"]; Path(os.environ["GITHUB_OUTPUT"]).write_text("enabled="+str(bool(keys)).lower()+"\nversion="+version+"\n")'
|
|
78
|
+
|
|
79
|
+
native:
|
|
80
|
+
needs: prepare
|
|
81
|
+
strategy:
|
|
82
|
+
fail-fast: false
|
|
83
|
+
matrix:
|
|
84
|
+
os: [windows-2022, macos-14, macos-15-intel, ubuntu-24.04]
|
|
85
|
+
runs-on: ${{ matrix.os }}
|
|
86
|
+
timeout-minutes: 60
|
|
87
|
+
env:
|
|
88
|
+
QT_QPA_PLATFORM: offscreen
|
|
89
|
+
steps:
|
|
90
|
+
- uses: actions/checkout@v4
|
|
91
|
+
- uses: astral-sh/setup-uv@v6
|
|
92
|
+
with:
|
|
93
|
+
version: "0.12.7"
|
|
94
|
+
enable-cache: true
|
|
95
|
+
- name: Install Linux desktop libraries
|
|
96
|
+
if: runner.os == 'Linux'
|
|
97
|
+
run: |
|
|
98
|
+
sudo apt-get update
|
|
99
|
+
sudo apt-get install -y libegl1 libgl1 libdbus-1-3 libxkbcommon0 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libpulse0 libasound2t64
|
|
100
|
+
- name: Install locked build environment
|
|
101
|
+
if: runner.os != 'macOS'
|
|
102
|
+
run: uv sync --locked --managed-python --no-dev --group packaging
|
|
103
|
+
- name: Install macOS environment for the declared deployment target
|
|
104
|
+
if: runner.os == 'macOS'
|
|
105
|
+
run: uv run --no-project --managed-python --python 3.12 python scripts/sync_macos_build.py
|
|
106
|
+
- name: Validate release tag before building
|
|
107
|
+
if: startsWith(github.ref, 'refs/tags/')
|
|
108
|
+
env:
|
|
109
|
+
RELEASE_TAG: ${{ github.ref_name }}
|
|
110
|
+
shell: bash
|
|
111
|
+
run: uv run --no-sync python scripts/package_app.py check-version "$RELEASE_TAG"
|
|
112
|
+
- name: Build Python distributions
|
|
113
|
+
run: uv build --no-build-isolation
|
|
114
|
+
- name: Check wheel payload and launcher
|
|
115
|
+
run: uv run --no-sync python scripts/check_wheel.py
|
|
116
|
+
- name: Build source-audited Windows audio library
|
|
117
|
+
if: runner.os == 'Windows'
|
|
118
|
+
run: uv run --no-sync python -m scripts.build_windows_sndfile
|
|
119
|
+
- name: Build unsigned native candidate
|
|
120
|
+
run: uv run --no-sync python scripts/package_app.py freeze
|
|
121
|
+
- name: Check the independent update helper
|
|
122
|
+
if: runner.os != 'macOS'
|
|
123
|
+
run: uv run --no-sync python -c "import subprocess,sys; from pathlib import Path; helper=Path('dist/iOpenPod-update'+('.exe' if sys.platform=='win32' else '')).resolve(); subprocess.run([str(helper),'--smoke-test'],check=True,timeout=120)"
|
|
124
|
+
- name: Check Windows executable manifest and payload
|
|
125
|
+
if: runner.os == 'Windows'
|
|
126
|
+
run: uv run --no-sync python scripts/check_windows_bundle.py
|
|
127
|
+
- name: Check every macOS native slice against the deployment target
|
|
128
|
+
if: runner.os == 'macOS'
|
|
129
|
+
run: uv run --no-sync python scripts/check_macos_bundle.py
|
|
130
|
+
- name: Check Windows bundle outside the checkout
|
|
131
|
+
if: runner.os == 'Windows'
|
|
132
|
+
shell: pwsh
|
|
133
|
+
run: |
|
|
134
|
+
$executable = (Resolve-Path dist/iOpenPod.exe).Path
|
|
135
|
+
$report = Join-Path $env:RUNNER_TEMP 'frozen-runtime.txt'
|
|
136
|
+
$arguments = '--smoke-test --smoke-test-report "' + $report + '"'
|
|
137
|
+
$process = Start-Process -FilePath $executable -ArgumentList $arguments -WorkingDirectory $env:RUNNER_TEMP -Wait -PassThru -WindowStyle Hidden
|
|
138
|
+
if (-not (Test-Path -LiteralPath $report)) { throw 'Frozen runtime check did not produce its report' }
|
|
139
|
+
Get-Content -LiteralPath $report
|
|
140
|
+
if ($process.ExitCode -ne 0) { throw "Frozen runtime check failed: $($process.ExitCode)" }
|
|
141
|
+
- name: Check macOS bundle outside the checkout
|
|
142
|
+
if: runner.os == 'macOS'
|
|
143
|
+
run: |
|
|
144
|
+
executable="$PWD/dist/iOpenPod.app/Contents/MacOS/iOpenPod"
|
|
145
|
+
cd "$RUNNER_TEMP"
|
|
146
|
+
"$executable" --smoke-test
|
|
147
|
+
- name: Check Linux bundle outside the checkout
|
|
148
|
+
if: runner.os == 'Linux'
|
|
149
|
+
run: |
|
|
150
|
+
executable="$PWD/dist/iOpenPod/iOpenPod"
|
|
151
|
+
cd "$RUNNER_TEMP"
|
|
152
|
+
"$executable" --smoke-test
|
|
153
|
+
- name: Archive candidate with SHA-256
|
|
154
|
+
run: uv run --no-sync python scripts/package_app.py archive
|
|
155
|
+
- name: Check macOS drag-to-Applications disk image
|
|
156
|
+
if: runner.os == 'macOS'
|
|
157
|
+
shell: bash
|
|
158
|
+
run: |
|
|
159
|
+
set -euo pipefail
|
|
160
|
+
shopt -s nullglob
|
|
161
|
+
images=(dist/iOpenPod-*-macOS-*.dmg)
|
|
162
|
+
test "${#images[@]}" -eq 1
|
|
163
|
+
mountpoint="$(mktemp -d "$RUNNER_TEMP/iopenpod-dmg.XXXXXX")"
|
|
164
|
+
cleanup() {
|
|
165
|
+
hdiutil detach "$mountpoint" >/dev/null 2>&1 || true
|
|
166
|
+
rmdir "$mountpoint" 2>/dev/null || true
|
|
167
|
+
}
|
|
168
|
+
trap cleanup EXIT
|
|
169
|
+
hdiutil attach -readonly -nobrowse -mountpoint "$mountpoint" "${images[0]}"
|
|
170
|
+
test -d "$mountpoint/iOpenPod.app"
|
|
171
|
+
test -L "$mountpoint/Applications"
|
|
172
|
+
test "$(readlink "$mountpoint/Applications")" = /Applications
|
|
173
|
+
test -s "$mountpoint/.DS_Store"
|
|
174
|
+
test -s "$mountpoint/.background/background.png"
|
|
175
|
+
cmp "$mountpoint/iOpenPod.app/Contents/MacOS/iOpenPod" dist/iOpenPod.app/Contents/MacOS/iOpenPod
|
|
176
|
+
codesign --verify --deep --strict "$mountpoint/iOpenPod.app"
|
|
177
|
+
- uses: actions/upload-artifact@v4
|
|
178
|
+
with:
|
|
179
|
+
name: candidate-${{ matrix.os }}
|
|
180
|
+
compression-level: 0
|
|
181
|
+
if-no-files-found: error
|
|
182
|
+
path: |
|
|
183
|
+
dist/*.zip
|
|
184
|
+
dist/*.dmg
|
|
185
|
+
dist/*.tar.gz
|
|
186
|
+
dist/*.whl
|
|
187
|
+
dist/*.sha256
|
|
188
|
+
build/packaging/licenses/inventory.json
|
|
189
|
+
build/packaging/macos-compatibility.json
|
|
190
|
+
|
|
191
|
+
publish:
|
|
192
|
+
if: needs.prepare.outputs.publish == 'true'
|
|
193
|
+
needs: [prepare, native]
|
|
194
|
+
runs-on: ubuntu-24.04
|
|
195
|
+
timeout-minutes: 60
|
|
196
|
+
permissions:
|
|
197
|
+
contents: write
|
|
198
|
+
env:
|
|
199
|
+
GH_TOKEN: ${{ github.token }}
|
|
200
|
+
RELEASE_TAG: ${{ needs.prepare.outputs.tag }}
|
|
201
|
+
steps:
|
|
202
|
+
- uses: actions/checkout@v4
|
|
203
|
+
- uses: astral-sh/setup-uv@v6
|
|
204
|
+
with:
|
|
205
|
+
version: "0.12.7"
|
|
206
|
+
- uses: actions/download-artifact@v4
|
|
207
|
+
with:
|
|
208
|
+
pattern: candidate-*
|
|
209
|
+
path: build/candidates
|
|
210
|
+
- name: Fetch and verify pinned upstream sources
|
|
211
|
+
run: uv run --no-project --managed-python --python 3.12 python scripts/prepare_release_sources.py --download
|
|
212
|
+
- name: Assemble and verify the complete release
|
|
213
|
+
run: uv run --no-project --managed-python --python 3.12 python -m scripts.assemble_github_release --tag "$RELEASE_TAG" --commit "$GITHUB_SHA"
|
|
214
|
+
- name: Retain checked Python distributions for PyPI
|
|
215
|
+
uses: actions/upload-artifact@v4
|
|
216
|
+
with:
|
|
217
|
+
name: pypi-distributions
|
|
218
|
+
if-no-files-found: error
|
|
219
|
+
path: |
|
|
220
|
+
release-assets/iopenpod-${{ needs.prepare.outputs.version }}-py3-none-any.whl
|
|
221
|
+
release-assets/iopenpod-${{ needs.prepare.outputs.version }}.tar.gz
|
|
222
|
+
- name: Retain supporting files as an Actions artifact
|
|
223
|
+
uses: actions/upload-artifact@v4
|
|
224
|
+
with:
|
|
225
|
+
name: release-supporting-files
|
|
226
|
+
compression-level: 0
|
|
227
|
+
if-no-files-found: error
|
|
228
|
+
path: |
|
|
229
|
+
release-assets/*
|
|
230
|
+
!release-assets/iOpenPod-*.zip
|
|
231
|
+
!release-assets/iOpenPod-*.dmg
|
|
232
|
+
!release-assets/iOpenPod-*-Linux-*.tar.gz
|
|
233
|
+
# GITHUB_TOKEN tag pushes do not trigger another workflow. Publish here,
|
|
234
|
+
# using the artifacts built and checked for this exact dispatch commit.
|
|
235
|
+
- name: Create the requested version tag after successful validation
|
|
236
|
+
if: needs.prepare.outputs.create_tag == 'true'
|
|
237
|
+
run: gh api --method POST "repos/$GITHUB_REPOSITORY/git/refs" -f "ref=refs/tags/$RELEASE_TAG" -f "sha=$GITHUB_SHA"
|
|
238
|
+
- name: Upload native archives before making the release public
|
|
239
|
+
run: |
|
|
240
|
+
test "$(gh api "repos/$GITHUB_REPOSITORY/commits/$RELEASE_TAG" --jq .sha)" = "$GITHUB_SHA"
|
|
241
|
+
gh release create "$RELEASE_TAG" --verify-tag --target "$GITHUB_SHA" --draft --title "iOpenPod $RELEASE_TAG" --generate-notes --notes-file packaging/github-release.md release-assets/iOpenPod-*.zip release-assets/iOpenPod-*.dmg release-assets/iOpenPod-*-Linux-*.tar.gz
|
|
242
|
+
gh release edit "$RELEASE_TAG" --draft=false --latest
|
|
243
|
+
|
|
244
|
+
publish-pypi:
|
|
245
|
+
needs: [prepare, publish]
|
|
246
|
+
if: needs.prepare.outputs.publish == 'true'
|
|
247
|
+
runs-on: ubuntu-24.04
|
|
248
|
+
timeout-minutes: 10
|
|
249
|
+
environment:
|
|
250
|
+
name: pypi
|
|
251
|
+
url: https://pypi.org/project/iOpenPod/
|
|
252
|
+
permissions:
|
|
253
|
+
id-token: write
|
|
254
|
+
steps:
|
|
255
|
+
- uses: astral-sh/setup-uv@v6
|
|
256
|
+
with:
|
|
257
|
+
version: "0.12.7"
|
|
258
|
+
enable-cache: false
|
|
259
|
+
- uses: actions/download-artifact@v4
|
|
260
|
+
with:
|
|
261
|
+
name: pypi-distributions
|
|
262
|
+
path: dist
|
|
263
|
+
# Reuse the assembled distributions; never rebuild under publish credentials.
|
|
264
|
+
# UV accepts already-published files only when their contents match exactly.
|
|
265
|
+
- name: Publish checked distributions to PyPI
|
|
266
|
+
run: uv publish --trusted-publishing always dist/*.whl dist/*.tar.gz
|
|
267
|
+
|
|
268
|
+
update-feed:
|
|
269
|
+
needs: [prepare, publish]
|
|
270
|
+
if: needs.prepare.outputs.signed_updates == 'true'
|
|
271
|
+
permissions:
|
|
272
|
+
contents: write
|
|
273
|
+
uses: ./.github/workflows/update-feed.yml
|
|
274
|
+
with:
|
|
275
|
+
version: ${{ needs.prepare.outputs.version }}
|
|
276
|
+
# The same-repository signing workflow declares its required key.
|
|
277
|
+
secrets: inherit
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Publish signed update feed
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
version:
|
|
7
|
+
description: "Published stable version, without v (also renews expiry)"
|
|
8
|
+
required: true
|
|
9
|
+
type: string
|
|
10
|
+
workflow_call:
|
|
11
|
+
inputs:
|
|
12
|
+
version:
|
|
13
|
+
required: true
|
|
14
|
+
type: string
|
|
15
|
+
secrets:
|
|
16
|
+
IOPENPOD_UPDATE_PRIVATE_KEY:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
permissions:
|
|
20
|
+
contents: write
|
|
21
|
+
|
|
22
|
+
concurrency:
|
|
23
|
+
group: signed-update-feed
|
|
24
|
+
cancel-in-progress: false
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
publish:
|
|
28
|
+
if: github.event_name != 'pull_request'
|
|
29
|
+
runs-on: macos-14
|
|
30
|
+
timeout-minutes: 30
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
- uses: astral-sh/setup-uv@v6
|
|
34
|
+
with:
|
|
35
|
+
version: "0.12.7"
|
|
36
|
+
- name: Install the locked release-signing environment
|
|
37
|
+
run: uv sync --locked --no-dev --group packaging
|
|
38
|
+
- name: Validate the requested version
|
|
39
|
+
env:
|
|
40
|
+
UPDATE_VERSION: ${{ inputs.version }}
|
|
41
|
+
run: uv run --no-sync python -c 'import os; from iOpenPod.app.updates.releases import version_tuple; version_tuple(os.environ["UPDATE_VERSION"])'
|
|
42
|
+
- name: Download the public native release assets
|
|
43
|
+
env:
|
|
44
|
+
GH_TOKEN: ${{ github.token }}
|
|
45
|
+
UPDATE_VERSION: ${{ inputs.version }}
|
|
46
|
+
run: |
|
|
47
|
+
gh release download "v$UPDATE_VERSION" --repo "$GITHUB_REPOSITORY" --dir build/update-archives --pattern "iOpenPod-$UPDATE_VERSION-*.zip"
|
|
48
|
+
gh release download "v$UPDATE_VERSION" --repo "$GITHUB_REPOSITORY" --dir build/update-archives --pattern "iOpenPod-$UPDATE_VERSION-*.tar.gz"
|
|
49
|
+
- name: Authenticate, sign, and publish the feeds atomically
|
|
50
|
+
env:
|
|
51
|
+
GH_TOKEN: ${{ github.token }}
|
|
52
|
+
UPDATE_VERSION: ${{ inputs.version }}
|
|
53
|
+
IOPENPOD_UPDATE_PRIVATE_KEY: ${{ secrets.IOPENPOD_UPDATE_PRIVATE_KEY }}
|
|
54
|
+
run: uv run --no-sync python -m scripts.publish_update_feed "$UPDATE_VERSION" build/update-archives build/signed-feed
|