Skip to main content

Python Client for Datastore APIs

Project description

#Datastore Client

Project TCT图像与信息存储数据库 Datastore python版Client

##示例

if __name__ == "__main__":
    #test code
    #this test code shows that:
    #   crate a lot of raw datas
    #   upload them to datastore
    #   gather them togher to create a dataset name 'L-in-H'
    #   and query them out in tow style
    log.getLogger().setLevel(log.INFO)

    #DataStore Client, next coming: DataStore Command Line Tools
    client = Client(
        graphql_entrance = 'http://127.0.0.1:8080',
        minio_entrance = '127.0.0.1:9001',
        graphql_path="/v1/graphql/",
        minio_secure=False,
        download_path='./test_data'
    )
    

    for i in range(20):
        with open('./test_data/test{}.txt'.format(i), 'w+') as f:
            import random
            f.write(str('hi'))

    raws = client.raw.create('./test_data/', metadata={
        'bucket': 'raws', #the name of the bucket
        'source': 'tell me more detail where this object come from!',
        'class_tree': {
            'big_image': 'HSIL',
            'cell': 'LSIL',
            'instance': 'independent'
            },
        'hi':'this is a test, you can add any key you want',
        'but': 'every resources has a prototype keys that you must contains'
        }
    )

    err, dataset = client.dataset.create(name='L-in-H', metadata={
        "note": 'this dataset contains all the LSIL cell from HSIL big image'
        })

    err, dataset_with_raws = client.dataset.add_raws(
        dataset=dataset,
        resources=raws
        )

    err, raws = client.raw.query("""
        {
            dataset_id: {
                _eq: 1
            }
        }
        """)

    err, res = client.queryer.query(
        """
        {
          data_raw(where: {metadata: {_contains: {class_tree: {cell: "LSIL"}}}, tag: {_eq: "latest"}}, distinct_on: id) {
            id
            metadata
            tag
            version
            url
            name
          }
        }
        """
        )
    raws = res['data']['data_raw']
    print(client.downloader.download(raws))

    for i in range(20):
        os.remove('test_data/test{}.txt'.format(i))

##Package Document

使用python函数 help(object)查看文档

##Datastore API Reference

请参阅在线文档

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

DatastoreClient-0.0.8.tar.gz (9.2 kB view details)

Uploaded Source

File details

Details for the file DatastoreClient-0.0.8.tar.gz.

File metadata

  • Download URL: DatastoreClient-0.0.8.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for DatastoreClient-0.0.8.tar.gz
Algorithm Hash digest
SHA256 af9a15f56048d8455646f47a558f076640a5b4aee6f94ac00197208e16997d0f
MD5 a2be66cd2bf714b48ce9d4f59030e1ac
BLAKE2b-256 db1bbed4700f015e5c8b43ca069748822a1726c1a9318212948e9f8f8515943d

See more details on using hashes here.

Supported by

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