diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c42888e..fe969cc 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -27,13 +27,13 @@ jobs: with: python-version: "3.12" - - name: Install MkDocs Material - run: pip install mkdocs-material + - name: Install Zensical + run: pip install zensical - uses: actions/configure-pages@v4 - name: Build docs - run: mkdocs build --strict + run: zensical build --strict - uses: actions/upload-pages-artifact@v3 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d70b9d..7018f6f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: before-script-linux: | # cmake + perl-IPC-Cmd are required by openssl-sys (vendored build) if command -v yum &>/dev/null; then - yum install -y cmake perl-IPC-Cmd + yum install -y cmake perl-IPC-Cmd perl-Time-Piece fi - uses: actions/upload-artifact@v4 diff --git a/README.md b/README.md index f25862e..449d8b3 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Pascal handles workspace scaffolding, dependency wiring, and UV workspace sync **[Documentation](https://sandeep-selvaraj.github.io/pascal)** · [Installation](https://sandeep-selvaraj.github.io/pascal/installation/) · [Quickstart](https://sandeep-selvaraj.github.io/pascal/quickstart/) · [Commands](https://sandeep-selvaraj.github.io/pascal/commands/) +> Heavily inspired by [Polylith](https://polylith.gitbook.io/polylith) — *packages* map to Polylith's components, *apps* to its bases, brought to the Python/UV ecosystem with a minimal footprint. + --- ## Installation @@ -182,8 +184,8 @@ pascal --version ### Serve docs locally ```bash -pip install mkdocs-material -mkdocs serve +pip install zensical +zensical serve ``` --- diff --git a/docs/contributing.md b/docs/contributing.md index 378f3bb..49712b4 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -127,8 +127,8 @@ pascal --version ## Serving docs locally ```bash -pip install mkdocs-material -mkdocs serve +pip install zensical +zensical serve # open http://127.0.0.1:8000 ``` diff --git a/docs/index.md b/docs/index.md index 2b54b1d..01566cc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,6 +60,16 @@ pascal test | **app** | A deployable entry-point under `apps/`. Has a `[project.scripts]` entry and may depend on workspace packages. | | **brick** | Internal term for any workspace member (package or app). | +## Inspiration + +Pascal is heavily inspired by [Polylith](https://polylith.gitbook.io/polylith) — an architecture concept that encourages decomposing a system into small, focused, reusable *components* and *bases*, all living in a single repository. + +Polylith's core idea is that code should be organised around **what it does** (components) rather than **which service it belongs to** — making it easy to compose different combinations of components into deployable artifacts. Pascal brings this same philosophy to the Python ecosystem with a simpler surface area: *packages* map to Polylith's components, and *apps* map to its bases. + +Where Polylith is an opinionated full-stack architecture, pascal is deliberately minimal — it handles the scaffolding and dependency wiring and then gets out of the way, leaving the rest to UV and standard Python tooling. + +If you find the ideas here compelling, the [Polylith documentation](https://polylith.gitbook.io/polylith) and its [Python tooling](https://davidvujic.github.io/python-polylith-docs/) are well worth reading. + ## Next steps - [Install pascal](installation.md) diff --git a/mkdocs.yml b/mkdocs.yml index 3d785f1..4178471 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -57,6 +57,7 @@ markdown_extensions: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg - attr_list + - md_in_html - def_list - tables - toc: