Archivematica Tools

Tools for working with data in an instance of Archivematica

Install

pip install archivematica_tools

How to use

See the documentation for full details of the Archivematica API Client.

from dotenv import load_dotenv
import os
load_dotenv(override=True)

dashboard_url = os.environ.get("DASHBOARD_URL")
dashboard_username = os.environ.get("DASHBOARD_USERNAME")
dashboard_api_key = os.environ.get("DASHBOARD_API_KEY")

storage_service_url = os.environ.get("STORAGE_SERVICE_URL")
storage_service_username = os.environ.get("STORAGE_SERVICE_USERNAME")
storage_service_password = os.environ.get("STORAGE_SERVICE_PASSWORD")
client = ArchivematicaAPIClient(dashboard_url, dashboard_username, dashboard_api_key, storage_service_url, storage_service_username, storage_service_password)

Transfer

transfer_UUID = client.v2beta_package("standard", "", "bfe37714-61c2-432e-b375-af9253e114da", "/home/archivematica/archivematica-sampledata/SampleTransfers/DemoTransferCSV", "transfer v2 demo", "automated")
transfer_UUID
'42cb1fb3-e6c5-403d-b7d9-57180746d52b'

Delete transfers

res_transfer_completed = client.transfer_completed()
res_transfer_completed
{'results': ['c0e3d7e5-217c-4d01-a4f4-6a9539d148b7'],
 'message': 'Fetched completed transfers successfully.'}
res_transfer_delete = client.transfer_delete(res_transfer_completed["results"])
res_transfer_delete
[{'removed': True}]

Ingest

Delete ingests

res_ingest_completed = client.ingest_completed()
res_ingest_completed
{'results': ['a6a9f4fb-0499-423a-8a05-fcaa5896ad5d'],
 'message': 'Fetched completed ingests successfully.'}
res_ingest_delete = client.ingest_delete(res_ingest_completed["results"])
res_ingest_delete
[{'removed': True}]

Storage Service

Package

# res_v2_file = client.v2_file(size=100)
# res_v2_file
pipeline = "628f82bd-4ec2-4643-b85d-fd8e1db84c27"
user_id = 1
user_email = "test@test.com"
event_reason = "demo"
'''
fileUUIDs = []
for objct in res_v2_file["objects"]:
    fileUUIDs.append(objct["uuid"])

# res_v2_file_delete = client.v2_file_delete_aip(fileUUIDs, event_reason, pipeline, user_id, user_email)
# res_v2_file_delete
'''
'''
fileUUIDs = []
for objct in res_v2_file["objects"]:
    fileUUIDs.append(objct["uuid"])

res_v2_file_delete = client.v2_file_delete(fileUUIDs)
res_v2_file_delete
'''
'\nfileUUIDs = []\nfor objct in res_v2_file["objects"]:\n    fileUUIDs.append(objct["uuid"])\n\nres_v2_file_delete = client.v2_file_delete(fileUUIDs)\nres_v2_file_delete\n'

See the documentation for more examples.


Created by Satoru Nakamura.