Skip to content

Commit

Permalink
Updates README (partiql#1724)
Browse files Browse the repository at this point in the history
* Updates README
  • Loading branch information
johnedquinn authored Jan 24, 2025
1 parent 470d383 commit 5b1eca6
Showing 1 changed file with 28 additions and 66 deletions.
94 changes: 28 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,53 @@

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.partiql/partiql-lang-kotlin/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.partiql/partiql-lang-kotlin)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.partiql/partiql-lang/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.partiql/partiql-lang)
[![License](https://img.shields.io/hexpm/l/plug.svg)](https://github.com/partiql/partiql-lang-kotlin/blob/main/LICENSE)
[![CI Build](https://github.com/partiql/partiql-lang-kotlin/actions/workflows/build.yml/badge.svg)](https://github.com/partiql/partiql-lang-kotlin/actions?query=workflow%3A%22Build+and+Report+Generation%22)
[![codecov](https://codecov.io/gh/partiql/partiql-lang-kotlin/branch/main/graph/badge.svg)](https://codecov.io/gh/partiql/partiql-lang-kotlin)

# PartiQL Lang Kotlin
[partiql-specification]: https://partiql.org/assets/PartiQL-Specification.pdf
[partiql-website]: https://www.partiql.org
[partiql-website-plk]: https://www.partiql.org/plk/latest/
[partiql-tests]: https://github.com/partiql/partiql-tests
[plk-releases]: https://github.com/partiql/partiql-lang-kotlin/releases
[maven-partiql-namespace]: https://central.sonatype.com/namespace/org.partiql
[git-submodule]: https://git-scm.com/book/en/v2/Git-Tools-Submodules

This is a Kotlin implementation of the [PartiQL specification](https://partiql.org/assets/PartiQL-Specification.pdf).
PartiQL is based on SQL-99 and has added support for working with schemaless hierarchical data.
PartiQL’s extensions to SQL are easy to understand, treat nested data as first class citizens and
compose seamlessly with each other and SQL.
# PartiQL Lang Kotlin

This repository contains an embeddable reference interpreter, test framework, and tests for PartiQL in Kotlin.
This is a Kotlin/JVM implementation of the [PartiQL specification][partiql-specification].
PartiQL is based on SQL:1999 and has added support for working with schemaless hierarchical data.
PartiQL’s extensions to SQL are easy to understand, treat nested data as first class citizens, and
compose seamlessly with SQL.

## About

Check out the [PartiQL Lang Kotlin Wiki](https://github.com/partiql/partiql-lang-kotlin/wiki) for documentation,
tutorials, upgrade guides, and more!
Check out the [PartiQL website][partiql-website] for documentation, usage guides, and more!

## Status

Users of PartiQL should consider PartiQL to be in "preview" status. It has been leveraged within a number of Amazon internal
systems and AWS products for over a year. The behavior of the language itself is mostly stable, however,
the public API of the interpreter is slated to undergo significant improvements in the near term. (See the
GitHub issues list for details.)
Users of PartiQL should consider the PartiQL library to be stable. It has been leveraged within a number of Amazon internal
systems and AWS products for multiple years. The behavior of the language itself is mostly stable.

## Using In Your Project

This project is published to [Maven Central](https://search.maven.org/artifact/org.partiql/partiql-lang-kotlin).

| Group ID | Artifact ID | Recommended Version |
|---------------|-----------------------|---------------------|
| `org.partiql` | `partiql-lang-kotlin` | `0.14.9` |

If you are looking for a pre-release version, the latest is: `1.0.0-rc.3`.

For Maven builds, add the following to your `pom.xml`:

```xml
<dependency>
<groupId>org.partiql</groupId>
<artifactId>partiql-lang-kotlin</artifactId>
<version>${version}</version>
</dependency>
```

For Gradle 5+, add the following to your `build.gradle`:

```groovy
repositories {
mavenCentral()
}
All [releases][plk-releases] are published to [Maven Central][maven-partiql-namespace]. For the most up-to-date version
of our library, please add the following to your `build.gradle.kts`.

```kotlin
dependencies {
implementation "org.partiql:partiql-lang-kotlin:${version}"
implementation("org.partiql:partiql-lang:1.+")
}
```

Be sure to replace `${version}` with the desired version.
For more information on how to integrate this library (or a specific subproject) into your project, please follow the
guidelines on the [partiql-lang-kotlin documentation site][partiql-website-plk] under the [PartiQL website][partiql-website].

## Building

**Pre-requisite**: Building this project requires Java 11+.

This project uses a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to pull in
[partiql-tests](https://github.com/partiql/partiql-tests). The easiest way to pull everything in is to clone the
This project uses a [git submodule][git-submodule] to pull in
[partiql-tests][partiql-tests]. The easiest way to pull everything in is to clone the
repository recursively:

```bash
Expand All @@ -80,7 +63,7 @@ $ git submodule update --init --recursive
To build this project, from the root directory execute:

```shell
./gradlew build
./gradlew assemble
```

This will build the reference interpreter and test framework, then run all unit and integration tests.
Expand All @@ -91,46 +74,25 @@ This will build the reference interpreter and test framework, then run all unit
$ tree -d -L 2 -I build -I src`
.
├── buildSrc Gradle multi-project build
├── docs Documentation
│   ├── upgrades
│   └── wiki
├── examples Code examples
├── lib
│   ├── isl Ion Schema DOM
│   └── sprout IR codegen
├── partiql-ast PartiQL ast data structures and utilities
├── partiql-cli CLI & Shell application
├── partiql-coverage Code coverage library
├── partiql-lang Top-level project containing all subprojects
├── partiql-eval PartiQL compiler
├── partiql-lang Top-level project depending on all subprojects
├── partiql-parser PartiQL parser
├── partiql-plan PartiQL plan data structures and utilities
├── partiql-planner PartiQL planner
├── partiql-spi Common interfaces: types, values, catalogs, functions, etc.
├── plugins PartiQL plugins used in testing
│   ├── partiql-local
│   └── partiql-memory
└── test
├── partiql-tests Conformance test data
└── partiql-tests-runner Conformance test runner
```

### Running JMH Benchmarks

To run JMH benchmarks located in `lang/jmh`, build the entire project first and then run
the following command:

```shell
./gradlew jmh
```

### Examples

See the [examples](examples) project in this repository for examples covering
use of the PartiQL interpreter in your project.

## Contributing

See [CONTRIBUTING](CONTRIBUTING.md)
See [CONTRIBUTING](CONTRIBUTING.md).

## License

Expand Down

0 comments on commit 5b1eca6

Please sign in to comment.