Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(back): #1218 add python 3.12 support #1232

Merged
merged 1 commit into from
Jan 3, 2024
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
8 changes: 4 additions & 4 deletions docs/src/api/builtins/lint.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ Types:
- prospector (`path`): Optional.
Path to the Prospector configuration file.
Defaults to [./settings-prospector.yaml](https://github.com/fluidattacks/makes/blob/main/src/evaluator/modules/lint-python/settings-prospector.yaml).
- python (`enum ["3.8" "3.9" "3.10" "3.11"]`):
- python (`enum ["3.9" "3.10" "3.11" "3.12"]`):
Python interpreter version that your package/module is designed for.
- searchPaths (`asIn makeSearchPaths`): Optional.
Arguments here will be passed as-is to `makeSearchPaths`.
Expand All @@ -280,7 +280,7 @@ Types:
- prospector (`path`): Optional.
Path to the Prospector configuration file.
Defaults to [./settings-prospector.yaml](https://github.com/fluidattacks/makes/blob/main/src/evaluator/modules/lint-python/settings-prospector.yaml).
- python (`enum ["3.8" "3.9" "3.10" "3.11"]`):
- python (`enum ["3.9" "3.10" "3.11" "3.12"]`):
Python interpreter version that your package/module is designed for.
- searchPaths (`asIn makeSearchPaths`): Optional.
Arguments here will be passed as-is to `makeSearchPaths`.
Expand All @@ -298,7 +298,7 @@ Example:
dirsOfModules = {
makes = {
config = {};
python = "3.8";
python = "3.9";
src = "/src/cli";
};
};
Expand All @@ -311,7 +311,7 @@ Example:
modules = {
cliMain = {
config = {};
python = "3.8";
python = "3.9";
src = "/src/cli/main";
};
};
Expand Down
4 changes: 2 additions & 2 deletions docs/src/api/builtins/security.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Types:
Definitions of directories of python packages/modules to lint.
Defaults to `{ }`.
- projectType (`submodule`):
- python (`enum ["3.8" "3.9" "3.10" "3.11"]`):
- python (`enum ["3.9" "3.10" "3.11" "3.12"]`):
Python interpreter version that your package/module is designed for.
- target (`str`):
Relative path to the package/module.
Expand All @@ -89,7 +89,7 @@ Example:
{
securePythonWithBandit = {
cli = {
python = "3.8";
python = "3.10";
target = "/src/cli";
};
};
Expand Down
2 changes: 1 addition & 1 deletion docs/src/api/builtins/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ Types:
Mapping of names to pytest targets.
Defaults to `{ }`.
- targetType (`submodule`):
- python (`enum ["3.8" "3.9" "3.10" "3.11"]`):
- python (`enum ["3.9" "3.10" "3.11" "3.12"]`):
Python interpreter version that your package/module is designed for.
- src (`str`):
Path to the file or directory that contains the tests code.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/api/builtins/utilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ m github:fluidattacks/makes@24.01 /utils/makePythonLock \
"${sources_yaml}"
```

- Supported `python_version`s are: `3.8`, `3.9`, `3.10` and `3.11`.
- Supported `python_version`s are: `3.9`, `3.10`, `3.11` and `3.12`.
- `dependencies_yaml` is the **absolute path** to a YAML file
mapping [PyPI](https://pypi.org/) packages to version constraints.
Example:
Expand Down
10 changes: 0 additions & 10 deletions docs/src/api/extensions/fundamentals.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,11 +174,6 @@ Types specific to Python:
of each element in the list
to MYPYPATH.
Defaults to `[ ]`.
- `pythonMypy38` (`listOf coercibleToStr`): Optional.
Append `/lib/python3.8/site-packages`
of each element in the list
to MYPYPATH.
Defaults to `[ ]`.
- `pythonMypy39` (`listOf coercibleToStr`): Optional.
Append `/lib/python3.9/site-packages`
of each element in the list
Expand All @@ -199,11 +194,6 @@ Types specific to Python:
of each element in the list
to PYTHONPATH.
Defaults to `[ ]`.
- `pythonPackage38` (`listOf coercibleToStr`): Optional.
Append `/lib/python3.8/site-packages`
of each element in the list
to PYTHONPATH.
Defaults to `[ ]`.
- `pythonPackage39` (`listOf coercibleToStr`): Optional.
Append `/lib/python3.9/site-packages`
of each element in the list
Expand Down
6 changes: 3 additions & 3 deletions docs/src/api/extensions/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Get a specific Python interpreter.
Types:

- makePythonVersion: `SupportedVersions -> Derivation`
- `SupportedVersions` = `enum ["3.8" "3.9" "3.10" "3.11"]`
- `SupportedVersions` = `enum ["3.9" "3.10" "3.11" "3.12"]`
Supported Python versions.

Example:
Expand All @@ -25,7 +25,7 @@ Example:
'';
name = "example";
searchPaths = {
bin = [ (makePythonVersion "3.8") ];
bin = [ (makePythonVersion "3.9") ];
};
}
```
Expand All @@ -35,7 +35,7 @@ Example:
```bash
$ m . /example

Python 3.8.9
Python 3.9
```

## makePythonPypiEnvironment
Expand Down
4 changes: 2 additions & 2 deletions makes.nix
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@
};
securePythonWithBandit = {
cli = {
python = "3.11";
python = "3.12";
target = "/src/cli/main";
};
};
Expand All @@ -257,7 +257,7 @@
};
testPython = {
example = {
python = "3.11";
python = "3.12";
src = "/test/test-python";
};
cliMain = {
Expand Down
86 changes: 43 additions & 43 deletions makes/cli/env/test/pypi-sources.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
closure:
colorama: 0.4.6
coverage: 7.3.1
coverage: 7.4.0
iniconfig: 2.0.0
packaging: "23.1"
packaging: "23.2"
pluggy: 1.3.0
pytest: 7.4.2
pytest: 7.4.4
pytest-cov: 4.1.0
links:
- name: colorama-0.4.6-py2.py3-none-any.whl
Expand All @@ -13,61 +13,61 @@ links:
- name: colorama-0.4.6.tar.gz
sha256: 0i3fpq0w5mbfdpy3z9p5raw4fg17jxr6jwh5l8qhavpdnxf5ys88
url: https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz
- name: coverage-7.3.1-cp311-cp311-macosx_10_9_x86_64.whl
sha256: 1qrrfrg482lf31z2vwny80g5dbxjgb5gahfb6nsqj6fwk41lgfvl
url: https://files.pythonhosted.org/packages/f3/c8/2fa541357143ff9461db094f802d5880112212f8ec24dd8773c0c3f1c90b/coverage-7.3.1-cp311-cp311-macosx_10_9_x86_64.whl
- name: coverage-7.3.1-cp311-cp311-macosx_11_0_arm64.whl
sha256: 0xdk0dzj5g1w5ljhawacx8m4vc6v58jl66yr6p0818hw3wvysp82
url: https://files.pythonhosted.org/packages/02/1e/64b944f16e4576ef0c369d5588b79f359dcf12ca6b6277f8a7d92385462c/coverage-7.3.1-cp311-cp311-macosx_11_0_arm64.whl
- name: coverage-7.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sha256: 1y9mv3w8v6qmbls6icj6mnqf7rzzxrm5rd3mzmn9pq6kd8x1n6d6
url: https://files.pythonhosted.org/packages/81/9c/cec3209e812f57d6abffd1946fef708c3ddbde145ff2481e430c1e5d363e/coverage-7.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- name: coverage-7.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
sha256: 14w5kg49291bw868cbs17cppi9ha8y2y6ad5b7bdsh8fyf4b3c3y
url: https://files.pythonhosted.org/packages/20/a1/4ba07441c63893146694d0530dcd666d00bb15aaaf138b010fe8b0f53c98/coverage-7.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- name: coverage-7.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256: 1j4yd19cap3jxq42jay2gkjkdwrysrkmixygpi2zg3zxkpgz1j3m
url: https://files.pythonhosted.org/packages/e8/bc/4707652867891c1da12759cc1dcdffed539da88e6fd8d32ff2d97b2b5db4/coverage-7.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- name: coverage-7.3.1-cp311-cp311-musllinux_1_1_aarch64.whl
sha256: 186mqdc3395nn3m1sqckprj408bk8zjdrpi663kx16sbsm4cvcvy
url: https://files.pythonhosted.org/packages/54/bb/9512fcbf51ff237e0e46cebf887fbf382ff7e0b51e48fbebe8e7da5ed968/coverage-7.3.1-cp311-cp311-musllinux_1_1_aarch64.whl
- name: coverage-7.3.1-cp311-cp311-musllinux_1_1_i686.whl
sha256: 1khkbv43c9x1myvrilqqk6453n9f46aib1dpj3j33b5cfmz5ng5c
url: https://files.pythonhosted.org/packages/19/f9/05634b5d28218dc9d6c150588468e314685e1166c05c3cbe9b2983a2e060/coverage-7.3.1-cp311-cp311-musllinux_1_1_i686.whl
- name: coverage-7.3.1-cp311-cp311-musllinux_1_1_x86_64.whl
sha256: 18xhxfmx9kjwdyvf3xk30z0hvw37p7qqs8x7mzq7l1vq104ffkjv
url: https://files.pythonhosted.org/packages/97/b7/cfbc4d13e64b855bce829ce84c4c0828885cf045367c15f591b4edab8c1d/coverage-7.3.1-cp311-cp311-musllinux_1_1_x86_64.whl
- name: coverage-7.3.1.tar.gz
sha256: 0lkrg1am5cywcwaazvff2aiim4103ra3cc8m5iw7pdnyh4azxdvc
url: https://files.pythonhosted.org/packages/29/73/f584ffd3acea29a2f2330bb8fd0c14af3f0efd03f73c696a6f229199198e/coverage-7.3.1.tar.gz
- name: coverage-7.4.0-cp312-cp312-macosx_10_9_x86_64.whl
sha256: 0hx13gpmj0i5z3da71245038l9l8xg50fdzywpikz21yxivg9shk
url: https://files.pythonhosted.org/packages/b5/49/b6b4f09309b34ca4bbdb88d7f22467014df2182b7810de59030886af86d2/coverage-7.4.0-cp312-cp312-macosx_10_9_x86_64.whl
- name: coverage-7.4.0-cp312-cp312-macosx_11_0_arm64.whl
sha256: 1qp3rf4xy8k2hp4ssqbbmrdbaxa0zd9cjcgipjszyai1dvs54vw4
url: https://files.pythonhosted.org/packages/0b/18/03a276a0f4f7847f50d21b1e9a5c715438c0ae03afd4a944c2123bee3621/coverage-7.4.0-cp312-cp312-macosx_11_0_arm64.whl
- name: coverage-7.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sha256: 0jlc75mq3rpayvll2svh99jb56sll5kxakkr1vwwq6apd6l6vxi6
url: https://files.pythonhosted.org/packages/2a/9b/2a17ca3f7c59e77d18b6a829ef8fa4bff7690c1e77035e6a67b4531bc484/coverage-7.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- name: coverage-7.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
sha256: 0ill5z6ai48w2zfbpks23sl3jc1h5sv49dsrd99acsbc4k1xqkqn
url: https://files.pythonhosted.org/packages/7a/c1/904595c61b1db7b689f4a2e9f5d6d40772742a17ae1d9e03f5e59f5b89ca/coverage-7.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- name: coverage-7.4.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256: 1yaall3blzb9blbgnfda2nkbds8l47gw8jyqfxb5d9i523vl6r9i
url: https://files.pythonhosted.org/packages/fa/3d/b619bf766a82396755c4d83619dd3858ae29921edc3c8acc99b370fab5ff/coverage-7.4.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- name: coverage-7.4.0-cp312-cp312-musllinux_1_1_aarch64.whl
sha256: 1p8qwg06h7awhs6dy3w5nsb69v44lyjls38aw08l90hbva1fc7dv
url: https://files.pythonhosted.org/packages/5e/55/626581aca785c08c67ff00ede69e594f943b6b7d4a6eed346cf5a38150e1/coverage-7.4.0-cp312-cp312-musllinux_1_1_aarch64.whl
- name: coverage-7.4.0-cp312-cp312-musllinux_1_1_i686.whl
sha256: 0yj0lnanrf86ifz7z79m3lg7py1pcaaa6cb3x77zrgwgirvhd38f
url: https://files.pythonhosted.org/packages/c0/40/65201983514ead3f06d8193b964705e7438a8b1fc806ca42d10467d20a81/coverage-7.4.0-cp312-cp312-musllinux_1_1_i686.whl
- name: coverage-7.4.0-cp312-cp312-musllinux_1_1_x86_64.whl
sha256: 1aix6mfrnfipknbx1li7h988pfdj07nxvbipd82pgzxpnx6y6vd5
url: https://files.pythonhosted.org/packages/ab/a0/b5a5cfa2a05cd00fa340011e9419f89c575bf8f490a6d1299b5b6b0022d8/coverage-7.4.0-cp312-cp312-musllinux_1_1_x86_64.whl
- name: coverage-7.4.0.tar.gz
sha256: 03k1rf9i4ypqv1dn255xf6gn07pfjs4vccnfks0bh4hprdc0yz3h
url: https://files.pythonhosted.org/packages/67/8a/a8aebe8c70fadb1ad8bdadfc8fb97ce9a518ca406cb6eece0ed17122bfa4/coverage-7.4.0.tar.gz
- name: iniconfig-2.0.0-py3-none-any.whl
sha256: 0x43fyv1hpwpmvvqh73ldcyac9j2hb14mffis8i3nblxlxqmia5n
url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl
- name: iniconfig-2.0.0.tar.gz
sha256: 1cxqanj28jqk0alx2xq4ddgvab5822k6vh8p1d0imlvjpwsy349d
url: https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz
- name: packaging-23.1-py3-none-any.whl
sha256: 0qfwgvgx5f74cqlzjjlpzslw21wxc9jgcsxz5vmc80lm8apr6iwr
url: https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl
- name: packaging-23.1.tar.gz
sha256: 0krkvmkqgm7y1i7w6zhyklqm2l84n1abx60q8d2adzvc5c6ri4m3
url: https://files.pythonhosted.org/packages/b9/6c/7c6658d258d7971c5eb0d9b69fa9265879ec9a9158031206d47800ae2213/packaging-23.1.tar.gz
- name: packaging-23.2-py3-none-any.whl
sha256: 1iw8zh1m56r0xmkxxl2dnc4pbx1frkdbbl1iv7hzg6is0f812jcc
url: https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl
- name: packaging-23.2.tar.gz
sha256: 1ifgjb0d0bnnm78hv3mnl7hi233m7jamb2plma752djh83lv13q4
url: https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b/packaging-23.2.tar.gz
- name: pluggy-1.3.0-py3-none-any.whl
sha256: 1xv121p7p35mdw50d1vcwv5r6dvs5flwsplfs5vx72rzfxm6k76q
url: https://files.pythonhosted.org/packages/05/b8/42ed91898d4784546c5f06c60506400548db3f7a4b3fb441cba4e5c17952/pluggy-1.3.0-py3-none-any.whl
- name: pluggy-1.3.0.tar.gz
sha256: 04hyclq0fjlq78dpf2amc5vwmls37q7g6b0pa72ggika2a7swqfg
url: https://files.pythonhosted.org/packages/36/51/04defc761583568cae5fd533abda3d40164cbdcf22dee5b7126ffef68a40/pluggy-1.3.0.tar.gz
- name: pytest-7.4.2-py3-none-any.whl
sha256: 00mhk66s8w58l3axv5610553bdfqpz03xfkmpfhz13z04ihir20x
url: https://files.pythonhosted.org/packages/df/d0/e192c4275aecabf74faa1aacd75ef700091913236ec78b1a98f62a2412ee/pytest-7.4.2-py3-none-any.whl
- name: pytest-7.4.2.tar.gz
sha256: 0sbhqi3ys8vwd5wkgjilgvmw6x8si0dsw6nbaans4r5mzaf2arm7
url: https://files.pythonhosted.org/packages/e5/d0/18209bb95db8ee693a9a04fe056ab0663c6d6b1baf67dd50819dd9cd4bd7/pytest-7.4.2.tar.gz
- name: pytest-7.4.4-py3-none-any.whl
sha256: 1n01x86dhg79mf8ydzzv6kq2vhn1q8wk5q0v4r2lrgv0xpswv45h
url: https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl
- name: pytest-7.4.4.tar.gz
sha256: 1022k7kyj37m699l21rir7ym75qdxf0412zcwaiy9b6649ch1w1c
url: https://files.pythonhosted.org/packages/80/1f/9d8e98e4133ffb16c90f3b405c43e38d3abb715bb5d7a63a5a684f7e46a3/pytest-7.4.4.tar.gz
- name: pytest_cov-4.1.0-py3-none-any.whl
sha256: 0flcpqad2flq6gpl2shd9mfbd3qk18nspzjvnhzwr7z6jyg0p9vb
url: https://files.pythonhosted.org/packages/a7/4b/8b78d126e275efa2379b1c2e09dc52cf70df16fc3b90613ef82531499d73/pytest_cov-4.1.0-py3-none-any.whl
- name: pytest-cov-4.1.0.tar.gz
sha256: 1xhfl7b09wk4iarimpqxl821klcwb1dzsxwf7c07zi7yzcyv211r
url: https://files.pythonhosted.org/packages/7a/15/da3df99fd551507694a9b01f512a2f6cf1254f33601605843c3775f39460/pytest-cov-4.1.0.tar.gz
python: "3.11"
python: "3.12"
4 changes: 2 additions & 2 deletions makes/utils/makePythonLock/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ function main {
}
}
}'
local implementations38=(any cp38 py2.py3 py3 source)
local implementations39=(any cp39 py2.py3 py3 source)
local implementations310=(any cp310 py2.py3 py3 source)
local implementations311=(any cp311 py2.py3 py3 source)
local implementations312=(any cp312 py2.py3 py3 source)

true \
&& case "${python_version}" in
3.8) python=__argPy38__ && implementations=("${implementations38[@]}") ;;
3.9) python=__argPy39__ && implementations=("${implementations39[@]}") ;;
3.10) python=__argPy310__ && implementations=("${implementations310[@]}") ;;
3.11) python=__argPy311__ && implementations=("${implementations311[@]}") ;;
3.12) python=__argPy312__ && implementations=("${implementations312[@]}") ;;
*) critical Python version not supported: "${python_version}" ;;
esac \
&& info Generating manifest: \
Expand Down
2 changes: 1 addition & 1 deletion makes/utils/makePythonLock/main.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ makeScript {
entrypoint = ./entrypoint.sh;
name = "python-pypi2nix";
replace = {
__argPy38__ = makePythonVersion "3.8";
__argPy39__ = makePythonVersion "3.9";
__argPy310__ = makePythonVersion "3.10";
__argPy311__ = makePythonVersion "3.11";
__argPy312__ = makePythonVersion "3.12";
};
searchPaths.bin = [
__nixpkgs__.curl
Expand Down
Loading
Loading