Commit Graph

202 Commits

Author SHA1 Message Date
Martin Weinelt
7efc0b2418 doc/python: mention python313 2023-10-21 16:18:27 +02:00
Frederik Rietdijk
f4822bb295
Merge pull request #254309 from pbsds/flit-prune
python3Packages.flitBuildHook: remove
2023-09-25 11:34:15 +02:00
Alejandro Sánchez Medina
ade134ecd1
nixpkgs manual: doc python: add hyperlinks to Python section (#252156)
* nixpkgs manual: doc python: add hyperlinks to Python section

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-24 19:13:18 +02:00
Artturin
70aa345bec doc/python: use python3Packages instead of python3.pkgs
Allows splicing to work correctly

from issue 211340

>> 3: Discourage using package sets like python3.pkgs "directly"

> I think about 8 years ago I introduced this and it has been a clear mistake. Since then this pattern was copied throughout. We should indeed go to pythonPackages and also move the helpers such as buildEnv and withPackages into the package set, like haskell already had before.

- FRidh
2023-09-23 07:57:07 +03:00
Peder Bergebakken Sundt
bdda7b0a53 python3Packages.flitBuildHook: remove 2023-09-22 21:11:24 +02:00
Frederik Rietdijk
53dd1a6edb
Merge pull request #254136 from figsoda/python
python310Packages.buildPythonPackage: introduce pyproject option
2023-09-14 18:33:49 +02:00
asymmetric
b414f942e0
doc: link, instead of just mentioning, Nix manual (#255126)
Instead of just telling the reader to go find the relevant section of the Nix
manual, let's just link to it. Yay hypertext!
2023-09-14 17:09:39 +02:00
figsoda
39c64e2323 doc/python: document pyproject and remove usages of format 2023-09-12 19:54:43 -04:00
Alejandro Sanchez Medina
13e4891d6d nixpkgs manual: doc python: render manual notes as admonitions 2023-08-21 16:02:34 +02:00
Alejandro Sánchez Medina
8cd56a3b7a
Documentation: nixpkgs manual: move Python reference to the top of Python chapter (#247117)
* nixpkgs manual, doc Python: move Reference/Optimizations to FAQ

See https://github.com/NixOS/nixpkgs/issues/246234.

* nixpkgs manual, doc Python: move Reference/python-optional-dependencies to FAQ

See https://github.com/NixOS/nixpkgs/issues/246234.

* nixpkgs manual, doc Python: move Reference/Tools to FAQ

See https://github.com/NixOS/nixpkgs/issues/246234.

* nixpkgs manual, doc Python: move Reference/deterministic-builds to FAQ

See https://github.com/NixOS/nixpkgs/issues/246234.

* nixpkgs manual, doc Python: move Reference/automatic-tests to FAQ

See https://github.com/NixOS/nixpkgs/issues/246234.

* nixpkgs manual, doc Python: move Reference to top section

See https://github.com/NixOS/nixpkgs/issues/246234.
2023-08-17 14:45:29 +02:00
github-actions[bot]
4507a6bd1f
Merge master into staging-next 2023-08-08 00:01:49 +00:00
Alejandro Sánchez Medina
c72480119a
nixpkgs manual, doc Python: render interpreters in a table (#246956)
* nixpkgs manual, doc Python: render interpreters in a table

The current paragraph presenting Python interpreters is verbose and hinders clarity. The information provided is well suited to be rendered as a table.

Co-authored-by: Shahar "Dawn" Or <mightyiampresence@gmail.com>

* nixpkgs manual, doc Python: fix typos in interpreters' table

* nixpkgs manual, doc Python: update header in interpreters' table

* nixpkgs manual, doc Python: get rid of empty block code workaround in interpreters' table

---------

Co-authored-by: Shahar "Dawn" Or <mightyiampresence@gmail.com>
2023-08-07 23:48:22 +02:00
Doron Behar
6560d0086c python3.pkgs.pypaBuildHook: init 2023-07-28 12:13:25 +02:00
Doron Behar
1298c367b1 pip-build-hook.sh: Support $pipBuildFlags 2023-07-28 12:13:25 +02:00
Doron Behar
5262a7d1c9 doc/python: Demonstrate how to override the blas implementation 2023-07-28 12:13:25 +02:00
Sandro Jäckel
0a47d54801
docs/python: clarify allowance of using toosl to autogenerate packages 2023-07-24 16:41:08 +02:00
amesgen
906102c911
doc/languages-frameworks/python: don't use full pkgs in attrs 2023-06-29 21:38:37 +02:00
Lele Gaifax
06375c5962 doc/languages-frameworks/python: add missing back quote 2023-06-12 16:21:11 +02:00
figsoda
2bfb2f045a pypi2nix: remove
It has been broken since 2021 and upstream has been archived
2023-06-03 16:44:43 +02:00
figsoda
999652eb33 doc/python: remove usages of fetchPypi aliases 2023-05-21 11:28:13 -04:00
Martin Weinelt
35650d8be3
doc/languages-frameworks/python: update formatting and interpreters
Updates all interpreter references with 3.10/3.11, which are the
current version, that we recurse into for their package set.

Update all code examples with an explicit `format` and expand lists
with multiple items as we do in the python package set. Also set
`pythonImportsCheck` where tests are disabled.
2023-05-20 03:31:35 +02:00
pennae
052bb41410 doc: assign ids to many headings
without stable ids on headings we cannot generate stable links to these
headings. nrd complains about this, but the current docbook workflow
does not.

a few generated ids remain, mostly in examples and footnotes. most of
the examples are generated by nixdoc (which has since gained MD export
functions, and the MD export does generate IDs).
2023-03-27 22:39:11 +02:00
Artturi
1c6a1e5650
Merge pull request #218500 from alyssais/pythonForBuild 2023-02-27 18:17:27 +02:00
Martin Weinelt
0d09b95ad1 doc/python: Explain opt-out out of bulk updates 2023-02-27 02:21:07 +00:00
Alyssa Ross
2bfa93e01c
treewide: python{ => .pythonForBuild}.interpreter
It won't be enough to fix cross in all cases, but it is in at least
one: pywayland.  I've only made the change in cases I'm confident it's
correct, as it would be wrong to change this when python.interpreter
is used in wrappers, and possibly when it's used for running tests.
2023-02-26 20:26:17 +00:00
André Schröder
b2c8b539ac nixos/doc: fix typo in python.section.md 2023-02-01 23:00:16 +01:00
Noah Fontes
3bec41fb5e
doc/python: fix attr name for unittestCheckHook flags
The name should end in Array per the current conventions.

This change also contains some minor formatting fixes, as the heading
levels were inconsistent.
2023-01-28 13:19:41 -08:00
Guillaume Girol
d26caea94b doc: adapt to nativeCheckInputs 2023-01-21 16:42:10 +01:00
Niklas Hambüchen
83481b8708 doc: python: Run hooks in checkPhase 2023-01-03 18:00:31 +01:00
figsoda
403e25e3e3 doc: fix typos 2022-12-17 18:21:48 -05:00
Colin Arnott
bac379f30a
doc: use sri hash syntax
The nixpkgs manual contains references to both sri hash and explicit
sha256 attributes. This is at best confusing to new users. Since the
final destination is exclusive use of sri hashes, see nixos/rfcs#131,
might as well push new users in that direction gently.

Notable exceptions to sri hash support are builtins.fetchTarball,
cataclysm-dda, coq, dockerTools.pullimage, elixir.override, and
fetchCrate. None, other than builtins.fetchTarball, are fundamentally
incompatible, but all currently accept explicit sha256 attributes as
input. Because adding backwards compatibility is out of scope for this
change, they have been left intact, but migration to sri format has been
made for any using old hash formats.

All hashes have been manually tested to be accurate, and updates were
only made for missing upstream artefacts or bugs.
2022-12-04 06:12:18 +00:00
Martin Weinelt
18ab6d062b
sphinxHook: inherit from python3Packages 2022-11-20 15:39:34 +01:00
Guillaume Girol
3befade691 doc: fix python module override example 2022-11-03 19:54:51 +01:00
Frederik Rietdijk
9e02095f4e Python docs: document attribute to use for non-PyPI projects 2022-09-22 13:31:58 +02:00
Martin Weinelt
986c31401e
doc/python: Properly sort pythonRelaxDepsHook in hook list 2022-08-24 23:03:31 +02:00
Martin Weinelt
8a26deba06
doc/python: integrate sphinxHook docs
Improve the documentation by moving it from the hook script into the
Python section in the manual and adding code examples.
2022-08-24 23:02:24 +02:00
Winter
e8fbb38a51 pythonPackages.unittestCheckHook: init 2022-08-13 14:09:43 -04:00
Frederik Rietdijk
2270b66d75 pythonPackagesExtensions: override all Python package sets at once
Python package sets can be overridden by overriding an interpreter
and passing in `packageOverrides = self: super: {...};`. This is fine
in case you need a single interpreter, however, it does not help you
when you want to override all sets.

With this change it is possible to override all sets at once by
appending a list of "extensions" to `pythonPackagesExtensions`.

From reading the implementation you might wonder why a list is used, and
not
`lib.composeExtensions`? The reason is the latter requires knowledge of
the library function. This approach should be easier for most users
as it is similar to how we append to lists of e.g. inputs or patches
when overriding a derivation.
2022-08-06 09:39:39 +02:00
tljuniper
ddb0914a7d doc/languages-frameworks: typos 2022-06-21 09:03:18 +02:00
Martin Weinelt
4566beb390
doc/python: update python version references 2022-06-06 11:46:06 -07:00
Thiago Kenji Okada
2abfe3f700
doc: fix typos in pythonRelaxDepsHook
Co-authored-by: Guillaume Girol <symphorien@users.noreply.github.com>
2022-06-01 18:56:33 +01:00
Thiago Kenji Okada
74a0e97cd4 doc: document pythonRelaxDepsHook 2022-05-29 14:01:30 +01:00
Martin Weinelt
809ffd6cd3
doc/python: use optional-dependencies instead of extras-require
This is the term that PEP 621 uses and it is less likely to be
misspelled.

https://peps.python.org/pep-0621/#dependencies-optional-dependencies

I was never sure if it was `extra` or `extras`, or `require` or
`requires` and finally committed a mistake in #167405.
2022-05-22 16:31:45 +02:00
Drew Risinger
0d7b5a7e64 doc: remove python-language-server from manual
python3Packages.python-language-server is no longer maintained (broken), so it shouldn't be an example.
2022-05-05 15:07:47 -07:00
Frederik Rietdijk
1986bedcff python3Packages: document how to handle extras-require 2022-02-25 14:09:41 +01:00
Yevhen Shymotiuk
08d3a002db
doc/python: remove 3.6 from the list of cpython versions 2021-12-28 00:35:07 +02:00
github-actions[bot]
2add1758ab
Merge master into staging-next 2021-12-18 18:01:03 +00:00
Jonathan Ringer
0b97e89049 doc/python: update buildPythonApplication example
It's recommended to consume the interpreter, not the package
set when being called from `all-packages.nix`
2021-12-18 16:21:37 +01:00
github-actions[bot]
92aabc6576
Merge master into staging-next 2021-12-10 00:01:53 +00:00
Jonathan Ringer
3709e8aaf2
docs/python: Add CPython update schedule 2021-12-09 12:47:53 -08:00
Martin Weinelt
6dd0b1b8fc python311: init at 3.11.0a2 2021-11-30 14:19:52 +01:00
Martin Weinelt
938d796b7a
python310: 3.10.0-rc2 -> 3.10.0 2021-10-05 02:08:07 +02:00
Martin Weinelt
846e2b1919
python36: remove 2021-10-03 12:42:24 +02:00
D Anzorge
d6c2bb73fb doc/python: fix typo in example 2021-09-17 00:47:45 +02:00
Martin Weinelt
304ed7c421 doc/python: explain bulk package set updates 2021-08-25 12:33:10 -07:00
Robert Schütz
a2c9f04849 fixup! python3: 3.8 -> 3.9 2021-07-05 12:34:02 -07:00
Frederik Rietdijk
94cd70bae2 python3: 3.8 -> 3.9 2021-07-05 12:34:02 -07:00
Robert Schütz
1ec5651913 treewide: use pythonPackages.python-dateutil instead of pythonPackages.dateutil 2021-07-03 13:45:57 +02:00
Jan Tojnar
6ecc641d08
doc: prepare for commonmark
We are still using Pandoc’s Markdown parser, which differs from CommonMark spec slightly.

Notably:
- Line breaks in lists behave differently.
- Admonitions do not support the simpler syntax https://github.com/jgm/commonmark-hs/issues/75
- The auto_identifiers uses a different algorithm – I made the previous ones explicit.
- Languages (classes) of code blocks cannot contain whitespace so we have to use “pycon” alias instead of Python “console” as GitHub’s linguist

While at it, I also fixed the following issues:
- ShellSesssion was used
- Removed some pointless docbook tags.
2021-06-07 06:34:59 +02:00
Sandro Jäckel
89d5f4b3d0
treewide: setuptools_scm -> setuptools-scm 2021-06-03 12:44:33 +02:00
Jonas Chevalier
c6b62f2381
mkShell: introduce packages argument (#122180)
The distinction between the inputs doesn't really make sense in the
mkShell context.  Technically speaking, we should be using the
nativeBuildInputs most of the time.

So in order to make this function more beginner-friendly, add "packages"
as an attribute, that maps to nativeBuildInputs.

This commit also updates all the uses in nixpkgs.
2021-05-13 19:17:29 +02:00
Sandro
3a6116c550
Merge pull request #116257 from SuperSandro2000/code-fences
doc/languages-frameworks/*: add missing languages to code fences
2021-04-05 05:38:38 +02:00
Sandro Jäckel
2c143a4614 doc/languages-frameworks/*: add missing languages to code fences
convert shell -> ShellSession
2021-04-05 05:23:19 +02:00
github-actions[bot]
f7049b343c
Merge master into staging-next 2021-03-29 18:13:15 +00:00
Doron Behar
c2b66f2702
Merge pull request #98734 from ju1m/zerobin 2021-03-29 17:18:29 +00:00
github-actions[bot]
380cb1e995
Merge master into staging-next 2021-03-24 12:11:57 +00:00
Robert Schütz
7dfc2d269b
doc: improve Python section (#116344)
Avoid confusion as in https://github.com/NixOS/nixpkgs/pull/116325#discussion_r593946638.
2021-03-24 13:03:31 +01:00
github-actions[bot]
977005c64f
Merge staging-next into staging 2021-03-14 12:21:14 +00:00
Florian Engel
3329093c6a Remove repeating words from doc 2021-03-14 12:15:34 +01:00
Frederik Rietdijk
a6a9548a32 python docs: update another incorrect claim regarding default interpreter 2021-03-13 14:14:06 +01:00
Frederik Rietdijk
a9faf404c8 python docs: fix note regarding default interpreter 2021-03-13 14:11:31 +01:00
Frederik Rietdijk
9d03ff5222 python: reproducible builds
Achieve reproducible builds of the interpreter. Note this meant
disabling optimizations again.
2021-03-13 13:11:50 +01:00
Julien Moutinho
a9ce4c4a0e zerobin: 20160108 -> 1.0.5 2021-03-13 13:06:06 +01:00
Robert Schütz
11f4fa4a22 doc: mention up-to-date tools for generating Python expressions 2021-03-08 11:06:24 +01:00
Jonathan Ringer
6ed55034ee doc/python: reword sorting gaurentee to be stronger 2021-02-28 16:18:58 -08:00
Martin Weinelt
d6d63aef7d
pytestCheckHook: add support for disabling arbitrary paths
Renames `disabledTestFiles` to the more genereric `disabledTestPaths` to
reflect that change.
2021-02-15 00:34:35 +01:00
Sandro Jäckel
6f7f01a244 pytestCheckHook: Add disabledTestFiles option 2021-01-16 09:09:26 -08:00
Ryan Mulligan
b8344f9e5c doc: explicit Markdown anchors for top-level headings; remove metadata
I used the existing anchors generated by Docbook, so the anchor part
should be a no-op. This could be useful depending on the
infrastructure we choose to use, and it is better to be explicit than
rely on Docbook's id generating algorithms.

I got rid of the metadata segments of the Markdown files, because they
are outdated, inaccurate, and could make people less willing to change
them without speaking with the author.
2021-01-01 10:02:57 -08:00
applePrincess
698111962e
doc/python: Fix shebang link (#105196) 2020-11-28 04:06:50 +01:00
Frederik Rietdijk
748bc99520 docs: python39 is available 2020-10-13 18:53:40 +02:00
zowoq
069757550e doc/python: remove trailing whitespace 2020-09-21 09:35:27 +10:00
Jonathan Ringer
233dc9c7d1
doc/python: Add pythonImportsCheck mention 2020-08-17 13:41:39 -07:00
Jonathan Ringer
93e7292976
doc/python: add pytestCheckHook section 2020-08-17 13:41:39 -07:00
Jonathan Ringer
8c7d49b726
docs: update python interpreter versions 2020-08-12 21:57:40 -07:00
Daniël de Kok
58ec4d5c77 doc: pip install flags are specified with pipInstallFlags
The documentation incorrectly stated that `installFlags` are passed to
`pip install`.
2020-06-16 10:03:25 +02:00
Frederik Rietdijk
b7ff746540 python3: now points to python38
Note this also means python3Minimal is now also Python 3.8.

This reverts commit eb1369670b and adds more.
2020-06-04 18:08:29 +02:00
Jon
15b3d9d277
python3Packages.venvShellHook: add postVenvCreation (#87850)
* python3Packages.venvShellHook: add postVenvCreation

* python: docs: add postVenvCreation explaination
2020-05-16 09:34:11 +02:00
Benjamin Hipple
c88290789c doc: Rewrite python onboarding tutorials in manual
Based on some feedback in #87094 and discussion with @fridh, this re-organizes
the onboarding tutorial in the Nixpkgs manual's python section, so that we start
with the simplest, most ad-hoc examples and work our way up. This progresses
from:

1. How to create an temporary python env at the cmdline, then
2. How to create a specific python env for a single script, then
3. How to create a specific python env for a project in a shell.nix, then
4. How to install a specific python env globally on the system or in a user profile.

Additionally, I've tried to standardize on some of the "best practice" ways of
doing things:

1. Instead of saying that this command style is "supported but strongly not
   discouraged", I've just deleted it to avoid confusion.

   Bad:  nix-shell -p python38Packages.numpy python38Packages.toolz
   Good: nix-shell -p 'python38.withPackages(ps: with ps; [ numpy toolz ])'

2. In the portion where we show how to add stuff to the user's
   `XDG_CONFIG_HOME`, use overlays instead of `config.nix`. The former can do
   everything the latter can do, but is also much more generic and powerful,
   because it can compose with other files, compose with other envs, compose
   with overlays that do things like swap whether tensorflow and pytorch are
   built openblas/mkl/cuda stacks, and so on. The user is eventually going to
   see the overlay, so to avoid confusion let's standardize on it.
2020-05-15 22:43:16 +02:00
Benjamin Hipple
c3e2f98779 doc: use idiomatic overlay names in the python manual example
An overlay by any other name would function just as well, but we generally use
`self: super:` for the regular overlays, and `python-self: python-super`.
2020-05-09 18:02:20 -04:00
Benjamin Hipple
c0f434fcc8 doc: update python manual to reference python 3.8 instead of 3.5
Improvement suggested in #87094
2020-05-09 12:58:00 -04:00
Frederik Rietdijk
ca2fd28d83 Revert "docs/python: document builders using doInstallCheck and not doCheck (#86051)"
For disabling tests when overriding, use `.overridePythonAttrs`.

Discussion about aliasing `.overridePythonAttrs` to `.overrideAttrs`.
https://github.com/NixOS/nixpkgs/pull/82772

This reverts commit 35812875a4.
2020-04-26 16:22:33 +02:00
Doron Behar
35812875a4
docs/python: document builders using doInstallCheck and not doCheck (#86051) 2020-04-26 11:53:06 +00:00
Matthew Bauer
3c41d61514 doc/overlays.xml: update documentation for BLAS/LAPACK
This expands the documentation and explains how to assert LP64.
2020-04-21 11:03:10 -05:00
Pavol Rusnak
fadcfc3ea4
treewide: per RFC45, remove more unquoted URLs 2020-04-18 14:04:37 +02:00
Jonathan Ringer
3990b914c3 manual: use quoted homepage urls 2020-02-16 09:49:12 -08:00
Benjamin Hipple
4988805287 doc: consistent formatting on python manual section
No material changes to docs, but trying to sanitize them for consistent
readability prior to looking at #75837.

- Use `*` for lists instead of `-`. I have no opinion one way or the other, but
  the latter was only used in 1-2 places.
- Pad the code blocks with whitespace.
- Wrap to 80 characters, except for a few 1-liners that were only slightly over.
2020-02-09 11:23:11 -05:00
Dima
e9ba4b94fb doc: python: fixing mistake in venv example
When updating the section to python 3 some places still
referred to pythonPackages and were overlooked.
Decided to switch it to be more similar to the first
example binding pythonPackages and clarified comments a
bit based on confusion I observed on IRC.

Related to https://github.com/NixOS/nixpkgs/pull/77569
2020-02-02 09:39:58 -08:00
Dima
25d0d2b5e8 doc: python: refreshing virtualenv section for venv
Updating section about imperative use of ad-hoc virtual-environments for
use of pythons built-in `venv` module via venvShellHook.  Also trying to
make it a bit friendlier to beginners by adding a bit more explanation
to the code snippet and some remarks old-school virtualenv.

Adjusting for venvShellHook and adding manual example

Adding pip install and replacing python2 example with python3
2020-01-20 18:01:12 -08:00
Frederik Rietdijk
eba1f79418 pythonPackages.venvShellHook: init
This is a hook that loads a virtualenv from the specified `venvDir`
location. If the virtualenv does not exist, it is created.
2020-01-14 22:36:21 +01:00
Frederik Rietdijk
eb1369670b Revert "python3: now points to python38"
This is going to require more work.

This reverts commit 2dc4ab3677.
2020-01-10 10:33:40 +01:00