Skip to content

Commit

Permalink
Merge pull request #1554 from moj-analytical-services/backend_installs
Browse files Browse the repository at this point in the history
Backend installs
  • Loading branch information
RossKen authored Sep 15, 2023
2 parents f0eca81 + 94b954c commit 52668b4
Show file tree
Hide file tree
Showing 9 changed files with 992 additions and 623 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pytest_postgres.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [ "3.7.15", "3.8.16", "3.9.10" ]
python-version: [ "3.8.16", "3.9.10" ]
services:
pg_splink_ci:
image: postgres
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytest_run_tests_with_cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [ "3.7.15", "3.8.16", "3.9.10" ]
python-version: [ "3.8.16", "3.9.10" ]
name: Run tests with python verion ${{ matrix.python-version }}
steps:
#----------------------------------------------
Expand Down
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ The Office for National Statistics have written a [case study about using Splink

## Installation

Splink supports python 3.7+. To obtain the latest released version of splink you can install from PyPI using pip:
Splink supports python 3.8+. To obtain the latest released version of splink you can install from PyPI using pip:

```sh
pip install splink
Expand All @@ -70,6 +70,35 @@ or, if you prefer, you can instead install splink using conda:
conda install -c conda-forge splink
```

<details>
<summary><b>Backend Specific Installs</b></summary>

<br>

From Splink v3.9.7, packages required by specific splink backends can be optionally installed by adding the `[<backend>]` suffix to the end of your `pip install`.

**Note** - As SQLite and DuckDB come packaged with Splink, they cannot be optionally installed.

Backends supported by optional installs:

**Spark**
```sh
pip install 'splink[spark]'
```

**Athena**
```sh
pip install 'splink[athena]'
```

**PostgreSQL**
```sh
pip install 'splink[postgres]'
```
</details>


#### DuckDBLess Splink
Should you require a more bare-bones version of Splink **without DuckDB**, please see the following area of the docs:
> [DuckDBless Splink Installation](https://moj-analytical-services.github.io/splink/installations.html#duckdb-less-installation)
Expand Down
25 changes: 24 additions & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ hide:
# Getting Started

## :material-download: Install
Splink supports python 3.7+.
Splink supports python 3.8+.

To obtain the latest released version of splink you can install from PyPI using pip:
```shell
Expand All @@ -18,6 +18,29 @@ or if you prefer, you can instead install splink using conda:
conda install -c conda-forge splink
```

??? "Backend Specific Installs"
### Backend Specific Installs
From Splink v3.9.7, packages required by specific splink backends can be optionally installed by adding the `[<backend>]` suffix to the end of your pip install.

**Note** that SQLite and DuckDB come packaged with Splink and cannot be optionally installed.

The following backends are supported:

=== ":simple-apachespark: Spark"
```sh
pip install 'splink[spark]'
```

=== ":simple-amazonaws: Athena"
```sh
pip install 'splink[athena]'
```

=== ":simple-postgresql: PostgreSql"
```sh
pip install 'splink[postgres]'
```

??? "DuckDB-less Installation"
### DuckDB-less Installation
Should you be unable to install `DuckDB` to your local machine, you can still run `Splink` without the `DuckDB` dependency using a small workaround.
Expand Down
Loading

0 comments on commit 52668b4

Please sign in to comment.