Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Add GitHub action to deploy book to pages. #118

Merged
merged 1 commit into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/deploy-book.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Deploy book
on:
# Deploy the book when the Rust (Linux) workflow completes on main
workflow_run:
workflows: ["Rust (Linux)"]
branches: [main]
types:
- completed

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write # To push a branch
pages: write # To push to a GitHub Pages site
id-token: write # To update the deployment status
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install latest mdbook
run: |
tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')
url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz"
mkdir mdbook
curl -sSL $url | tar -xz --directory=./mdbook
echo `pwd`/mdbook >> $GITHUB_PATH
- name: Build Book
run: |
# This assumes your book is in the root of your repository.
# Just add a `cd` here if you need to change to another directory.
mdbook build ./pywr-book
- name: Setup Pages
uses: actions/configure-pages@v2
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
# Upload entire repository
path: './pywr-book/book'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ default-members = [
"pywr-core",
"pywr-schema",
"pywr-cli",
"pywr-python",
# "pywr-python",
]


Expand All @@ -40,7 +40,7 @@ num = "0.4.0"
ndarray = "0.15.3"
polars = { version = "0.37.0", features = ["lazy", "rows", "ndarray"] }
pyo3-polars = "0.11.1"
pyo3 = { version = "0.20.2" }
pyo3 = { version = "0.20.2", default-features = false }
pyo3-log = "0.9.0"
tracing = { version ="0.1", features = ["log"] }
csv = "1.1"
Expand Down
2 changes: 1 addition & 1 deletion pywr-book/book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ authors = ["James Tomlinson"]
language = "en"
multilingual = false
src = "src"
title = "The Pywr Book"
title = "Pywr User Guide"
2 changes: 0 additions & 2 deletions pywr-book/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

- [Introduction](./introduction.md)
- [Getting started](./getting_started.md)
- [Installation](./installation.md)
- [Licensing](./licensing.md)
- [Related projects](./related_projects.md)
- [Core concepts](./concepts/README.md)
- [The network](./concepts/the-network.md)
Expand Down
37 changes: 36 additions & 1 deletion pywr-book/src/getting_started.md
Original file line number Diff line number Diff line change
@@ -1 +1,36 @@
# Getting started
# Installation

Pywr is both a Rust library and a Python package.

## Rust

TBC

## Python

Pywr requires Python 3.9 or later.
It is currently not available on PyPI, but wheels are available from the GitHub [actions](https://github.com/pywr/pywr-next/actions) page.
Navigate to the latest successful build, and download the archive and extract the wheel for your platform.

```bash
pip install pywr-2.0.0b0-cp312-none-win_amd64.whl
```
> **Note**: That current Pywr v2.x is in pre-release and may not be suitable for production use.
> If you require Pywr v1.x please use `pip install pywr<2`.


# Running a model

Pywr is a modelling system for simulating water resources systems.
Models are defined using a JSON schema, and can be run using the `pywr` command line tool.
Below is an example of a simple model definition `simple1.json`:

```json
{{#include ../../pywr-schema/src/test_models/simple1.json}}
```

To run the model, use the `pywr` command line tool:

```bash
python -m pywr run simple1.json
```
1 change: 0 additions & 1 deletion pywr-book/src/installation.md

This file was deleted.

1 change: 0 additions & 1 deletion pywr-book/src/licensing.md

This file was deleted.

5 changes: 1 addition & 4 deletions pywr-python/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ categories = ["science", "simulation"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
pyo3 = { workspace = true }
pyo3 = { workspace = true, features = ["extension-module", "macros"] }
pyo3-polars = { workspace = true }
pyo3-log = { workspace = true }
serde = { workspace = true }
Expand All @@ -24,9 +24,6 @@ time = { workspace = true, features = ["serde", "serde-well-known", "serde-human
pywr-core = { path="../pywr-core" }
pywr-schema = { path="../pywr-schema" }

[features]
extension-module = ["pyo3/extension-module"]
default = ["extension-module"]

[lib]
name = "pywr"
Expand Down
Loading