This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

git-annex external special remote for Google Cloud Storage

Project Description

This is a git-annex external special remote that supports Google Cloud Storage (GCS).

Features

  • Supports Standard, Durable Reduced Availability, and Nearline storage classes.
  • Accesses Google Cloud Storage via a Google Cloud service account. Does not use the Google Cloud Storage Interoperability API.
  • Should support object sizes up to 5 TB.

Installing

pip install gcsannex

Configuring Google Cloud Storage

  1. Log into the Google Developers Console.
  2. Create a project if you don’t already have one. Remember its project ID.
  3. In the project’s settings, go to APIs & auth > Credentials.
  4. Click “Create new Client ID”, select “Service account”, then click “Create Client ID”.
  5. A credentials file will be downloaded to your computer. You will need this file when configuring gcsannex.

Adding a remote

git annex initremote <remotename> type=external externaltype=gcs encryption={none|shared|pubkey|hybrid} project=<gcs-project-id>

Set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path to your credentials file. This is only necessary when running initremote; afterward, git-annex will remember your credentials.

Mandatory settings

encryption
See the git-annex encryption documentation.
project
Your project ID from the Google developer console.

Optional settings

bucket
The bucket name, which must be globally unique within GCS. The default name is based on the remote name and UUID.
chunk
Enable chunking.
embedcreds
Set to yes to commit the login credentials to the Git repository so other clones can read them. When using GPG encryption, the default is yes and the credentials are stored encrypted. Otherwise, the default is no; if set to yes, anyone with access to the repo can also access the GCS bucket.
fileprefix
A string, such as mydata/, to be prepended to the name of each object. This allows a bucket to be shared by multiple remotes.
location
The physical location for the data. Can be any of the location strings supported by GCS, such as ASIA, EU, or US. Defaults to US.
public
If yes, newly-uploaded objects are made publicly readable. Defaults to no.
readonly
If set to true when enabling an existing public remote, files can be retrieved without GCS credentials and without gcsannex installed. Requires development version of git-annex.
storageclass
A storage class supported by GCS, such as STANDARD, DURABLE_REDUCED_AVAILABILITY, or NEARLINE. Defaults to STANDARD.

Release notes

Version 0.2

  • Time out stuck requests
  • Retry after more types of errors
  • Permit encrypted public remotes
  • Support showing public URLs in git annex whereis
  • Improve compatibility with git-annex < 5.20141219
  • Properly accept implicit encryption=hybrid

Version 0.1

  • Initial release
Release History

Release History

This version
History Node

0.2

History Node

0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
gcsannex-0.2-py2-none-any.whl (10.5 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Aug 21, 2015
gcsannex-0.2.tar.gz (21.6 kB) Copy SHA256 Checksum SHA256 Source Aug 21, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting