Skip to main content

A Python library to interact with ASTR servers.

Project description

# lib-python-astr

[![PyPI version](https://badge.fury.io/py/libastr.svg)](https://badge.fury.io/py/libastr)
[![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](https://opensource.org/licenses/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](http://virtualenvwrapper.readthedocs.io/en/latest/):
```
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)

```python
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

```python
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()
```


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libastr-1.1.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

libastr-1.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file libastr-1.1.0.tar.gz.

File metadata

  • Download URL: libastr-1.1.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.9.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

File hashes

Hashes for libastr-1.1.0.tar.gz
Algorithm Hash digest
SHA256 458331c0ba7f50cb4bcf52a1f12553d3c6f085ad35cfed43b070605b8b51a328
MD5 7ed91857e0020cca4640d1187d0fe892
BLAKE2b-256 7e6b374fef3dbf453dcd69fcc068f35ef5e6365027eb22b3c27d25568fa17148

See more details on using hashes here.

File details

Details for the file libastr-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: libastr-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.9.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

File hashes

Hashes for libastr-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adcb80d352f0d765acb74941f6f9e7879ffefaede2b4e7fc087b2239b07b156f
MD5 2efbaab83a6c03f1ef80941c6578e782
BLAKE2b-256 57b0b578bae3b0c8c6c8bf4f355d36ef100e90f5abfbb98e976cb34cd174d914

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page