Skip to content
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
15 changes: 12 additions & 3 deletions .github/workflows/build-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Fetch main
run: |
git fetch origin main --depth 1
git branch

- name: Setup Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@6aaa311d81eba98ae12eaffbcb63296ace0efcde # v1.307.0
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

Expand All @@ -32,12 +32,21 @@ jobs:
env:
JEKYLL_ENV: production

- name: Restore lychee cache
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: .lycheecache
key: cache-lychee-${{ hashFiles('lychee.toml', '.lycheeignore') }}-${{ github.sha }}
restore-keys: |
cache-lychee-${{ hashFiles('lychee.toml', '.lycheeignore') }}-
cache-lychee-

- name: Check links with lychee
id: lychee
uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 #v2.8.0
with:
fail: true
args: --no-progress --root-dir _site --exclude 'zenodo\.org' --accept '200..=403' _site
args: --root-dir _site _site
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/linkcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
git branch

- name: Setup Ruby
uses: ruby/setup-ruby@6ca151fd1bfcfd6fe0c4eb6837eb0584d0134a0c #v1.290.0
uses: ruby/setup-ruby@6aaa311d81eba98ae12eaffbcb63296ace0efcde # v1.307.0
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

Expand All @@ -28,22 +28,28 @@ jobs:
env:
JEKYLL_ENV: production

- name: Restore lychee cache
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: .lycheecache
key: cache-lychee-${{ hashFiles('lychee.toml', '.lycheeignore') }}-${{ github.sha }}
restore-keys: |
cache-lychee-${{ hashFiles('lychee.toml', '.lycheeignore') }}-
cache-lychee-

- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 #v2.8.0
with:
args: >
--no-progress
--root-dir ${{ github.workspace }}/_site
--exclude 'zenodo\.org'
--accept '200..=403'
_site
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

- name: Create Issue From File
if: env.lychee_exit_code != 0
uses: peter-evans/create-issue-from-file@v6
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v6.0.0
with:
title: Link Checker Report
content-filepath: ./lychee/out.md
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ node_modules/*
.hugo_build.lock
public/
resources/
.lycheecache
2 changes: 1 addition & 1 deletion _posts/2024-05-14-pyos-guide-to-pyconus-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Henry will be guiding attendees through how easy it is now to set up a binary ex
### <i class="fa-solid fa-comment"></i> 2:45--3:15 PM: Hatch: The only tool you need
*Ballroom A*\
**[Ofek Lev](https://github.com/ofek)**\
It's no secret that we're big fans of Hatch---we even [taught a Python Packaging Workshop](https://www.pyopensci.org/blog/pyos-education-announcement.html#enroll-in-pyopenscis-upcoming-workshop-from-python-code-to-module) using [Hatch](https://hatch.pypa.io/latest/)! With an ever-growing set of tools used in Python packaging, Ofek will be presenting on how Hatch can be used as a unifying tool for Python packaging.
It's no secret that we're big fans of Hatch---we even [taught a Python Packaging Workshop](https://www.pyopensci.org/blog/pyos-education-announcement.html) using [Hatch](https://hatch.pypa.io/latest/)! With an ever-growing set of tools used in Python packaging, Ofek will be presenting on how Hatch can be used as a unifying tool for Python packaging.

## <i class="fa-regular fa-calendar"></i> Saturday, May 18th
### <i class="fa-solid fa-people-group"></i> 9:00--9:25 AM: Diversity & Inclusion Panel
Expand Down
4 changes: 2 additions & 2 deletions _posts/2024-08-30-pyopensci-monumental-growth-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,8 @@ The pyOpenSci packaging guide provides an overview of the Python packaging ecosy

* [build backend](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html#build-back-ends),
* [build frontend](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html#python-package-build-front-ends),
* [wheel](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html#wheel-whl-files), and
* [sdist](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html#source-distribution-sdist).
* [wheel](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html), and
* [sdist](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-distribution-files-sdist-wheel.html).

Our Python Packaging Guide aims to translate the technical jargon that gets in the way of new users having a successful packaging experience. Over time, we
hope that this will make packaging less confusing and more accessible to more people.
Expand Down
2 changes: 1 addition & 1 deletion _posts/2025-07-24-scipy-2025-recap.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ We love Hatch because it includes a task runner out of the box (see [the Scienti

Shoutout to [Carol Willing](https://github.com/willingc), [Inessa Pawson](https://github.com/InessaPawson), [Jeremiah Paige](https://github.com/ucodery), and [Tetsuo Koyama](https://github.com/tkoyama010) for making this workshop such a success.

We also attended the Pixi workshop, which showcased how [Pixi](https://pixi.sh) utilizes UV and supports mixed [PyPI](https://pypi.org/)/[Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-python) environments. The instructors walked us through spinning up cloud-based GPU compute using [NVIDIA Brev,](https://developer.nvidia.com/brev) which was quick, powerful, and surprisingly easy to configure. Pixi is a great option for you if you want the speed of UV but the Conda support!
We also attended the Pixi workshop, which showcased how [Pixi](https://pixi.sh) utilizes UV and supports mixed [PyPI](https://pypi.org/)/[Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html) environments. The instructors walked us through spinning up cloud-based GPU compute using [NVIDIA Brev,](https://developer.nvidia.com/brev) which was quick, powerful, and surprisingly easy to configure. Pixi is a great option for you if you want the speed of UV but the Conda support!

<figure>
<picture>
Expand Down
63 changes: 63 additions & 0 deletions lychee.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Lychee link-checker config for pyopensci.org
# Docs: https://lychee.cli.rs/
#
# Domain-level skips live in .lycheeignore.
# CI may pass additional flags via .github/workflows/linkcheck.yml
# (e.g. --root-dir $GITHUB_WORKSPACE/_site).

############################# Display ##############################

# Log verbosity: error | warn | info | debug | trace
verbose = "info"

# Report format.
format = "detailed"

# Suppress the interactive progress bar (CI-friendly).
no_progress = true

############################# Cache ################################

# Cache responses between runs.
cache = true
max_cache_age = "1d"

# Never cache server errors so transient 5xx don't stick.
cache_exclude_status = "500.."

############################# Runtime ##############################

max_concurrency = 14
max_redirects = 10
max_retries = 2
# Wait longer between retries to give slow servers room to recover.
retry_wait_time = 5
# Generous timeout for slow-but-healthy servers (academic mirrors, DOIs).
timeout = 45

############################# Requests #############################

# Some sites block lychee's default UA. Use a generic browser-ish UA.
user_agent = "Mozilla/5.0 (compatible; lychee-link-checker)"

# Accept 200–403 as success. 401/403 are common on bot-protected or
# auth-walled pages we still want to consider "reachable".
accept = ["200..=403"]

# Enable the checking of fragments in links.
include_fragments = false

# Only test links with the given schemes (e.g. https).
# At the moment, we support http, https, file, and mailto.
scheme = ["https", "file"]


############################# Exclusions ###########################

# Don't check URLs that only appear inside <code>/<pre> blocks.
include_verbatim = false

# Regex excludes. Plain-domain skips belong in .lycheeignore.
exclude = [
'zenodo\.org',
]
Loading