Skip to content

Commit

Permalink
Merge pull request #1232 from rohaquinlop/issue-1218
Browse files Browse the repository at this point in the history
feat(back): #1218 add python 3.12 support
  • Loading branch information
dsalaza4 authored Jan 3, 2024
2 parents ce9f349 + 0089c6d commit a3dcff6
Show file tree
Hide file tree
Showing 34 changed files with 797 additions and 548 deletions.
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

0 comments on commit a3dcff6

Please sign in to comment.