Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
dd73c8a
Translated index.po file from English to Portuguese
KarinaS0uza May 18, 2026
9b00703
Merge branch 'main' into KarinaS0uza-patch-2
flpm May 18, 2026
58762ee
Updated spanish translation for add license, readme and com line ref …
OlmosDeAguilera May 19, 2026
3db2d20
Merge branch 'main' into KarinaS0uza-patch-2
flpm May 20, 2026
bf02812
Updated Spanish translation po files.
flpm May 20, 2026
9420b0f
Merge branch 'main' into main
flpm May 20, 2026
8070270
Merge branch 'main' into main
flpm May 20, 2026
b94e5cb
Merge branch 'main' into KarinaS0uza-patch-2
KarinaS0uza May 20, 2026
4cd920f
Merge pull request #665 from OlmosDeAguilera/main
willingc May 20, 2026
3dac2fb
Merge pull request #658 from KarinaS0uza/KarinaS0uza-patch-2
willingc May 20, 2026
286b03e
docs: translated CI/CD documentation to Portuguese (#666)
KarinaS0uza May 22, 2026
6f04b24
update Japanese translation
flpm May 22, 2026
6af9733
update Portuguese translation
flpm May 22, 2026
325983e
linting files for Japanese translation
flpm May 22, 2026
837ce76
Merge pull request #668 from flpm/update-all-translations
willingc May 22, 2026
9940eae
Added packaging guide entry on dependency locking
May 22, 2026
cfe2e55
Merge remote-tracking branch 'origin/main' into docs/491-add-packagin…
May 23, 2026
51df0f9
Clarify pyproject.toml vs lock file
May 23, 2026
185b382
maintained to written
May 23, 2026
cd2c12f
Prose description of lock file operations
May 23, 2026
a1664bc
Clarify checking diff of lock file is not necessary
May 23, 2026
88d6b78
Added more justification for lock files in intro paragraph
May 23, 2026
71190c2
Elaborate on package hash
May 23, 2026
88f7445
Clarified lock files supporting multiple platforms and python version…
May 23, 2026
7ad8080
maintain changed to generate
May 23, 2026
a8254d4
removed duplication from build-all-languages that caused translations…
flpm May 23, 2026
5dc8ea3
enabled ES and PT translations
flpm May 23, 2026
35d8fbf
Typos and other wording fixes
May 23, 2026
bd49ceb
Add pdm update package example
May 24, 2026
b8e862c
Clarified carve out for not including lock file
May 24, 2026
7fb2aa9
Add recommendation for updating lock files
May 24, 2026
69d49dd
Add more details on dependency cooldowns
May 24, 2026
42d5c8a
Add link for hash
May 24, 2026
ab0c667
various fixes in the Spanish translation
flpm May 25, 2026
4e2d93e
various fixes in the Portuguese translation
flpm May 25, 2026
16784cf
disable inconsistent reference warnings for translations
flpm May 25, 2026
072e979
Merge pull request #671 from flpm/enable-translations
willingc May 25, 2026
ecaca17
docs: add sborx12 as a contributor for translation (#673)
allcontributors[bot] May 30, 2026
9aaa4d3
docs: add Spanish translations to documentation.po (#672)
sborx12 May 31, 2026
68c6446
Elaborate on pyproject vs lock file in intro
May 31, 2026
5e80177
Merge remote-tracking branch 'upstream/main' into docs/491-add-packag…
May 31, 2026
6c5d6fb
Remove poetry and pdm lock file examples
May 31, 2026
1ce130d
Change lock to sync in uv example
May 31, 2026
dd0e3a7
Recommend pylock.toml format
May 31, 2026
cab5fd5
Clarified tip about lock file and multiple CI testing environments
May 31, 2026
e56c106
[pre-commit.ci] pre-commit autoupdate (#674)
pre-commit-ci[bot] Jun 2, 2026
8d5eb9e
chore: bump actions/add-to-project in the actions group
dependabot[bot] Jun 2, 2026
1dfa124
chore: bump pydata-sphinx-theme from 0.17.1 to 0.18.0 in the pip group
dependabot[bot] Jun 2, 2026
cdd4c4a
Merge branch 'main' into docs/491-add-packaging-guide-entry-on-depend…
alexarmstrongvi Jun 6, 2026
4283dc0
Updated CI pip replacement message for uv sync
Jun 15, 2026
946d4e4
Merge remote-tracking branch 'upstream/main' into docs/491-add-packag…
Jun 15, 2026
979311d
Merge branch 'docs/491-add-packaging-guide-entry-on-dependency-lockin…
Jun 15, 2026
6f4b158
Update package-structure-code/declare-dependencies.md
alexarmstrongvi Jun 15, 2026
7019287
Update package-structure-code/declare-dependencies.md
alexarmstrongvi Jun 15, 2026
9dd3a86
Simplify pylock recommendation
Jun 15, 2026
6be99e3
Complete Portuguese translation for package-structure-code.po (#678)
KarinaS0uza Jun 17, 2026
ea7f7a3
Fix button-link path in intro.md
lwasser Jun 20, 2026
c4fc2c2
chore: bump actions/checkout from 6.0.2 to 7.0.0 in /examples/pure-ha…
dependabot[bot] Jun 22, 2026
8bde0ed
chore: bump actions/setup-python from 6.2.0 to 6.3.0 in /examples/pur…
dependabot[bot] Jun 29, 2026
291bc16
chore: bump actions/add-to-project from 1.0.2 to 2.0.0 in the actions…
InessaPawson Jul 1, 2026
e291515
chore: bump pydata-sphinx-theme from 0.17.1 to 0.18.0 in the pip group
InessaPawson Jul 1, 2026
80210ac
chore: bump the actions group with 3 updates
dependabot[bot] Jul 1, 2026
df2cf3f
chore: bump pydata-sphinx-theme from 0.18.0 to 0.19.0 in the pip group
dependabot[bot] Jul 1, 2026
8d2d603
Fix tutorial series link in package structure intro (#680)
wenxiaojie1 Jul 2, 2026
1c5d20e
chore: bump the actions group with 3 updates
InessaPawson Jul 4, 2026
f16f7ba
chore: bump pydata-sphinx-theme from 0.18.0 to 0.19.0 in the pip group
InessaPawson Jul 4, 2026
f4f62cc
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Jul 6, 2026
966f0df
'[pre-commit.ci 🤖] Apply code format tools to PR'
pre-commit-ci[bot] Jul 6, 2026
847b1d3
docs: updates to the translations guide
flpm Jul 10, 2026
b613965
bug: fix issue in translation stats calculation
flpm Jul 10, 2026
7ffef40
bug: recompute stats when .po changes while using docs-live
flpm Jul 10, 2026
8cb744b
Merge pull request #696 from flpm/update-translation-guide
willingc Jul 10, 2026
34a1c6f
Merge pull request #685 from pyOpenSci/pre-commit-ci-update-config
InessaPawson Jul 10, 2026
7e280cd
Fix pyproject.toml keys (#697)
a-w-beck Jul 14, 2026
6b1f28c
docs: add alexarmstrongvi as a contributor for doc (#700)
allcontributors[bot] Jul 17, 2026
5cb43fa
docs: add gchambers11 as a contributor for doc (#701)
allcontributors[bot] Jul 17, 2026
c345388
docs: Portuguese translation for the first 1,000 lines in tutorials.po
Humanberto Jun 7, 2026
144de3b
docs: Portuguese translation for the first 2nd 1,000 lines in tutoria…
Humanberto Jun 7, 2026
7f6b774
docs: Portuguese translation of the next 2,000 lines
Humanberto Jun 10, 2026
fffbe33
docs: final 4,000 lines of ttranslation to Portuguese.
Humanberto Jun 24, 2026
8fad03d
docs: Final review of Portuguese translation for tutorials.po.
Humanberto Jun 24, 2026
cd3e400
Update tutorials.po
flpm Jul 10, 2026
8588a9c
feat: add link to translating guide to translation rendered page
lwasser Jul 17, 2026
54b86bd
Add conda development install guidance
ericdill May 18, 2026
5baf3e6
Update maintain-automate/dev-installs.md
ericdill May 19, 2026
311e950
Update maintain-automate/dev-installs.md
ericdill May 19, 2026
136db93
enh: Start Greek, Bulgarian, and Italian translations (#714)
flpm Jul 18, 2026
66d2d8d
docs: update README.md [skip ci]
allcontributors[bot] Jul 18, 2026
e161778
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jul 18, 2026
ea27f91
docs: start german translation (#723)
flpm Jul 18, 2026
8a13a5c
docs: update README.md [skip ci]
allcontributors[bot] Jul 18, 2026
e86bc2b
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jul 18, 2026
371bea2
feat: first CONTRIBUTING.md lines translated in Italian
susannamau Jul 18, 2026
297fd9e
docs: update README.md [skip ci]
allcontributors[bot] Jul 18, 2026
1158d2b
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jul 18, 2026
b53daab
Add Greek translation for tutorials.po
eleni-tkm Jul 18, 2026
c018f82
docs: add nikitaanand16 as a contributor for translation, and doc (#732)
allcontributors[bot] Jul 18, 2026
cd43367
Add translation of license text in tutorials.po to Italian
nikitaanand16 Jul 18, 2026
0dd73cd
Remove full stop
nikitaanand16 Jul 18, 2026
ff60b9e
Add Italian translation in index.po
nikitaanand16 Jul 18, 2026
6afb3a4
release the IT translation
flpm Jul 18, 2026
a637cb9
bug: clarify the need for single quote in zsh
flpm Jul 18, 2026
23f5d97
Merge pull request #669 from alexarmstrongvi/docs/491-add-packaging-g…
ucodery Jul 18, 2026
666bb69
docs: add initial translation of CONTRIBUTING in Bulgarian (#741)
vladimir-slavov-iob Jul 18, 2026
bf2c6d8
docs: update README.md [skip ci]
allcontributors[bot] Jul 18, 2026
ef2216c
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jul 18, 2026
f2c832b
docs: add floze-the-genius as a contributor for doc, and review (#745)
allcontributors[bot] Jul 18, 2026
8a004cd
Revert "docs: add floze-the-genius as a contributor for doc, and revi…
lwasser Jul 18, 2026
6247db7
docs: add chatniko as a contributor for translation, and doc (#747)
allcontributors[bot] Jul 18, 2026
aa580fe
docs: add tip for for
Revathyvenugopal162 Jul 18, 2026
08640c2
docs: add sync
Revathyvenugopal162 Jul 18, 2026
0c4144f
docs: add sync
Revathyvenugopal162 Jul 18, 2026
c52cd5b
Update tests.po
chatniko Jul 18, 2026
e7358bc
Update tests.po
chatniko Jul 18, 2026
626b3f5
Update tests.po
chatniko Jul 18, 2026
da90d15
docs: add vladimir-slavov-iob as a contributor for doc, and translati…
allcontributors[bot] Jul 18, 2026
5c363f7
docs: update two strings in the Japanese index.po (#742)
kenty002 Jul 19, 2026
56d4023
Greek translation to index (#738)
chatniko Jul 20, 2026
e2646e4
[ITA] A few more CONTRIBUTING.po lines translated (#735)
susannamau Jul 20, 2026
b97aee0
chore: bump the actions group in /examples/pure-hatch/.github/workflo…
dependabot[bot] Jul 23, 2026
48b6d36
docs: updated missing translation in contributing.po for Japanese (#743)
kenty002 Jul 29, 2026
35c6a2d
feat: add workflow to auto-label translation PRs (#749)
wahajmasood Jul 29, 2026
268a44d
docs: add wahajmasood as a contributor for code (#776)
allcontributors[bot] Jul 29, 2026
723250a
docs: tanslate CONTRIBUTING guide to Portuguese (#775)
KarinaS0uza Jul 29, 2026
8c76113
clean up gettext output folder before updating po files
flpm Jul 29, 2026
28dd44f
docs: latest updates to the portuguese translation (#778)
flpm Jul 29, 2026
7292c62
Merge branch 'main' into fix-small-bug-in-update-languages
flpm Jul 29, 2026
a3be7ec
add script for detecting changes that impact .po files
flpm Jul 30, 2026
abf7088
add GitHub action to check and post comments to an issue when english…
flpm Jul 30, 2026
b793cd7
add a session to nox to run the tests
flpm Jul 30, 2026
4596ba0
chore: bump pydata-sphinx-theme from 0.19.0 to 0.20.0 in the pip group
dependabot[bot] Aug 1, 2026
9ceb329
chore: bump the actions group with 2 updates
dependabot[bot] Aug 1, 2026
00f858a
chore: bump pydata-sphinx-theme from 0.19.0 to 0.20.0 in the pip group
InessaPawson Aug 1, 2026
3151468
chore: bump the actions group with 2 updates
InessaPawson Aug 1, 2026
dff5b25
Merge pull request #779 from flpm/fix-small-bug-in-update-languages
InessaPawson Aug 1, 2026
b0a9a33
[pre-commit.ci] pre-commit autoupdate (#785)
pre-commit-ci[bot] Aug 3, 2026
cf64de1
Merge branch 'main' into action-to-detect-stale-po
flpm Aug 4, 2026
b61888d
'[pre-commit.ci 🤖] Apply code format tools to PR'
pre-commit-ci[bot] Aug 4, 2026
2393b5b
chore: bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 in /exa…
dependabot[bot] Aug 4, 2026
7bb9682
Merge pull request #781 from flpm/action-to-detect-stale-po
InessaPawson Aug 5, 2026
68dc59a
docs: separate translation stats logic from Sphinx extension (#786)
flpm Aug 9, 2026
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
106 changes: 106 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -1065,6 +1065,112 @@
"contributions": [
"code"
]
},
{
"login": "sborx12",
"name": "sborx12",
"avatar_url": "https://avatars.githubusercontent.com/u/213525933?v=4",
"profile": "https://github.com/sborx12",
"contributions": [
"translation"
]
},
{
"login": "alexarmstrongvi",
"name": "Alex Armstrong",
"avatar_url": "https://avatars.githubusercontent.com/u/10343299?v=4",
"profile": "https://github.com/alexarmstrongvi",
"contributions": [
"doc"
]
},
{
"login": "gchambers11",
"name": "gchambers11",
"avatar_url": "https://avatars.githubusercontent.com/u/67167140?v=4",
"profile": "https://github.com/gchambers11",
"contributions": [
"doc"
]
},
{
"login": "ericdill",
"name": "Eric Dill",
"avatar_url": "https://avatars.githubusercontent.com/u/6223243?v=4",
"profile": "http://www.linkedin.com/pub/eric-dill/41/1b2/b48/",
"contributions": [
"doc",
"review"
]
},
{
"login": "susannamau",
"name": "Susanna Maugeri",
"avatar_url": "https://avatars.githubusercontent.com/u/95857629?v=4",
"profile": "https://github.com/susannamau",
"contributions": [
"translation",
"doc"
]
},
{
"login": "eleni-tkm",
"name": "eleni-tkm",
"avatar_url": "https://avatars.githubusercontent.com/u/68957419?v=4",
"profile": "https://github.com/eleni-tkm",
"contributions": [
"translation",
"doc"
]
},
{
"login": "nikitaanand16",
"name": "nikitaanand16",
"avatar_url": "https://avatars.githubusercontent.com/u/46649840?v=4",
"profile": "https://github.com/nikitaanand16",
"contributions": [
"translation",
"doc"
]
},
{
"login": "kenty002",
"name": "kenty002",
"avatar_url": "https://avatars.githubusercontent.com/u/161883477?v=4",
"profile": "https://github.com/kenty002",
"contributions": [
"translation",
"doc"
]
},
{
"login": "chatniko",
"name": "chatniko",
"avatar_url": "https://avatars.githubusercontent.com/u/45994556?v=4",
"profile": "https://github.com/chatniko",
"contributions": [
"translation",
"doc"
]
},
{
"login": "vladimir-slavov-iob",
"name": "Vladimir Slavov",
"avatar_url": "https://avatars.githubusercontent.com/u/99480713?v=4",
"profile": "http://slavov.substack.com",
"contributions": [
"doc",
"translation"
]
},
{
"login": "wahajmasood",
"name": "Wahaj Masood",
"avatar_url": "https://avatars.githubusercontent.com/u/54262736?v=4",
"profile": "https://github.com/wahajmasood",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
build-test-book:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0

Expand All @@ -31,7 +31,7 @@ jobs:
git restore-mtime

- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.13"

Expand All @@ -44,7 +44,7 @@ jobs:
run: echo "::set-output name=dir::$(pip cache dir)"

- name: Cache dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae #v5.0.5
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 #v6.1.0
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/crowdin_sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:

steps:
- name: Checkout repo
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Sync with Crowdin
uses: crowdin/github-action@v2
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/label-translations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Label translation PRs

on:
pull_request_target:
types: [opened, synchronize, reopened]
paths:
- "locales/**/*.po"

permissions:
pull-requests: write
contents: read

jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Apply translation labels
uses: actions/github-script@v9
with:
script: |
const files = await github.paginate(github.rest.pulls.listFiles, {
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
per_page: 100,
});

const languages = new Set();
for (const file of files) {
const match = file.filename.match(/^locales\/([^/]+)\/.*\.po$/);
if (match) {
languages.add(match[1].toUpperCase());
}
}

if (languages.size === 0) {
core.info('No .po files under locales/ changed; nothing to label.');
return;
}

const labels = ['translations', ...[...languages].map(l => `lang-${l}`)];
core.info(`Applying labels: ${labels.join(', ')}`);

await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels,
});
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
- name: Add issue to project
id: add-to-project
uses: actions/add-to-project@v1.0.2
uses: actions/add-to-project@v2.0.0
with:
project-url: https://github.com/orgs/pyOpenSci/projects/3
# This is a organization level token so it can be used across all repos in our org
Expand Down
121 changes: 121 additions & 0 deletions .github/workflows/track-english-changes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: Track English text changes for translators

# The `.po` catalogs are generated from the English pages, so changes to the guide
# on `main` can leave every locale short of strings. This posts to the translation
# maintenance issue to inform maintainers that updates are needed, rather than to
# the pull request to avoid putting the burden on a beginner contributor.
#
# `push` rather than a pull-request trigger because that way it cannot be bypassed by
# an admin pushing straight to `main`, or an edit made in the web editor.
on:
push:
branches: [main]
# Broad on purpose: a filter that misses a source change loses the
# notification, one that is too wide costs a run that posts nothing.
paths-ignore:
- "locales/**"
- "scripts/**"
- ".github/**"

permissions:
contents: read
issues: write

env:
# The tracking issue is found by this label, not by number, so it can be closed
# and replaced without editing this file. Apply it to exactly one issue.
TRACKER_LABEL: po-refresh-tracker

jobs:
track:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.12"

# The whole push, not just its last commit. This repository merges by
# rebasing, so one pull request lands as several commits in a single push,
# and `HEAD^..HEAD` would see only the last of them.
- name: List the files this push touched
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BEFORE: ${{ github.event.before }}
AFTER: ${{ github.event.after }}
run: |
# A branch creation or a force push reports an all-zero `before`, which
# the compare endpoint cannot use. There is nothing to diff against.
if [ -z "${BEFORE//0/}" ]; then
echo "No usable base for the comparison; nothing to report."
: > changed.txt
else
gh api "repos/${{ github.repository }}/compare/${BEFORE}...${AFTER}" \
--jq '.files[].filename' > changed.txt
fi
echo "Files this push touched:"
cat changed.txt

- name: Work out which catalogs could be affected
id: report
run: |
: > report.md
if [ -s changed.txt ]; then
python scripts/translation/check_source_changes.py changed.txt > report.md
fi
if [ -s report.md ]; then
echo "affected=true" >> "$GITHUB_OUTPUT"
cat report.md
else
echo "affected=false" >> "$GITHUB_OUTPUT"
echo "No English source that the guide translates was changed."
fi

- name: Tell the tracking issue
if: steps.report.outputs.affected == 'true'
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const label = process.env.TRACKER_LABEL;
const { owner, repo } = context.repo;

const found = await github.paginate(github.rest.issues.listForRepo, {
owner, repo, labels: label, state: 'all', per_page: 100,
});
// This endpoint counts pull requests as issues, so they are dropped.
const issues = found.filter(i => !i.pull_request);

if (issues.length === 0) {
// If no issue with the correct label is found, fail.
core.setFailed(
`No issue with the \`${label}\` label, so there is nowhere to ` +
`report this. Create the tracking issue and apply that label.`,
);
return;
}
// If multiple issues with the correct label are found, warn and use the
// lowest-numbered one.
if (issues.length > 1) {
core.warning(
`${issues.length} issues carry \`${label}\`: ` +
`${issues.map(i => '#' + i.number).join(', ')}. ` +
`Using the lowest-numbered one.`,
);
}
const issue = issues.sort((a, b) => a.number - b.number)[0];

if (issue.state === 'closed') {
core.info(`Reopening #${issue.number}: the English text has changed again.`);
await github.rest.issues.update(
{ owner, repo, issue_number: issue.number, state: 'open' },
);
}

const body = fs.readFileSync('report.md', 'utf8')
+ `\nChanged on \`main\`: ${context.payload.compare}\n`;
await github.rest.issues.createComment(
{ owner, repo, issue_number: issue.number, body },
);
core.info(`Commented on #${issue.number}.`);
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ repos:
- id: trailing-whitespace

- repo: https://github.com/codespell-project/codespell
rev: 2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a # frozen: v2.4.2
rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3
hooks:
- id: codespell
additional_dependencies:
Expand All @@ -36,12 +36,12 @@ repos:
)$

- repo: https://github.com/errata-ai/vale
rev: 41f3b223e8cc669d1309a2104e5b70df2ae6a5a8 # frozen: v3.14.1
rev: fe71481c95665a2343d81874489f8b012442a377 # frozen: v3.17.0
hooks:
- id: vale

- repo: https://github.com/rbubley/mirrors-prettier
rev: 515f543f5718ebfd6ce22e16708bb32c68ff96e1 # frozen: v3.8.3
rev: 0ee178619d696787ca73d210cc191d720868c631 # frozen: v3.9.6
hooks:
- id: prettier
types_or: [yaml, html, css, scss, javascript, json, toml]
Expand Down
6 changes: 5 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,13 @@ To build the guide locally, you need to create a virtual environment and install
To install the development dependencies, run the following command in your terminal:

```bash
python -m pip install -e .[dev]
python -m pip install -e '.[dev]'
```

The quotes around `'.[dev]'` matter if you use zsh, the default shell on macOS. Without them, zsh treats the square brackets as a filename pattern and fails with `no matches found`.

On Windows they are harmless in PowerShell, but if you use the older `cmd.exe` prompt you need to remove them and run `python -m pip install -e .[dev]` instead, because `cmd.exe` does not strip single quotes.

### Commit your changes

After making your changes, you need to commit them to your local repository. To do this, run the following commands in your terminal:
Expand Down
Loading