Metadata-Version: 2.1
Name: ov-wag
Version: 1.1.0
Summary: WGBH Open Vault Wagtail backend
Author-Email: WGBH-MLA <ryan_harbert@wgbh.org>
License: MIT
Project-URL: documentation, https://wgbh-mla.github.io/ov-wag/
Project-URL: homepage, https://github.com/WGBH-MLA/ov-wag
Project-URL: repository, https://github.com/WGBH-MLA/ov-wag
Requires-Python: ~=3.10
Requires-Dist: Django~=5.2.1
Requires-Dist: wagtail~=7.0
Requires-Dist: wagtail-factories~=4.2.1
Requires-Dist: pydantic~=2.11.5
Requires-Dist: psycopg2-binary>=2.9.10
Requires-Dist: python-dotenv~=1.1.0
Requires-Dist: wagtail-headless-preview~=0.8.0
Requires-Dist: django-cors-headers~=4.7.0
Requires-Dist: django-allauth~=65.9.0
Requires-Dist: elasticsearch~=8.18.1
Requires-Dist: wagtail-footnotes~=0.13.0
Provides-Extra: cli
Requires-Dist: typer~=0.16.0; extra == "cli"
Requires-Dist: loguru~=0.7.3; extra == "cli"
Requires-Dist: trogon~=0.6.0; extra == "cli"
Provides-Extra: production
Requires-Dist: gunicorn~=23.0.0; extra == "production"
Requires-Dist: django-storages[s3]~=1.14.6; extra == "production"
Provides-Extra: test
Requires-Dist: pytest~=8.4.0; extra == "test"
Requires-Dist: pytest-django~=4.11.1; extra == "test"
Requires-Dist: pytest-cov~=6.1.1; extra == "test"
Requires-Dist: pytest-sugar~=1.0.0; extra == "test"
Requires-Dist: pytest-xdist~=3.7.0; extra == "test"
Requires-Dist: nbmake~=1.5.5; extra == "test"
Requires-Dist: coverage~=7.8.2; extra == "test"
Description-Content-Type: text/markdown

![CI](https://github.com/WGBH-MLA/ov-wag/actions/workflows/CI.yml/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/WGBH-MLA/ov-wag/badge.svg)](https://coveralls.io/github/WGBH-MLA/ov-wag)

# Open Vault: Wagtail

#### From GBH

Wagtail CMS for [Open Vault](https://openvault.wgbh.org/)

## Documentation

### [User Documentation](https://wgbh-mla.github.io/ov-wag/)

## Usage

### Install

The published version can be installed using pip:

`pip install ov-wag`

#### Local installation

For local development, install [uv](https://docs.astral.sh/uv/) for dependency management.

`pip install uv`

##### Clone the repo:

`git clone https://github.com/WGBH-MLA/ov-wag.git`

##### Install development dependencies:

```bash
uv sync
```

### Scripts

Common functions can be executed as files in the `scripts/` directory

See `scripts/` for detailed usage on each.

#### Examples

`./scripts/dev` will start the development server locally.

_Note_ For most commands, additional args will be passed on to the parent command.

- `dev` | `d`
  - starts a local development server
- `build` | `b`
  - build (or rebuild) the docker image
- `shell` | `s`
  - starts a shell with all django variables loaded
- `manage` | `m`
  - run a `manage.py` command
- `cmd` | `c`
  - run a command directly on the container
  - e.g.
    - `ov c bash`
    - `ov c python3 -c "print('OpenVault!')"`

## develop

### pre-commit secret scanning

0. Install [ggshield](https://docs.gitguardian.com/ggshield-docs/getting-started)

```shell
pip install ggshield
# or
brew install gitguardian/tap/ggshield
```

1. Login to gitguardian

```shell
ggshield auth login
```

2. Install the pre-commit hooks

```shell
pre-commit install
```

## Credits

Created by the [Media Library and Archives](https://www.wgbh.org/foundation/archives) at [GBH](https://wgbh.org)
