Skip to content

Commit 19da67a

Browse files
authored
Update glossary (#2184)
* Update glossary to docusaurus style * Add backward compatible anchors * Add missing # * Restore alphabetical ordering * Copy editing * Fix links * Remove explicit anchor tags * Re-introduce html anchors for stability * Update links to new docusaurus format * Re-add title frontmatter * Re-add pypackaging link * Clarify CDTs * Improve CLI explanation * Urlencode ling to avoid <> syntax
1 parent cc50b49 commit 19da67a

File tree

8 files changed

+81
-40
lines changed

8 files changed

+81
-40
lines changed

docs/glossary.md

Lines changed: 58 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
22
title: 'Glossary'
3-
sidebar_position: 27
43
---
54

65
<a id="miscellaneous"></a>
@@ -11,74 +10,116 @@ sidebar_position: 27
1110

1211
# Glossary
1312

13+
List of frequently used terms and acronyms.
14+
1415
<a id="term-ABI"></a>
1516

1617
## ABI
1718

18-
**A**pplication **B**inary **I**nterface. ABI is a document that comprehensively defines the binary system interface between applications and the operating system on which they run. [Learn More at Wikipedia](https://en.wikipedia.org/wiki/Application_binary_interface) or [pypackaging-native](https://pypackaging-native.github.io/background/binary_interface).
19+
Application Binary Interface. ABI is a document that comprehensively defines the binary system interface between applications and the operating system on which they run.
20+
21+
Learn More at [Wikipedia](https://en.wikipedia.org/wiki/Application_binary_interface) or [pypackaging-native](https://pypackaging-native.github.io/background/binary_interface).
22+
23+
<a id="term-CDN"></a>
24+
25+
## CDN
26+
27+
Content Delivery Network. CDNs are geographically distributed networks of servers that mirror the contents of a primary source. Having multiple servers offering the same content increases performance (reduced latency, higher download speeds) and availability.
28+
29+
[Learn more](https://en.wikipedia.org/wiki/Content_delivery_network).
1930

2031
<a id="term-CDT"></a>
2132

2233
## CDT
2334

24-
**C**ore **D**ependency **T**ree. Core Dependency Tree packages take care of the dependencies which are so close to the system that they are not packaged with conda-forge. A CDT package consists of repackaged CentOS binaries from the appropriate version, either 6 or 7 depending on user choice and platform. [Learn more](maintainer/knowledge_base.md#cdt-packages).
35+
Core Dependency Tree. Core Dependency Tree packages take care of the dependencies that are so close to the system that they are not packaged with conda-forge. For example, in conda-forge, we have used repackaged CentOS 6 or 7 binaries for some time.
2536

26-
## CLI
37+
[Learn more](https://conda-forge.org/docs/maintainer/knowledge_base.html#cdt-packages).
2738

28-
**C**ommand **L**ine **I**nterface. A program in which commands are entered as text, one line at a time, for a computer to execute. This is done in the Miniforge Prompt in Windows, and in a terminal in macOS and Linux. `conda` is executed in a CLI. [Learn More](https://en.wikipedia.org/wiki/Command-line_interface).
39+
<a id="term-CFEP"></a>
40+
41+
## CFEP
42+
43+
Conda Forge Enhancement Proposal. A CFEP is a document that outlines a suggested change to how the conda-forge project operates, from a technical standpoint as well as to address social topics such as governance and expected conduct.
44+
45+
[Learn More](https://github.com/conda-forge/cfep/blob/main/cfep-01.md/).
2946

3047
<a id="term-CI"></a>
3148

3249
## CI
3350

34-
**C**ontinuous **I**ntegration. Continuous integration is the practice of automating the integration of code changes from multiple contributors into a single software project. [Learn More](https://en.wikipedia.org/wiki/Continuous_integration).
51+
Continuous Integration. Continuous integration is the practice of automating the integration of code changes from multiple contributors into a single software project.
3552

36-
<a id="term-CFEP"></a>
53+
[Learn More](https://en.wikipedia.org/wiki/Continuous_integration).
3754

38-
## CFEP
55+
<a id="term-CLI"></a>
3956

40-
**C**onda **F**orge **E**nhancement **P**roposal. A CFEP is a document which outlines a suggested change to how the conda-forge project operates, from a technical standpoint as well as to address social topics such as governance and expected conduct. [Learn More](https://github.com/conda-forge/cfep/blob/main/cfep-01.md/).
57+
## CLI
58+
59+
Command Line Interface. A textual interface of a program that allows the user to control the program with a single command line, which is entered in a command-line environment, such as the Miniforge Prompt on Windows, or a terminal on MacOS and Linux. An example of a program offering a CLI is `conda`.
60+
61+
[Learn More](https://en.wikipedia.org/wiki/Command-line_interface).
4162

4263
<a id="term-Conda-channel"></a>
4364

4465
## Conda channel
4566

46-
Conda channels are the locations where packages are stored. They serve as the base for hosting and managing packages. `conda-forge` is one example of a conda channel. [Learn More](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html).
67+
Conda channels are the locations where packages are stored. They serve as the base for hosting and managing packages. `conda-forge` is one example of a conda channel.
68+
69+
[Learn More](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html).
4770

4871
<a id="term-Conda-package"></a>
4972

5073
## Conda package
5174

52-
A conda package is a `.tar.bz2` or `.conda` archive that contains libraries, executable programs, data files and other components, as well as metadata under the `info/` directory. Its contents are unpacked in the installation prefix. [Learn More](<https://en.wikipedia.org/wiki/Conda_(package_manager)>).
75+
A conda package is a `.tar.bz2` or `.conda` archive that contains libraries, executable programs, data files and other components, as well as metadata under the `info/` directory. Its contents are unpacked in the installation prefix.
76+
77+
[Learn More](https://en.wikipedia.org/wiki/Conda_%28package_manager%29).
5378

5479
<a id="term-CRAN"></a>
5580

5681
## CRAN
5782

58-
**C**omprehensive **R** **A**rchive **N**etwork. CRAN is a network of FTP and web servers around the world that store identical, up-to-date, versions of code and documentation for R. [Learn More](https://cran.r-project.org/).
83+
Comprehensive R Archive Network. CRAN is a network of FTP and web servers around the world that store identical, up-to-date versions of code and documentation for R.
84+
85+
[Learn More](https://cran.r-project.org/).
5986

6087
<a id="term-Environment"></a>
6188

6289
## Environment
6390

64-
An environment is a tool that helps to keep dependencies required by different projects separate by creating isolated spaces where these dependencies are installed. [Learn More](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html).
91+
An environment is a tool that helps to keep dependencies required by different projects separate by creating isolated spaces where these dependencies are installed.
92+
93+
[Learn More](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html).
6594

6695
<a id="term-ICU"></a>
6796

6897
## ICU
6998

70-
**I**nternational **C**omponents for **U**nicode. ICU is an open-source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization. [Learn More](https://icu.unicode.org/).
99+
International Components for Unicode. ICU is an open-source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization.
100+
101+
[Learn More](https://icu.unicode.org/).
71102

72103
<a id="term-PR"></a>
73104

74105
## PR
75106

76-
**P**ull **R**equest. Pull Request is a workflow method to submit contributions to an open development project in which the developer asks for changes committed to an external repository to be considered for inclusion in a project's main repository. [Learn More](https://help.github.com/articles/about-pull-requests/).
107+
Pull Request. A Pull Request is a workflow method to submit contributions to an open development project in which the developer asks for changes committed to an external repository to be considered for inclusion in a project's main repository.
108+
109+
[Learn More](https://help.github.com/articles/about-pull-requests/).
110+
111+
<a id="term-Recipe"></a>
77112

78113
## Recipe
79114

80-
A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](maintainer/adding_pkgs.md#the-recipe-meta-yaml) 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).
115+
A recipe is a collection of files required to build a conda package. This includes, at minimum, a [`meta.yaml`](maintainer/adding_pkgs.md#the-recipe-meta-yaml) file, but can also include license files, patches, build scripts, test scripts etc.
116+
117+
[Learn More](https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html).
118+
119+
<a id="term-Virtual-package"></a>
81120

82121
## Virtual package
83122

84-
Virtual packages are not real packages that can be downloaded. They are injected by the conda clients at runtime so the solver can consider that metadata as part of the constraints of the problem. By convention, they always start with a double underscore (`__`). Some examples include the type of operating system (Linux, Windows, macOS), or the CUDA version supported by the system (if any). [Learn More](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-virtual.html).
123+
Virtual packages are not real packages that can be downloaded. They are injected by the conda clients at runtime so the solver can consider that metadata as part of the constraints of the problem. By convention, they always start with a double underscore (`__`). Some examples include the type of operating system (Linux, Windows, macOS), or the CUDA version supported by the system (if any).
124+
125+
[Learn More](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-virtual.html).

docs/maintainer/adding_pkgs.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ Once you finished your PR, all you have to do is wait for feedback from our revi
134134

135135
The review team will assist you by pointing out improvements and answering questions. Once the package is ready, the reviewers will approve and merge your pull request.
136136

137-
After merging the [PR](../glossary.md#term-PR), our [CI](../glossary.md#term-CI) infrastructure will build the package and make it available in the conda-channel.
137+
After merging the [PR](../glossary.md#pr), our [CI](../glossary.md#ci) infrastructure will build the package and make it available in the conda-channel.
138138

139139
:::note
140140

@@ -148,10 +148,10 @@ If you have questions or have not heard back for a while, you can notify us by i
148148

149149
## Post staging process
150150

151-
- After the PR is merged, our [CI](../glossary.md#term-CI) services will create a new git repo automatically. For example, the recipe for a package named `pydstool` will be moved to a new repository [https://github.com/conda-forge/pydstool-feedstock](https://github.com/conda-forge/pydstool-feedstock). This process is automated through a CI job on the `conda-forge/staged-recipes` repo. It sometimes fails due to API rate limits and will automatically retry itself. If your feedstock has not been created after a day or so, please get in touch with the `conda-forge/core` team for help.
151+
- After the PR is merged, our [CI](../glossary.md#ci) services will create a new git repo automatically. For example, the recipe for a package named `pydstool` will be moved to a new repository [https://github.com/conda-forge/pydstool-feedstock](https://github.com/conda-forge/pydstool-feedstock). This process is automated through a CI job on the `conda-forge/staged-recipes` repo. It sometimes fails due to API rate limits and will automatically retry itself. If your feedstock has not been created after a day or so, please get in touch with the `conda-forge/core` team for help.
152152
- CI services will be enabled automatically and a build will be triggered automatically which will build the conda package and upload to [https://anaconda.org/conda-forge](https://anaconda.org/conda-forge)
153153
- If this is your first contribution, you will be added to the conda-forge [team](https://github.com/orgs/conda-forge/people) and given access to the CI services so that you can stop and restart builds. You will also be given commit rights to the new git repository.
154-
- If you want to make a change to the recipe, send a [PR](../glossary.md#term-PR) to the git repository from a fork. Branches of the main repository are used for maintaining different versions only.
154+
- If you want to make a change to the recipe, send a [PR](../glossary.md#pr) to the git repository from a fork. Branches of the main repository are used for maintaining different versions only.
155155

156156
<a id="feedstock-repository-structure"></a>
157157

@@ -196,7 +196,7 @@ This file is used to configure how the feedstock is set up and built. Making any
196196

197197
The maintainer's job is to:
198198

199-
- Keep the feedstock updated by merging eventual maintenance [PR](../glossary.md#term-PR)s from conda-forge's bots.
199+
- Keep the feedstock updated by merging eventual maintenance [PR](../glossary.md#pr)s from conda-forge's bots.
200200
- Keep the feedstock on par with new releases of the source package by:
201201
- Bumping the version number and checksum.
202202
- Making sure that the feedstock's requirements stay accurate.
@@ -452,26 +452,26 @@ Run dependencies are only required during run time of the package. Run dependenc
452452

453453
#### Avoid external dependencies
454454

455-
As a general rule: all dependencies have to be packaged by conda-forge as well. This is necessary to assure [ABI](../glossary.md#term-ABI) compatibility for all our packages.
455+
As a general rule: all dependencies have to be packaged by conda-forge as well. This is necessary to assure [ABI](../glossary.md#abi) compatibility for all our packages.
456456

457457
There are only a few exceptions to this rule:
458458

459-
1. Some dependencies have to be satisfied with [CDT](../glossary.md#term-CDT) packages (see [Core Dependency Tree Packages (CDTs)](knowledge_base.md#cdt-packages)).
459+
1. Some dependencies have to be satisfied with [CDT](../glossary.md#cdt) packages (see [Core Dependency Tree Packages (CDTs)](knowledge_base.md#cdt-packages)).
460460
2. Some packages require root access (e.g. device drivers) that cannot be distributed by conda-forge. These dependencies should be avoided whenever possible.
461461

462462
<a id="pinning"></a>
463463

464464
#### Pinning
465465

466-
Linking shared c/c++ libraries creates dependence on the [ABI](../glossary.md#term-ABI) of the library that was used at build time on the package.
466+
Linking shared c/c++ libraries creates dependence on the [ABI](../glossary.md#abi) of the library that was used at build time on the package.
467467
The exposed interface changes when previously existing exposed symbols are deleted or modified in a newer version.
468468

469-
It is therefore crucial to ensure that only library versions with a compatible [ABI](../glossary.md#term-ABI) are used after linking.
469+
It is therefore crucial to ensure that only library versions with a compatible [ABI](../glossary.md#abi) are used after linking.
470470

471471
In the best case, the shared library you depend on:
472472

473473
- defines a pin in the [list of globally pinned packages](https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/master/recipe/conda_build_config.yaml)
474-
- exports its [ABI](../glossary.md#term-ABI) compatible requirements by defining `run_exports` in it's meta.yaml
474+
- exports its [ABI](../glossary.md#abi) compatible requirements by defining `run_exports` in it's meta.yaml
475475

476476
In these cases you do not have to worry about version requirements:
477477

@@ -483,7 +483,7 @@ requirements:
483483
- libpng
484484
```
485485

486-
In other cases you have to specify [ABI](../glossary.md#term-ABI) compatible versions manually.
486+
In other cases you have to specify [ABI](../glossary.md#abi) compatible versions manually.
487487

488488
```yaml
489489
requirements:
@@ -555,7 +555,7 @@ But every conda package must have at least _some_ tests.
555555
Sometimes defining tests seems to be hard, e.g. due to:
556556

557557
- tests for the underlying code base may not exist.
558-
- test suites may take too long to run on limited [CI](../glossary.md#term-CI) infrastructure.
558+
- test suites may take too long to run on limited [CI](../glossary.md#ci) infrastructure.
559559
- tests may take too much bandwidth.
560560

561561
In these cases, conda-forge may not be able to execute the prescribed test suite.

docs/maintainer/infrastructure.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ Package-wide dependency pins are defined in [conda_build_config.yaml](https://gi
161161

162162
For more information on conda-forge wide package pins, please refer to [Globally pinned packages](pinning_deps.md#globally-pinned-packages).
163163

164-
Please open a [PR](../glossary.md#term-PR) and/or an issue there, if you think a pin needs to be advanced. For more information on updating globally pinned packages, please refer to [Updating package pins](pinning_deps.md#update-pins).
164+
Please open a [PR](../glossary.md#pr) and/or an issue there, if you think a pin needs to be advanced. For more information on updating globally pinned packages, please refer to [Updating package pins](pinning_deps.md#update-pins).
165165

166166
#### conda-forge-repodata-patches
167167

@@ -226,7 +226,7 @@ Smithy contains maintenance code for conda-forge, which is used by the `conda-sm
226226

227227
- The rerendering process
228228
- The recipe linter
229-
- [CI](../glossary.md#term-CI) support utils
229+
- [CI](../glossary.md#ci) support utils
230230

231231
`conda-smithy` also contains the command line tool that you should use if you rerender manually from the command line (see [Rerendering feedstocks](updating_pkgs.md#dev-update-rerender)).
232232

docs/maintainer/knowledge_base.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1170,7 +1170,7 @@ named `yum_requirements.txt` in the `recipe` directory of a feedstock.
11701170

11711171
There are only very few situations where dependencies installed by yum are acceptable. These cases include
11721172

1173-
- satisfying the requirements of [CDT](../glossary.md#term-CDT) packages during test phase
1173+
- satisfying the requirements of [CDT](../glossary.md#cdt) packages during test phase
11741174
- installing packages that are only required for testing
11751175

11761176
After changing `yum_requirements.txt`, [rerender](updating_pkgs.md#dev-update-rerender) to update the configuration.

docs/maintainer/pinning_deps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ There is additional documentation on this pinning scheme in [the conda docs](htt
8484

8585
## Specifying run_exports
8686

87-
The `run_exports` feature can be used to specify the versions that are [ABI](../glossary.md#term-ABI) compatible with the built version. This leads to higher flexibility of choosable packages, without breakages due to incompatibilities.
87+
The `run_exports` feature can be used to specify the versions that are [ABI](../glossary.md#abi) compatible with the built version. This leads to higher flexibility of choosable packages, without breakages due to incompatibilities.
8888

8989
Packages that depend on a package with `run_exports` can choose to overwrite this behavior using the `build/ignore_run_exports` key.
9090

@@ -123,7 +123,7 @@ be added by hand. To do this, follow these steps:
123123
1. Create a new migration yaml by copying [example.exyaml](https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/master/recipe/migrations/example.exyaml) in the `conda-forge/conda-forge-pinning` repository.
124124
2. Change the migration yaml to reflect the package and version to be migrated
125125
3. Write a migrator for propagating the pin changes.
126-
4. Propose the changes as a [PR](../glossary.md#term-PR) to [conda-forge/conda-forge-pinning-feedstock](https://github.com/conda-forge/conda-forge-pinning-feedstock).
126+
4. Propose the changes as a [PR](../glossary.md#pr) to [conda-forge/conda-forge-pinning-feedstock](https://github.com/conda-forge/conda-forge-pinning-feedstock).
127127
5. Once accepted the migration will begin. The migration status can be monitored at [https://conda-forge.org/status](https://conda-forge.org/status).
128128
6. After the migration is complete, a new PR can be issued to [conda-forge/conda-forge-pinning-feedstock](https://github.com/conda-forge/conda-forge-pinning-feedstock) to:
129129
- Remove the migrator yaml for the completed migration

0 commit comments

Comments
 (0)