https://github.com/awslabs/amazon-qldb-driver-nodejs

A NodeJs implementation of a driver for Amazon QLDB.

https://github.com/awslabs/amazon-qldb-driver-nodejs

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords from Contributors

diagram interactive labels
Last synced: 10 months ago · JSON representation

Repository

A NodeJs implementation of a driver for Amazon QLDB.

Basic Info
Statistics
  • Stars: 54
  • Watchers: 18
  • Forks: 22
  • Open Issues: 11
  • Releases: 15
Created over 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License Code of conduct

README.md

Amazon QLDB Node.js Driver

NPM Version Documentation license AWS Provider

This is the Node.js driver for Amazon Quantum Ledger Database (QLDB), which allows Node.js developers to write software that makes use of Amazon QLDB.

For getting started with the driver, see Node.js and Amazon QLDB.

Requirements

Basic Configuration

See Accessing Amazon QLDB for information on connecting to AWS.

The JavaScript AWS SDK needs to have AWS_SDK_LOAD_CONFIG environment variable set to a truthy value in order to read from the ~/.aws/config file.

See Setting Region page for more information.

TypeScript 3.8.x

Development of the driver requires TypeScript 3.8.x. It will be automatically installed as a dependency. It is also recommended to use TypeScript when using the driver. Please see the link below for more detail on TypeScript 3.8.x:

Getting Started

Please see the Quickstart guide for the Amazon QLDB Driver for Node.js.

To use the driver, in your package that wishes to use the driver, run the following:

npm install amazon-qldb-driver-nodejs

The driver also has @aws-sdk/client-qldb-session, ion-js and jsbi as peer dependencies. Thus, they must also be dependencies of the package that will be using the driver as a dependency.

npm install @aws-sdk/client-qldb-session

npm install ion-js

npm install jsbi

Note: For using version 3.0.0 and above of the driver, the version of the aws-sdk should be >= 3.x

Then from within your package, you can now use the driver by importing it. This example shows usage in TypeScript specifying the QLDB ledger name and a specific region:

```typescript import { QLDBSessionClientConfig } from "@aws-sdk/client-qldb-session"; import { QldbDriver } from "amazon-qldb-driver-nodejs";

const testServiceConfigOption: QLDBSessionClientConfig = { region: "us-east-1" };

const qldbDriver: QldbDriver = new QldbDriver("testLedger", testServiceConfigOptions); qldbDriver.getTableNames().then(function(tableNames: string[]) { console.log(tableNames); }); ```

See Also

  1. Getting Started with Amazon QLDB Node.js Driver: A guide that gets you started with executing transactions with the QLDB Node.js driver.
  2. QLDB Node.js Driver Cookbook The cookbook provides code samples for some simple QLDB Node.js driver use cases.
  3. Amazon QLDB Node.js Driver Tutorial: In this tutorial, you use the QLDB Driver for Node.js to create an Amazon QLDB ledger and populate it with tables and sample data.
  4. Amazon QLDB Node.js Driver Samples: A DMV based example application which demonstrates how to use QLDB with the QLDB Driver for Node.js.
  5. QLDB Node.js driver accepts and returns Amazon ION Documents. Amazon Ion is a richly-typed, self-describing, hierarchical data serialization format offering interchangeable binary and text representations. For more information read the ION docs.
  6. Amazon QLDB supports the PartiQL query language. PartiQL provides SQL-compatible query access across multiple data stores containing structured data, semistructured data, and nested data. For more information read the PartiQL docs.
  7. Refer the section Common Errors while using the Amazon QLDB Drivers which describes runtime errors that can be thrown by the Amazon QLDB Driver when calling the qldb-session APIs.

Development

Setup

To install the dependencies for the driver, run the following in the root directory of the project:

npm install

To build the driver, transpiling the TypeScript source code to JavaScript, run the following in the root directory:

npm run build

Running Tests

You can run the unit tests with this command:

npm test

or

npm run testWithCoverage

Integration Tests

You can run the integration tests with this command:

npm run integrationTest

This command requires that credentials are pre-configured and it has the required permissions.

Additionally, a region can be specified in: src/integrationtest/.mocharc.json.

Documentation

TypeDoc is used for documentation. You can generate HTML locally with the following:

npm run doc

Getting Help

Please use these community resources for getting help. * Ask a question on StackOverflow and tag it with the amazon-qldb tag. * Open a support ticket with AWS Support. * Make a new thread at AWS QLDB Forum. * If you think you may have found a bug, please open an issue.

Opening Issues

If you encounter a bug with the Amazon QLDB Node.js Driver, we would like to hear about it. Please search the existing issues and see if others are also experiencing the issue before opening a new issue. When opening a new issue, we will need the version of Amazon QLDB Node.js Driver, Node.js language version, and OS you’re using. Please also include reproduction case for the issue when appropriate.

The GitHub issues are intended for bug reports and feature requests. For help and questions with using AWS QLDB Node.js Driver please make use of the resources listed in the Getting Help section. Keeping the list of open issues lean will help us respond in a timely manner.

License

This library is licensed under the Apache 2.0 License.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Issues event: 2
  • Delete event: 28
  • Issue comment event: 24
  • Pull request event: 45
  • Create event: 25
Last Year
  • Issues event: 2
  • Delete event: 28
  • Issue comment event: 24
  • Pull request event: 45
  • Create event: 25

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 155
  • Total Committers: 24
  • Avg Commits per committer: 6.458
  • Development Distribution Score (DDS): 0.619
Past Year
  • Commits: 100
  • Committers: 10
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.41
Top Committers
Name Email Commits
dependabot[bot] 4****]@u****m 59
Ang Li a****n@a****m 14
Brandon Winchester b****r@g****m 9
Simon Zhao s****z@b****m 9
Dominic Tioseco 7****o@u****m 7
Simon Zhao 4****q@u****m 7
yohanmartin 5****n@u****m 7
Matthew Ma m****n@a****m 6
Arman A a****a@b****m 4
Grant Butler r****e@a****m 4
Saurabh Mehta s****a@a****m 4
Daniel E Knudsen k****d@a****m 4
Paul Norton p****t@a****m 3
Aurgho Bhattacharjee a****b@a****m 3
byronlin13 5****3@u****m 3
Ang Li 6****n@u****m 2
Byron Batteson b****n@g****m 2
mato-gallardo m****o@n****m 2
emile baizel e****l@g****m 1
Byron Lin b****l@b****m 1
Amazon GitHub Automation 5****o@u****m 1
Yilin Guo 7****n@u****m 1
Yohan Martin m****n@a****m 1
Ian Davies i****a@a****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 7
  • Total pull requests: 411
  • Average time to close issues: 2 months
  • Average time to close pull requests: 15 days
  • Total issue authors: 7
  • Total pull request authors: 8
  • Average comments per issue: 4.14
  • Average comments per pull request: 0.99
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 397
Past Year
  • Issues: 1
  • Pull requests: 71
  • Average time to close issues: 7 minutes
  • Average time to close pull requests: 11 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.92
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 70
Top Authors
Issue Authors
  • dependabot[bot] (3)
  • allimn (1)
  • Ahlaee (1)
  • ori-maci (1)
  • belinde (1)
  • mato-gallardo (1)
  • mkhraisha (1)
Pull Request Authors
  • dependabot[bot] (489)
  • trstephen-amazon (6)
  • gscalise (4)
  • GanyuanTan (3)
  • butleragrant (2)
  • pattjaso (2)
  • battesonb (1)
Top Labels
Issue Labels
dependencies (3)
Pull Request Labels
dependencies (492)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 29,110 last-month
  • Total docker downloads: 90
  • Total dependent packages: 23
  • Total dependent repositories: 62
  • Total versions: 14
  • Total maintainers: 3
npmjs.org: amazon-qldb-driver-nodejs

The Node.js driver for working with Amazon Quantum Ledger Database

  • Versions: 14
  • Dependent Packages: 23
  • Dependent Repositories: 62
  • Downloads: 29,110 Last month
  • Docker Downloads: 90
Rankings
Downloads: 0.7%
Dependent packages count: 1.6%
Docker downloads count: 1.6%
Dependent repos count: 1.8%
Average: 2.8%
Forks count: 5.1%
Stargazers count: 6.0%
Maintainers (3)
Last synced: 11 months ago

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/nodeapp.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v1 composite
  • aws-actions/configure-aws-credentials v1 composite
package-lock.json npm
  • 487 dependencies
package.json npm
  • @aws-sdk/client-qldb ^3.194.0 development
  • @types/chai ^4.3.1 development
  • @types/chai-as-promised ^7.1.5 development
  • @types/mocha ^10.0.0 development
  • @types/sinon ^10.0.13 development
  • @typescript-eslint/eslint-plugin ^5.41.0 development
  • @typescript-eslint/parser ^5.41.0 development
  • chai ^4.2.0 development
  • chai-as-promised ^7.1.1 development
  • cross-env ^7.0.3 development
  • eslint ^8.26.0 development
  • eslint-plugin-jsdoc ^39.3.24 development
  • grunt ^1.5.3 development
  • ion-js ^4.3.0 development
  • jsbi ^3.1.1 development
  • mocha ^10.0.0 development
  • mocha-param ^2.0.1 development
  • nyc ^15.1.0 development
  • sinon ^14.0.0 development
  • ts-node ^10.8.2 development
  • typedoc ^0.23.18 development
  • typescript ^4.8.4 development
  • @aws-sdk/client-qldb-session ^3.195.0
  • @types/node ^18.11.5
  • ion-hash-js ^2.0.0
  • semaphore-async-await ^1.5.1