Skip to content
No description, website, or topics provided.
Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
libastr
.gitignore
CHANGELOG.md
LICENSE
README.md
setup.py

README.md

lib-python-astr

PyPI version License: MPL 2.0

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Purpose

Libastr is a Python3 library designed to ease python scripting with the API of A.S.T.R. (Archiving System Truly RESTful). It includes multiple features like browsing, downloading and uploading archives.

Installation

  1. Git clone the repository.

  2. Install the library with pip. It is advised to use virtualenv:

    pip install lib-python-astr
    

Configuration

To communicate with the ASTR server, three parameters must be given to the an instance of the class AstrClient:

  • base_url: ASTR instance base url (e.g. http://my-astr-server:8000)
  • email: a user email
  • token: a token of this user (to be generated on the website)
from libastr import AstrClient
client = AstrClient(base_url, email, token)

Or, to avoid giving all these parameters manually, they can be stored in environment variables:

export LIBASTR_URL='http://my-astr-server:8000'
export LIBASTR_EMAIL='john.doe@my-email.com'
export LIBASTR_TOKEN='b4b71bf6-a3dd-4975-85b8-03de05096fc0'

Then, if you make an instance of AstrClient without giving arguments, it will fetch these environment variables by default.

Basic usage

from libastr import Browser

# If you use environment variables to connect to the server...
browser = Browser()
# Or if yo use custom variables...
from libastr import AstrClient
client = AstrClient(base_url, email, token)
browser = Browser(client)

# Retrieve some archives
my_archives = browser.get_archives_by_args(
                               author="John DOE",
                               category="MY CATEGORY",
                               descriptors={"my_desc": "MY VALUE"})

# download an archive
my_archives[0].download(local_path="/home/john.doe/Documents/")

# Retrieve all categories
cat = browser.get_all_archive_categories()

# Get descriptors of one category
cat[0].get_descriptors()
You can’t perform that action at this time.