{"id":15605237,"url":"https://github.com/ostinelli/erlcassa","last_synced_at":"2025-09-06T08:41:32.465Z","repository":{"id":2070268,"uuid":"3009108","full_name":"ostinelli/erlcassa","owner":"ostinelli","description":"A Cassandra CQL client.","archived":false,"fork":false,"pushed_at":"2011-12-19T02:31:32.000Z","size":105,"stargazers_count":18,"open_issues_count":2,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-27T06:34:08.903Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"numpy/numpy","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ostinelli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-12-19T01:24:58.000Z","updated_at":"2020-01-29T12:10:35.000Z","dependencies_parsed_at":"2022-08-29T16:21:58.190Z","dependency_job_id":null,"html_url":"https://github.com/ostinelli/erlcassa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ostinelli/erlcassa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Ferlcassa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Ferlcassa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Ferlcassa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Ferlcassa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ostinelli","download_url":"https://codeload.github.com/ostinelli/erlcassa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2Ferlcassa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273879210,"owners_count":25184427,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2024-10-03T04:03:33.648Z","updated_at":"2025-09-06T08:41:32.423Z","avatar_url":"https://github.com/ostinelli.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ErlCassa\n\nErlCassa is an Erlang client to the Cassandra Query Language (CQL). This is an alpha library which should not be used in production.\n\n## About CQL\n\n[Cassandra](http://cassandra.apache.org/) originally went with a Thrift RPC-based API as a way to provide a common denominator that more idiomatic clients could build upon independently. However, this worked poorly in practice: raw Thrift is too low-level to use productively, and keeping pace with new API methods to support (for example) indexes in 0.7 or distributed counters in 0.8 is too much for many maintainers to keep pace with.\n\nCQL, the Cassandra Query Language, addresses this by pushing all implementation details to the server; all the client has to know for any operation is how to interpret “resultset” objects. So adding a feature like counters just requires teaching the CQL parser to understand “column + N” notation; no client-side changes are necessary.\n\nCQL specification can be read here: http://github.com/apache/cassandra/blob/trunk/doc/cql/CQL.textile\n\n## Install Dependencies\n\n* You will need [Apache Thrift](http://thrift.apache.org/download/) \u003e= 0.80 and [Apache Cassandra](http://cassandra.apache.org/) \u003e= 1.0.\n\n### Note for OSX developers\n\nThe easiest way to install Thrift on your system is to:\n\n* [install MacPorts](http://www.macports.org/install.php);\n* Download and install Thrift dependencies using MacPorts by issuing the command:\n\n```bash\n$ sudo port install boost libevent pkgconfig\n```\n\n* [Download Apache Thrift](http://thrift.apache.org/download/), then compile and install it:\n\n```bash\n$ ./configure --prefix=/usr/local/ --with-boost=/opt/local --with-libevent=/opt/local \\\n  --without-csharp --without-ruby --without-perl --without-haskell\n$ make\n$ sudo make install\n```\n\n## Quick Start\n\n### Connecting to Cassandra\n\n```erlang\n{ok, C} = erlcassa_client:connect(\"localhost\", 9160).\n```\n\n### Creating a Keyspace\n\n```erlang\n{result, ok} = erlcassa_client:cql_execute(C,\n    \"CREATE KEYSPACE test1 WITH strategy_class = SimpleStrategy AND strategy_options:replication_factor = 1;\"\n).\n```\n\n### Using a Keyspace\n\n```erlang\n{result, ok} = erlcassa_client:cql_execute(C, \"USE test1;\").\n```\n\n### Creating a Column Family\n\n```erlang\n{result, ok} = erlcassa_client:cql_execute(C, \"\n\tCREATE COLUMNFAMILY testdata (\n\tKEY int PRIMARY KEY,\n\ttext_field text,\n\tascii_field ascii,\n\tbigint_field bigint,\n\tblob_field blob,\n\tboolean_field boolean,\n\tcounter_field counter,\n\tdecimal_field decimal,\n\tdouble_field double,\n\tfloat_field float,\n\ttimestamp_field timestamp,\n\tuuid_field uuid,\n\tvarchar_field varchar,\n\tvarint_field varint);\n\").\n```\n\n### Inserting an entry in a Column Family\n\n```erlang\n{result, ok} = erlcassa_client:cql_execute(C, \"\n\tINSERT INTO testdata (\n\t\tKEY, text_field, ascii_field, bigint_field, blob_field, boolean_field,\n\t\tdecimal_field, double_field, float_field, timestamp_field, uuid_field,\n\t\tvarchar_field, varint_field\n\t) VALUES (\n\t\t123, 'text', 'ascii', 1234567890, 'aaaaaa', true,\n\t\t42, 1.3513535135, 1.2345, 1324244361517000, 'f47ac10b-58cc-4372-a567-0e02b2c3d479',\n\t\t'encoded', 13\n\t);\n\").\n```\n\n### Getting rows from a Column Family, as proplist (dict is the other possible return value format)\n\n```erlang\n{result, {rows, Rows}} = erlcassa_client:cql_execute(C, \"SELECT * FROM testdata\", proplist).\n```\n\n### Returning an entire Column from an individual Row\n\n```erlang\nColumn = erlcassa_client:get_column(\"KEY\", Row).\n```\n\n### Dropping a Column Family\n\n```erlang\n{result, ok} = erlcassa_client:cql_execute(C, \"DROP COLUMNFAMILY testdata;\").\n```\n\n### Dropping a Keyspace\n\n```erlang\n{result, ok} = erlcassa_client:cql_execute(C, \"DROP KEYSPACE test1;\").\n```\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2011, Roberto Ostinelli\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and\nassociated documentation files (the \"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the\nfollowing conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial\nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT\nLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO\nEVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR\nTHE USE OR OTHER DEALINGS IN THE SOFTWARE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostinelli%2Ferlcassa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fostinelli%2Ferlcassa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostinelli%2Ferlcassa/lists"}