Python idiomatic client for Google Cloud Platform services.
This client supports the following Google Cloud Platform services:
If you need support for other Google APIs, check out the Google APIs Python Client library.
$ pip install gcloud
- gcloud-python-expenses-demo - A sample expenses demo using Cloud Datastore and Cloud Storage
Google Cloud Datastore (Datastore API docs) is a fully managed, schemaless database for storing non-relational data. Cloud Datastore automatically scales with your users and supports ACID transactions, high availability of reads and writes, strong consistency for reads and ancestor queries, and eventual consistency for all other queries.
See the gcloud-python
API datastore documentation to learn how to
interact with the Cloud Datastore using this Client Library.
See the official Google Cloud Datastore documentation for more details on how to activate Cloud Datastore for your project.
from gcloud import datastore
# Create, populate and persist an entity
entity = datastore.Entity(key=datastore.Key('EntityKind'))
entity.update({
'foo': u'bar',
'baz': 1337,
'qux': False,
})
# Then query for entities
query = datastore.Query(kind='EntityKind')
for result in query.fetch():
print result
Google Cloud Storage (Storage API docs) allows you to store data on Google infrastructure with very high reliability, performance and availability, and can be used to distribute large data objects to users via direct download.
See the gcloud-python
API storage documentation to learn how to connect
to Cloud Storage using this Client Library.
You need to create a Google Cloud Storage bucket to use this client library. Follow along with the official Google Cloud Storage documentation to learn how to create a bucket.
from gcloud import storage
client = storage.Client()
bucket = client.get_bucket('bucket-id-here')
# Then do other things...
blob = bucket.get_blob('/remote/path/to/file.txt')
print blob.download_as_string()
blob.upload_from_string('New contents!')
blob2 = bucket.blob('/remote/path/storage.txt')
blob2.upload_from_filename(filename='/local/path.txt')
Contributions to this library are always welcome and highly encouraged.
See CONTRIBUTING for more information on how to get started.
We support Python 2.6 and Python 2.7 and plan to support Python 3.3 and
Python 3.4. For more information, see Supported Python Versions in
CONTRIBUTING
.
This library follows Semantic Versioning.
It is currently in major version zero (0.y.z
), which means that anything
may change at any time and the public API should not be considered
stable.
Apache 2.0 - See LICENSE for more information.