Package: agentarchives
agentarchivesClients to retrieve, add, and modify records from archival management systems.InstallationAgentarchives is onPyPI!pip install agentarchivesOr you can install it directly from gitpip install git+https://github.com/artefactual-labs/agentarchives.gitDependency issue on MacOsAgentarchvies depends on themysqlclientpackage which has abugwhich can possibly fail an install when using homebrew on MacOs computers. A solution suggested on the mysqlclient site is to changemysql_configon or about line 112:# Create options
libs="-L$pkglibdir"
libs="$libs -l "to# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"See also thisblog.UsageThis library can be used to interact withArchivists Toolkit,ArchivesSpace, andAccess To Memory (AtoM).ArchivesSpaceFirst, you need to import the module in your Python script:fromagentarchivesimportarchivesspaceThen, initiate a new client, passing in the URL, user name, password, port and repository for your AS instance:client=archivesspace.ArchivesSpaceClient('http://localhost','admin','admin',8089,2)Using your client, call one of the included functions (documented inclient.py). For example, the following:$ resource = client.get_record('/repositories/2/resources/1')
$ print resourcewill return:{"classifications":[],"create_time":"2015-11-17T00:23:19Z","created_by":"admin","dates":[{"create_time":"2015-11-17T00:23:19Z","created_by":"admin","date_type":"bulk","expression":"maybe 1999","jsonmodel_type":"date","label":"creation","last_modified_by":"admin","lock_version":0,"system_mtime":"2015-11-17T00:23:19Z","user_mtime":"2015-11-17T00:23:19Z"}],"deaccessions":[],"extents":[{"create_time":"2015-11-17T00:23:19Z","created_by":"admin","extent_type":"cassettes","jsonmodel_type":"extent","last_modified_by":"admin","lock_version":0,"number":"1","portion":"whole","system_mtime":"2015-11-17T00:23:19Z","user_mtime":"2015-11-17T00:23:19Z"}],"external_documents":[],"external_ids":[],"id_0":"blah","instances":[],"jsonmodel_type":"resource","language":"aar","last_modified_by":"admin","level":"collection","linked_agents":[],"linked_events":[],"lock_version":0,"notes":[],"publish":false,"related_accessions":[],"repository":{"ref":"/repositories/2"},"restrictions":false,"revision_statements":[],"rights_statements":[],"subjects":[],"suppressed":false,"system_mtime":"2015-11-17T00:23:19   Z","title":"blah","tree":{"ref":"/repositories/2/resources/1/tree"},"uri":"/repositories/2/resources/1","user_mtime":"2015-11-17T00:23:19   Z"}Access To Memory (AtoM)First, you need to import the module in your Python script:fromagentarchivesimportatomThen, initiate a new client, passing in the URL, REST API access token, password, and port for your AtoM instance:client=atom.AtomClient('http://localhost','68405800c6612599',80)Using your client, call one of the included functions (documented inclient.py). For example, the following:$ resource = client.get_record('test-fonds')
$ print resourceWill return:{"dates":[{"begin":"2014-01-01","end":"2015-01-01","type":"Creation"}],"level_of_description":"Fonds","notes":[{"content":"Note content","type":"general"}],"publication_status":"Draft","reference_code":"F2","title":"Test fonds"}Current AtoM client limitations (versus the ArchivesSpace client):Identifier wildcard search not supportedCreation of multiple notes not supportedNested digital objects not supportedThe ability to add/list notes with no content isn't supported