Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
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
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Contributing

To edit the documentation pages displayed at
[conda-forge.org/docs/][https://conda-forge.org/docs/], please edit the source
[conda-forge.org/docs/](https://conda-forge.org/docs/), please edit the source
Markdown files in `docs/`.
11 changes: 8 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,19 @@ repos:
- id: check-added-large-files
- id: check-case-conflict
- id: check-symlinks
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
- repo: https://github.com/biomejs/pre-commit
rev: v2.4.6
hooks:
- id: prettier
- id: biome-check
types_or: [markdown, mdx, json, yaml, css, javascript]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.5
hooks:
- id: ruff-format
- repo: https://github.com/rvben/rumdl-pre-commit
rev: v0.0.222
hooks:
- id: rumdl-fmt
types_or: [markdown, mdx]
ci:
autofix_prs: false
14 changes: 14 additions & 0 deletions .rumdl.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[global]
disable = [

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should enable MD026 and MD041 in this PR.

MD059 is also interesting but better done in a separate PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, though MD041 (sorry, wrong commit message) implies we can't have <a id=""/> prior to it.

"MD013", # line length
"MD014", # command should show output (removes '$' immediately)
"MD030", # spaces after list marker
"MD033", # inline HTML
"MD034", # URL without angle brackets
"MD036", # emphasis used instead of heading
"MD040", # code block missing language (gets fixed to "text")
"MD059", # nondescriptive link text
]

[per-file-ignores]
".github/*.md" = ["MD041"]
15 changes: 15 additions & 0 deletions biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"formatter": {
"indentStyle": "space"
},
"linter": {
"rules": {
"complexity": {
"noImportantStyles": "off"
},
"style": {
"noDescendingSpecificity": "off"
}
}
}
}
2 changes: 1 addition & 1 deletion blog/2020-03-05-grayskull.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors:
tags: [conda]
---

# By the power of Grayskull... I have the Conda recipe!
# By the power of Grayskull... I have the Conda recipe

_The main goal of the Skeleto_~~n~~_r is to conquer Grayskull._

Expand Down
4 changes: 2 additions & 2 deletions blog/2020-07-06-scipy-bof.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags: [scipy]

# Scipy 2020 Packaging BOF

## Abstract:
## Abstract

Have some thoughts about conda-forge and how it can be expanded in a way
that is sustainable? Join us in this virtual Birds of a Feather
Expand All @@ -16,7 +16,7 @@ seeking new viewpoints and opinions!

<!--truncate-->

## BOF questions:
## BOF questions

### State of Packaging

Expand Down
6 changes: 3 additions & 3 deletions blog/2021-02-02-outreachy.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ groups in free and open-source software. Outreachy is organized by

<!--truncate-->

## Participant Application Process:
## Participant Application Process

First, please review the Outreachy Eligibility and Application
Information page to learn more about eligibility for Outreachy.

## Steps for applicants to conda-forge:
## Steps for applicants to conda-forge

1. Confirm your eligibility on the Outreachy site
2. Look at the Conda-forge projects available on the Outreachy site,
Expand Down Expand Up @@ -105,7 +105,7 @@ are some preliminary tasks that you can inspect to get ideas:
in particular the autotick bot. You could find some new information
or ideas for your contributing proposals.

## Good starter tasks:
## Good starter tasks

### Small Starter Tasks

Expand Down
2 changes: 1 addition & 1 deletion blog/2024-09-26-python-313.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ systems by using the `conda-forge/label/python_debug` label.

Any issues with python conda package itself can be reported at [`python-feedstock`](https://github.com/conda-forge/python-feedstock).

### Acknowledgements
## Acknowledgements

Thanks to Uwe Korn ([@xhochy](https://github.com/xhochy)) for getting us started
and for Jonathan Helmus ([@jjhelmus](https://github.com/jjhelmus)) for guidance.
Expand Down
2 changes: 1 addition & 1 deletion blog/2025-04-11-ten-years-of-conda-forge.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ authors:
- core
---

# Ten years of conda-forge!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get it that we don't want trailing ., but why can't we have exclamation marks :( That's overly restrictive imo.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's why I initially disabled it. Do you want to keep it this way, or perhaps use excludes for these lines?

# Ten years of conda-forge

Today, 2025-04-11, marks the 10th anniversary of the conda-forge community.

Expand Down
2 changes: 1 addition & 1 deletion community/_sidebar.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// See https://docusaurus.io/docs/sidebar
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const fs = require("fs");
const fs = require("node:fs");
const sidebars = {
community: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar.json`)),
};
Expand Down
4 changes: 2 additions & 2 deletions community/funding/gsoc-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
unlisted: true
---

<a id="gsoc-2023-project-ideas-for-conda-forge"></a>

# GSoC 2023 project ideas for conda-forge

<a id="gsoc-2023-project-ideas-for-conda-forge"></a>

<!-- Inspired by the excellent Zarr Project Ideas document at
https://github.com/zarr-developers/gsoc/blob/main/2022/ideas-list.md -->

Expand Down
9 changes: 4 additions & 5 deletions community/funding/gsod-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
unlisted: true
---

<a id="google-season-of-docs-2023"></a>

# Google Season of Docs 2023

<a id="google-season-of-docs-2023"></a>

> Thanks for your interest in applying for Google Season of Docs with conda-forge. We welcome
> applications from individuals from all backgrounds, identities and abilities and encourage
> applications individuals from under-represented groups in tech.
Expand Down Expand Up @@ -188,9 +188,8 @@ easy-to-contribute-to, accessible website for the conda-forge community.

### Additional context

The current documentation can be found at Sphinx-based ``conda-forge.github.io`
<[https://github.com/conda-forge/conda-forge.github.io](https://github.com/conda-forge/conda-forge.github.io)>\`_\_ repository, with some blog posts coming
from ``blog` <[https://github.com/conda-forge/blog](https://github.com/conda-forge/blog)>\`\_\_. Both use ReStructuredText syntax and are
The current documentation can be found at Sphinx-based [conda-forge.github.io](https://github.com/conda-forge/conda-forge.github.io) repository, with some blog posts coming
from [blog](https://github.com/conda-forge/blog). Both use ReStructuredText syntax and are
built with Sphinx.

A new Docusaurus-based prototype website is also available at [cf-infra-docs.netlify.app](https://cf-infra-docs.netlify.app/), where new documentation is being written for the
Expand Down
4 changes: 2 additions & 2 deletions community/funding/sdg-2023-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
unlisted: true
---

<a id="numfocus-sdg-2023-round-1-proposal"></a>

# NumFOCUS SDG 2023 Round 1 Proposal

<a id="numfocus-sdg-2023-round-1-proposal"></a>

**Name of Submitter:**

Jaime Rodríguez-Guerra
Expand Down
2 changes: 2 additions & 0 deletions community/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ title: 'conda-forge community'
# Community

- [Getting in touch](getting-in-touch.md)
<!-- rumdl-disable MD057 -->
- [Governance](governance.md)
<!-- rumdl-enable MD057 -->
Comment on lines +8 to +10

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a perfectly normal link and list item, why is rumdl complaining about it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

governance.md is generated, so it's not present when pre-commit is run on a clean checkout — and therefore rumdl reports it as missing target.

- [Joining the team](joining-the-team.md)
- [Contracting](contracting.md)
- [Meetings](meetings.mdx)
2 changes: 1 addition & 1 deletion docs/_sidebar.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// See https://docusaurus.io/docs/sidebar
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const fs = require("fs");
const fs = require("node:fs");
const sidebars = {
docs: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar.json`)),
diataxis: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar_diataxis.json`)),
Expand Down
2 changes: 1 addition & 1 deletion docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Pull Request. A Pull Request is a workflow method to submit contributions to an

## Recipe

A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](../maintainer/adding_pkgs#the-recipe-recipeyaml-or-metayaml) file, but can also include license files, patches, build scripts, test scripts etc.
A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](/docs/maintainer/adding_pkgs#the-recipe-recipeyaml-or-metayaml) file, but can also include license files, patches, build scripts, test scripts etc.

[Learn More](https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html).

Expand Down
8 changes: 4 additions & 4 deletions docs/maintainer/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ The current de facto policy can be found in [python-feedstock#794](https://githu

## Reviewing recipes

To add new packages to conda-forge, users can submit a PR to `staged-recipes` (see [Contributing packages](../adding_pkgs) for more details),
To add new packages to conda-forge, users can submit a PR to `staged-recipes` (see [Contributing packages](/docs/maintainer/adding_pkgs) for more details),
where it will undergo a series of automated checks and a code review.
Any conda-forge member can perform a code review, but the final merge can only be done by the `staged-recipes` or `core` teams.
The following sections suggest guidelines on how to perform a successful code review.
Expand Down Expand Up @@ -218,7 +218,7 @@ Recommended:

Required:

1. `noarch: python` packages fulfill the [required criteria](../knowledge_base#noarch-python) to be considered as such.
1. `noarch: python` packages fulfill the [required criteria](/docs/maintainer/knowledge_base#noarch-python) to be considered as such.

Recommended:

Expand All @@ -228,8 +228,8 @@ Recommended:
Alternatively, a patch can be applied. See [example](https://github.com/conda-forge/staged-recipes/pull/19166/commits/0284fc6da273031a4f93a1fea4533822cd4b385d).
2. The modules checked by `test.imports` are not empty (this can happen with placeholder `__init__.py` files in top-level packages).
3. The versions reported by `pip list` and `conda build` logs match.
4. `pip check` passes. See [pip check](../adding_pkgs#testing-python-packages) for more details.
5. If a project can be considered `noarch` (see [criteria](../knowledge_base#noarch-python)), it should be packaged as such.
4. `pip check` passes. See [pip check](/docs/maintainer/adding_pkgs#testing-python-packages) for more details.
5. If a project can be considered `noarch` (see [criteria](/docs/maintainer/knowledge_base#noarch-python)), it should be packaged as such.

<a id="compiled-objects"></a>

Expand Down
8 changes: 4 additions & 4 deletions docs/maintainer/maintainer_faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, webg
```

This comes from the CI environment being headless and can be fixed by adding the `QT_QPA_PLATFORM=offscreen` [environment variable](https://docs.conda.io/projects/conda-build/en/stable/user-guide/environment-variables.html#inherited-environment-variables).
The variable can either be added directly to the test command or provided in the [meta.yaml](../adding_pkgs#the-recipe-recipeyaml-or-metayaml) like so:
The variable can either be added directly to the test command or provided in the [meta.yaml](/docs/maintainer/adding_pkgs#the-recipe-recipeyaml-or-metayaml) like so:

```yaml
build:
Expand All @@ -182,7 +182,7 @@ If you don't receive an an answer after a couple of days, feel free to reach out
:::note

Due to a GitHub limitation, this is disabled for new members.
In that case, you can ping core using the bot command [@conda-forge-admin, please ping conda-forge/core](../infrastructure#conda-forge-admin-please-ping-conda-forgeteam).
In that case, you can ping core using the bot command [@conda-forge-admin, please ping conda-forge/core](/docs/maintainer/infrastructure#conda-forge-admin-please-ping-conda-forgeteam).

:::

Expand All @@ -192,10 +192,10 @@ In case your issue is longer or you would like to contact us privately, feel fre

<a id="a-feedstock-has-been-abandoned-and-i-would-like-to-take-over-maintenance"></a>

## A feedstock has been abandoned and I would like to take over maintenance.
## A feedstock has been abandoned and I would like to take over maintenance

A feedstock is generally considered abandoned when the maintainer isn't around anymore and doesn't merge new PRs or answer any issues.
If that is the case, you can add yourself to the team by using the [@conda-forge-admin, please add user @username](../infrastructure#conda-forge-admin-please-add-user-username) command.
If that is the case, you can add yourself to the team by using the [@conda-forge-admin, please add user @username](/docs/maintainer/infrastructure#conda-forge-admin-please-add-user-username) command.
If the maintainer doesn't merge it after roughly a week, [contact conda-forge/core](#mfaq-contact-core) to have it merged.
Once added, you have full rights to the feedstock and can continue its maintenance.

Expand Down
1 change: 0 additions & 1 deletion docs/maintainer/understanding_conda_forge/life_cycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,5 @@ consider reading our [Infrastructure guide](/docs/maintainer/infrastructure).

[anaconda-org-labels]: https://docs.anaconda.com/anacondaorg/user-guide/tutorials/
[staged-recipes]: /docs/maintainer/understanding_conda_forge/staged_recipes/
[feedstock-creation]: /docs/maintainer/understanding_conda_forge/staged_recipes/#feedstock-creation

<!-- [feedstocks]: /docs/reference/infrastructure/feedstocks.md -->
2 changes: 1 addition & 1 deletion docs/maintainer/updating_pkgs.md
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ This will lead you to a file looking like:
Here, look for the `"new_version"` field. If that contains a wrong value, note it down for fixing in the next step.

The solution in this case is to let the bot know that it should ignore a certain version.
This can be done in the `conda-forge.yml` configuration file, with [more details](../conda_forge_yml/#bot) in the documentation, the simple snippet boils down to
This can be done in the `conda-forge.yml` configuration file, with [more details](conda_forge_yml.mdx#bot) in the documentation, the simple snippet boils down to

```yaml
bot:
Expand Down
4 changes: 2 additions & 2 deletions docs/user/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ title: 'FAQ'

## A package I am looking for is not on conda-forge, what can I do?

We have an overview and step-by-step instruction on contributing packages in the section [Contributing packages](../../maintainer/adding_pkgs).
We have an overview and step-by-step instruction on contributing packages in the section [Contributing packages](/docs/maintainer/adding_pkgs).

<a id="faq-pkg-update"></a>

Expand Down Expand Up @@ -107,7 +107,7 @@ compilers only contains the sysroot they were built with. The compiler binary na
‘prefixed' with more complete information about the architecture and [ABI](../glossary.md#abi) they target. So, instead
of `gcc`, the actual binary will be named something like `x86_64-conda-linux-gnu-cc`.

The conda-forge infrastructure provides [activation scripts](../../maintainer/adding_pkgs#activate-scripts) which are run when
The conda-forge infrastructure provides [activation scripts](/docs/maintainer/adding_pkgs#activate-scripts) which are run when
you `conda activate` an environment that contains the compiler toolchain. Those scripts set
many environment variables that are typically used by GNU `autotools` and `make` in the
`standard` (i.e. builtin) build rules. For example, you would see the variable `CC` set to
Expand Down
7 changes: 6 additions & 1 deletion docs/user/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,20 @@ You can refer to the [Glossary](../glossary.md).
Using conda-forge is easy!

- Make sure you have `conda >=4.9`:

```bash
conda --version
conda update conda
```

- Add conda-forge as the highest priority channel:

```bash
conda config --add channels conda-forge
```

- Activate `strict` channel priority (`strict` will be activated by default in conda 5.0):

```bash
conda config --set channel_priority strict
```
Expand Down Expand Up @@ -103,7 +108,7 @@ Please refer to [Using multiple channels](tipsandtricks.md#multiple-channels) fo

Anyone can contribute packages to the `conda-forge` channel.
You don't have to be the upstream maintainer of a package in order to contribute it to conda-forge.
To learn how to contribute your first package read [the staging process](../../maintainer/adding_pkgs#the-staging-process).
To learn how to contribute your first package read [the staging process](/docs/maintainer/adding_pkgs#the-staging-process).

<a id="how-can-i-give-credit-to-conda-forge"></a>

Expand Down
2 changes: 2 additions & 0 deletions docs/user/transitioning_from_defaults.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,11 @@ are guidelines on how to go about this, while backing up your work and your envi
for those use cases.

- Another useful file to create is the input `environment.yml` for each environment:

```shell
conda env export --from-history --prefix --prefix /path/to/environment-name > environment-name.yml
```

This file won't capture the exact same state you had in your environment. Instead it
will tell `conda` what packages to look for and then find a solution that satisfies
the request.
Expand Down
1 change: 0 additions & 1 deletion docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion

const path = require("path");
const prism = require("prism-react-renderer");

const _repo = process.env.GHREPO || "conda-forge/conda-forge.github.io";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Conda forge now has a magical status bar for tracking the progress of migrations.
# Conda forge now has a magical status bar for tracking the progress of migrations

You can find this at
[conda-forge.org/status](https://conda-forge.org/status).
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# The compiler migration is in full swing.
# The compiler migration is in full swing

The bot will be making the rounds and modernizing more than 4000
packages. This is going to take a few months to get done so bear with
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# A minimal python 3.7 build is now available across all platforms and both compilers!
# A minimal python 3.7 build is now available across all platforms and both compilers

Yay!
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# The rebuild is moving along nicely with almost a third of the packages completed.
# The rebuild is moving along nicely with almost a third of the packages completed

Recently completed are NumPy and Openblas which should open up much of
the python numeric stack. We're only about 5 feedstocks away from
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# It has happened! Conda-forge has migrated to the latest compilers 🎉.
# It has happened! Conda-forge has migrated to the latest compilers 🎉

If you:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# We overhauled the blas support in conda-forge.
# We overhauled the blas support in conda-forge

- Our packages now build against NETLIB’s reference implementation.
- You as a user can now choose the implementation available at runtime.
Expand Down
Loading