{"id":28401892,"url":"https://github.com/griddb/griddb_client","last_synced_at":"2025-06-28T21:31:35.446Z","repository":{"id":57436027,"uuid":"92711209","full_name":"griddb/griddb_client","owner":"griddb","description":"GridDB Client (Python, Ruby)","archived":false,"fork":false,"pushed_at":"2019-03-28T09:20:52.000Z","size":245,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-08T13:50:07.659Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/griddb.png","metadata":{"files":{"readme":"README-OLD.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-29T06:02:49.000Z","updated_at":"2019-03-28T09:20:54.000Z","dependencies_parsed_at":"2022-09-19T07:00:28.079Z","dependency_job_id":null,"html_url":"https://github.com/griddb/griddb_client","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/griddb/griddb_client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgriddb_client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgriddb_client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgriddb_client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgriddb_client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/griddb","download_url":"https://codeload.github.com/griddb/griddb_client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgriddb_client/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262502279,"owners_count":23321112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-01T14:06:26.320Z","updated_at":"2025-06-28T21:31:35.432Z","avatar_url":"https://github.com/griddb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"GridDB Client (Python, Ruby)\n\n## Overview\n\nGridDB Client is developed using GridDB C Client and [SWIG](http://www.swig.org/) (Simplified Wrapper and Interface Generator).  \nWe can use GridDB with the following language.\n - Python\n - Ruby\n\nThese Clients have C-based methods already defined for each data-type.\n\n## Operating environment\n\nBuilding of the library and execution of the sample programs have been checked in the following environment.\n\n    OS:              CentOS 6.7(x64)\n    SWIG:            3.0.10\n    GCC:             4.4.7\n    Python:          2.6, 3.6\n    Ruby:            1.8, 2.4\n    GridDB Server:   3.0 (CE)\n    GridDB C Client: 3.0 (CE)\n\n## QuickStart\n### Preparations\n\nInstall SWIG as below.\n\n    $ wget https://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.tar.gz\n    $ tar xvfz pcre-8.39.tar.gz\n    $ cd pcre-8.39\n    $ ./configure\n    $ make\n    $ make install\n\n    $ wget https://prdownloads.sourceforge.net/swig/swig-3.0.10.tar.gz\n    $ tar xvfz swig-3.0.10.tar.gz\n    $ cd swig-3.0.10\n    $ ./configure\n    $ make\n    $ make install\n\nUpdate include path of Python/Ruby header files in Makefile (INCLUDES_PYTHON, INCLUDES_RUBY) corresponding to Python/Ruby header files directory path in OS.\n\nAnd update Makefile (LDFLAGS).  \n\n    LDFLAGS = -L\u003cC client library file directory path\u003e -lpthread -lrt -lgridstore\n\n### Build and Run \n\nExecute the command on project directory.\n\n    $ make\n\n(For Python)\n\n    1. Set the PYTHONPATH variable for griddb Python module files.\n    \n    $ export PYTHONPATH=$PYTHONPATH:\u003cinstalled directory path\u003e\n\n    2. Import griddb_python_client in Python.\n\n(For Ruby)\n\n    1. Set the RUBYPATH variable for griddb Ruby module files.\n    \n    $ export RUBYPATH=$RUBYPATH:\u003cinstalled directory path\u003e\n\n    2. Import griddb_ruby_client in Ruby.\n\nNote:\n1. When you build only Python(Ruby) Client, please execute the following command.\n\n    $ make _griddb_python_client.so\n\n    $ make griddb_ruby_client.so\n\n2. The environment of Python/Ruby should be the same as the version used to build the \".so\" file.\n\n### How to run sample\n\nGridDB Server need to be started in advance.\n\n    1. Set LD_LIBRARY_PATH\n\n        export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:\u003cC client library file directory path\u003e\n\n    2. The command to run sample in Python\n\n        $ cp griddb_python_client.py _griddb_python_client.so sample/.  \n        $ sample/sample1.py \u003cGridDB notification address\u003e \u003cGridDB notification port\u003e\n            \u003cGridDB cluster name\u003e \u003cGridDB user\u003e \u003cGridDB password\u003e\n          --\u003ePerson: name=name02 status=false count=2 lob=[65, 66, 67, 68, 69, 70, 71, 72, 73, 74]\n\n    3. The command to run sample in Ruby\n\n        $ cp griddb_ruby_client.so sample/.  \n        $ sample/sample1.rb \u003cGridDB notification address\u003e \u003cGridDB notification port\u003e\n            \u003cGridDB cluster name\u003e \u003cGridDB user\u003e \u003cGridDB password\u003e\n          --\u003ePerson: name=name02 status=false count=2 lob=[65, 66, 67, 68, 69, 70, 71, 72, 73, 74]\n\n## Function\n\n(available)\n- STRING, BOOL, BYTE, SHORT, INTEGER, LONG, FLOAT, DOUBLE, TIMESTAMP, BLOB type for GridDB\n- put/get data with key\n- normal query, aggregation with TQL\n- Multi-Put/Get/Query (batch processing)\n\n(not available)\n- GEOMETRY, Array type for GridDB\n- timeseries compression\n- timeseries-specific function like gsAggregateTimeSeries, gsQueryByTimeSeriesSampling in C client\n- trigger, affinity\n\nPlease refer to the following files for more detailed information.  \n- [Python Client API Reference](https://griddb.github.io/griddb_client/PythonAPIReference.htm)\n- [Ruby Client API Reference](https://griddb.github.io/griddb_client/RubyAPIReference.htm)\n\nAbout API:\n- When an error occurs, an exception GSException is thrown.\n- Based on C Client API. Please refer to C Client API Reference for the detailed information.\n  * [API Reference](https://griddb.github.io/griddb_nosql/manual/GridDB_API_Reference.html)\n  * [API Reference(Japanese)](https://griddb.github.io/griddb_nosql/manual/GridDB_API_Reference_ja.html)\n\nNote:\n1. The current API might be changed in the next version. e.g. put_container\n2. References to objects obtained using the get method described below must be referenced prior to executing the methods. When referencing after the execution of the get methods, please copy the basic data type such as string from the object and reference it to the copied data.\n    - get_row_xxx\n    - get_partition_xxx\n    - get_predicate_xxx\n    - get_container_info\n    - get_multiple_container_rows\n\n   Please refer to the following note from C Client API Reference document for detailed information of the reason behind the implementation:\n\n    \"In order to store the variable-length data such as string or array, it uses a temporary memory area.\n    This area is valid until this function or similar functions which use a temporary memory area.\n    The behavior is undefined when the area which has been invalidated is accessed.\"\n\n## Community\n\n  * Issues  \n    Use the GitHub issue function if you have any requests, questions, or bug reports. \n  * PullRequest  \n    Use the GitHub pull request function if you want to contribute code.\n    You'll need to agree GridDB Contributor License Agreement(CLA_rev1.1.pdf).\n    By using the GitHub pull request function, you shall be deemed to have agreed to GridDB Contributor License Agreement.\n\n## License\n  \n  The Python/Ruby client for GridDB source license is Apache License, version 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriddb%2Fgriddb_client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgriddb%2Fgriddb_client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriddb%2Fgriddb_client/lists"}