archivematica-architectural-decisions

Use AMClient (Archivematica API Client) for API calls in Archivematica

Context and problem statement

Artefactual have been working on a client application to provide easier access to the functions exposed by the Archivematica Application Programming Interface (API). This application is called AMClient. The application also acts as a Python library which makes it easier to make Archivematica specific API calls in code. The library was released as a Python package early in 2019.

Decision drivers

Considered options

  1. Continue to make calls to the Archivematica API via low-level Python HTTP request libraries.
  2. Replace low-level calls with a single consistent approach across the Archivematica code-base, i.e. use AMClient.

Decision outcome

Option 2. The AMClient library helps us to create consistency across the Archivematica code-base. It is already widely used in the default Automation Tools, and Archivematica Automated Acceptance Tests (AMAUAT).

Positive consequences

Negative consequences