Synology APM Repository SDKΒΆ
Offline, read-only Python SDK for Synology APV/Object-Storage dedup repository formats.
Installation
pip install synology-apm-repo-sdk
Quick start
import asyncio
from synology_apm_repo.sdk import Session
async def main():
async with Session() as session:
async for repo in session.discover("/path/to/repository"):
if repo.is_encrypted:
verification = await repo.set_key("<userKeyID>@<base64 userKey>")
if not verification.ok:
print(f"wrong key for {repo}")
continue
for catalog in await repo.catalogs():
for workload in await catalog.workloads():
print(workload.display_name)
asyncio.run(main())
Repository & catalog
- synology_apm_repo.sdk.api.repository module
- synology_apm_repo.sdk.api.key_manager module
- synology_apm_repo.sdk.api.catalog module
- synology_apm_repo.sdk.api.session module
- synology_apm_repo.sdk.diagnostics module
- synology_apm_repo.sdk.catalog.connection module
- synology_apm_repo.sdk.catalog.workload module
- synology_apm_repo.sdk.catalog.version module
- synology_apm_repo.sdk.catalog.workload_config module
- synology_apm_repo.sdk.errors module
ApmRepoErrorFormatErrorDataCorruptErrorUnsupportedVersionErrorChunkCompactedErrorKeyMaterialErrorKeyRequiredErrorKeyMismatchErrorNotFoundErrorContentUnavailableErrorPermissionDeniedErrorUnsupportedDataFormatErrorProfileNotFoundErrorProfileConfigCorruptErrorProfileSecretBackendUnavailableError
- synology_apm_repo.sdk.identifiers module
- synology_apm_repo.sdk.asynccache module
- synology_apm_repo.sdk.concurrency module
Dedup engine
- synology_apm_repo.sdk.dedup.repository module
- synology_apm_repo.sdk.dedup.dedup_file module
- synology_apm_repo.sdk.dedup.composition_reader module
- synology_apm_repo.sdk.dedup.chunk_walk module
- synology_apm_repo.sdk.dedup.pool package
- synology_apm_repo.sdk.dedup.pool_descriptor module
- synology_apm_repo.sdk.dedup.export_scheduler module
- synology_apm_repo.sdk.dedup.presized_file module
- synology_apm_repo.sdk.dedup.fingerprint module
- synology_apm_repo.sdk.dedup.keys module
- synology_apm_repo.sdk.dedup.verify_checks module
- synology_apm_repo.sdk.dedup.verify_report module
On-disk format primitives
- synology_apm_repo.sdk.format.repo_info module
- synology_apm_repo.sdk.format.repo_transaction module
- synology_apm_repo.sdk.format.bucket module
COMPRESS_TYPE_BY_VALUECOMPRESS_TYPE_COMPACTED_VALUEBucketFileHeaderparse_bucket_header()SizeStoreEntrychunk_size_store_tight_length()parse_size_store()ChunkLocatorchunk_locators()raw_chunk_arrays()expected_bucket_size()chunk_crc_store_region()chunk_crc_store_index()chunk_crc_store_positions()parse_chunk_crc_store()
- synology_apm_repo.sdk.format.composition module
- synology_apm_repo.sdk.format.chunkmap module
- synology_apm_repo.sdk.format.addressing module
- synology_apm_repo.sdk.format.headers module
- synology_apm_repo.sdk.format.compression module
- synology_apm_repo.sdk.format.crypto module
- synology_apm_repo.sdk.format.redundancy module
- synology_apm_repo.sdk.format.const module
Storage backends
- synology_apm_repo.sdk.storage.base module
- synology_apm_repo.sdk.storage.store_descriptor module
- synology_apm_repo.sdk.storage.local module
- synology_apm_repo.sdk.storage.s3 module
- synology_apm_repo.sdk.storage.azure module
- synology_apm_repo.sdk.storage.smb module
- synology_apm_repo.sdk.storage.prefix_listing module
- synology_apm_repo.sdk.storage.layout module
- synology_apm_repo.sdk.storage.sqlite module
- synology_apm_repo.sdk.storage.sqlite_source module
- synology_apm_repo.sdk.storage.table module
- synology_apm_repo.sdk.storage.generations module
- synology_apm_repo.sdk.storage.recording module
- synology_apm_repo.sdk.storage.dircache module
- synology_apm_repo.sdk.storage.seqid module
Restorable units
- synology_apm_repo.sdk.units.base module
UnitKindFileStateContentSourceNodenode_file_state()node_modified_time()node_leaf_kind()node_kind_label()mtime_from_epoch()mtime_attr()mtime_attrs()RestorableUnitdiagnostic_node()node_is_diagnostic()not_restorable()dir_first_sort_key()dir_first_order_by()disk_fs_containers_before_leaves()paginate()UnitProviderClosableUnitProviderSupportsDirectRefLookup
- synology_apm_repo.sdk.units.dispatch module
- synology_apm_repo.sdk.units.fs module
- synology_apm_repo.sdk.units.device module
- synology_apm_repo.sdk.units.device_pcps module
- synology_apm_repo.sdk.units.device_disk_fs module
- synology_apm_repo.sdk.units.device_kind module
- synology_apm_repo.sdk.units.node_ref module
- synology_apm_repo.sdk.units.resolve module
- synology_apm_repo.sdk.units.file_map_tree module
- synology_apm_repo.sdk.units.verify_reachable module
- synology_apm_repo.sdk.units.verify_extents module
- synology_apm_repo.sdk.units.verify_bucket_check module
Content Layer (units/content/)
- synology_apm_repo.sdk.units.content.disk_fs package
- synology_apm_repo.sdk.units.content.pcps_disk module
- synology_apm_repo.sdk.units.content.saas_artifact module
- synology_apm_repo.sdk.units.content.saas_mail module
- synology_apm_repo.sdk.units.content.saas_calendar module
- synology_apm_repo.sdk.units.content.saas_contact module
- synology_apm_repo.sdk.units.content.saas_site module
- synology_apm_repo.sdk.units.content.saas_teams_chat module
SaaS workloads (M365 / GWS)
- synology_apm_repo.sdk.units.saas.provider module
- synology_apm_repo.sdk.units.saas.composite_provider module
- synology_apm_repo.sdk.units.saas.stream module
- synology_apm_repo.sdk.units.saas.tree_strategy.synthetic_grouped module
- synology_apm_repo.sdk.units.saas.tree_strategy.named_group_flat module
- synology_apm_repo.sdk.units.saas.tree_strategy.recursive module
- synology_apm_repo.sdk.units.saas.tree_strategy.named_group_recursive module
- synology_apm_repo.sdk.units.saas.tree_strategy.recursive_group_flat module
- synology_apm_repo.sdk.units.saas.tree_strategy.categorized module
- synology_apm_repo.sdk.units.saas.mail module
- synology_apm_repo.sdk.units.saas.calendar module
- synology_apm_repo.sdk.units.saas.contact module
- synology_apm_repo.sdk.units.saas.drive module
- synology_apm_repo.sdk.units.saas.site module
- synology_apm_repo.sdk.units.saas.teams_chat module
- synology_apm_repo.sdk.units.saas.services module
- synology_apm_repo.sdk.units.saas.raw_object module
- synology_apm_repo.sdk.units.saas.objectdb module
- synology_apm_repo.sdk.units.saas.object_name_index module
Profiles & presentation
- synology_apm_repo.sdk.profiles package
AzureProfileConfigBackendKindProfileProfileFieldSpecProfileSummaryS3ProfileConfigSmbProfileConfigbuild_store()client_kwargs_with_secrets()config_from_fields()delete_profile()form_fields_for()get_profile()list_profiles()list_profiles_full()list_remote_items()load_profile()save_profile()store_from_config()- Submodules
- synology_apm_repo.sdk.presentation.format module
- synology_apm_repo.sdk.presentation.progress module
- synology_apm_repo.sdk.presentation.markup module
- synology_apm_repo.sdk.presentation.icons module
- synology_apm_repo.sdk.presentation.logging_setup module
- synology_apm_repo.sdk.presentation.export_target module