Merge pull request #194865 from adisbladis/poetry2nix-1_32_1
poetry2nix: 1.31.0 -> 1.33.0
This commit is contained in:
@@ -10,7 +10,7 @@ let
|
||||
interpreter = (
|
||||
poetry2nix.mkPoetryPackages {
|
||||
projectDir = ./.;
|
||||
python = pkgs.python39;
|
||||
python = pkgs.python310;
|
||||
overrides = [
|
||||
poetry2nix.defaultPoetryOverrides
|
||||
(import ./poetry-git-overlay.nix { inherit pkgs; })
|
||||
@@ -42,18 +42,33 @@ let
|
||||
overrides
|
||||
|
||||
# Make nixops pluginable
|
||||
(self: super: {
|
||||
(self: super: let
|
||||
# Create a fake sphinx directory that doesn't pull the entire setup hook and incorrect python machinery
|
||||
sphinx = pkgs.runCommand "sphinx" {} ''
|
||||
mkdir -p $out/bin
|
||||
for f in ${pkgs.python3.pkgs.sphinx}/bin/*; do
|
||||
ln -s $f $out/bin/$(basename $f)
|
||||
done
|
||||
'';
|
||||
|
||||
in {
|
||||
nixops = super.__toPluginAble {
|
||||
drv = super.nixops;
|
||||
finalDrv = self.nixops;
|
||||
|
||||
nativeBuildInputs = [ self.sphinx ];
|
||||
nativeBuildInputs = [ sphinx ];
|
||||
|
||||
postInstall = ''
|
||||
doc_cache=$(mktemp -d)
|
||||
sphinx-build -b man -d $doc_cache doc/ $out/share/man/man1
|
||||
|
||||
html=$(mktemp -d)
|
||||
sphinx-build -b html -d $doc_cache doc/ $out/share/nixops/doc
|
||||
|
||||
# Override buggy nixpkgs function
|
||||
pythonOutputDistPhase() {
|
||||
echo "no-op output dist phase"
|
||||
}
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
@@ -5,8 +5,8 @@ self: super: {
|
||||
_: {
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/NixOS/nixops.git";
|
||||
rev = "7220cbdc8a1cf2db5b3ad75b525faf145a5560a3";
|
||||
sha256 = "199cw25cvjb8gxs56nc8ilq7v4560c6vgi1sh1vqrsqxayq1g4cs";
|
||||
rev = "683baa66c613216a662aad3fd58b0cdc5cd41adb";
|
||||
sha256 = "00yyzsybn1fjhkar64albxqp46d1v9c6lf1gd10lh9q72xq979sf";
|
||||
};
|
||||
}
|
||||
);
|
||||
@@ -15,8 +15,8 @@ self: super: {
|
||||
_: {
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/NixOS/nixops-aws.git";
|
||||
rev = "bc9de10b77aa74c9b245fd533f829e4307b984e8";
|
||||
sha256 = "12qsaxwlk67q04g13sqs4bxscpjspip5yphx6d8rq3iqki8yg4z9";
|
||||
rev = "d8a6679c413edd1a7075b2fe08017b4c7fa3b3ce";
|
||||
sha256 = "0aqkaskp6nkcnfxxf1n294xp4ggk36qldj5c3kzfgxim06jap7n5";
|
||||
};
|
||||
}
|
||||
);
|
||||
@@ -25,8 +25,8 @@ self: super: {
|
||||
_: {
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/nix-community/nixops-digitalocean.git";
|
||||
rev = "b527b4bd27a419753e38c8231fd7528b3ea33886";
|
||||
sha256 = "069jlgcjqgyb1v3dnrp2h0w4gv5hfx624iq2xazaix2wxpx9w7f8";
|
||||
rev = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff";
|
||||
sha256 = "020fg1kjh3x57dj95micpq6mxjg5j50jy6cs5f10i33ayy3556v8";
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
+127
-112
@@ -19,14 +19,14 @@ python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "boto3"
|
||||
version = "1.24.16"
|
||||
version = "1.24.88"
|
||||
description = "The AWS SDK for Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">= 3.7"
|
||||
|
||||
[package.dependencies]
|
||||
botocore = ">=1.27.16,<1.28.0"
|
||||
botocore = ">=1.27.88,<1.28.0"
|
||||
jmespath = ">=0.7.1,<2.0.0"
|
||||
s3transfer = ">=0.6.0,<0.7.0"
|
||||
|
||||
@@ -35,7 +35,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
|
||||
|
||||
[[package]]
|
||||
name = "botocore"
|
||||
version = "1.27.16"
|
||||
version = "1.27.88"
|
||||
description = "Low-level, data-driven core of boto 3."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -47,11 +47,11 @@ python-dateutil = ">=2.1,<3.0.0"
|
||||
urllib3 = ">=1.25.4,<1.27"
|
||||
|
||||
[package.extras]
|
||||
crt = ["awscrt (==0.13.8)"]
|
||||
crt = ["awscrt (==0.14.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "certifi"
|
||||
version = "2022.6.15"
|
||||
version = "2022.9.24"
|
||||
description = "Python package for providing Mozilla's CA Bundle."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -59,7 +59,7 @@ python-versions = ">=3.6"
|
||||
|
||||
[[package]]
|
||||
name = "cffi"
|
||||
version = "1.15.0"
|
||||
version = "1.15.1"
|
||||
description = "Foreign Function Interface for Python calling C code."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -70,11 +70,11 @@ pycparser = "*"
|
||||
|
||||
[[package]]
|
||||
name = "charset-normalizer"
|
||||
version = "2.0.12"
|
||||
version = "2.1.1"
|
||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5.0"
|
||||
python-versions = ">=3.6.0"
|
||||
|
||||
[package.extras]
|
||||
unicode_backport = ["unicodedata2"]
|
||||
@@ -91,12 +91,12 @@ python-versions = ">=3.6"
|
||||
cffi = ">=1.12"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
|
||||
docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
|
||||
docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx_rtd_theme"]
|
||||
docstest = ["doc8", "pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"]
|
||||
pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
|
||||
sdist = ["setuptools-rust (>=0.11.4)"]
|
||||
ssh = ["bcrypt (>=3.1.5)"]
|
||||
test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
|
||||
test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pytz"]
|
||||
|
||||
[[package]]
|
||||
name = "hetzner"
|
||||
@@ -108,7 +108,7 @@ python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "3.3"
|
||||
version = "3.4"
|
||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -131,13 +131,13 @@ optional = false
|
||||
python-versions = ">=2.7"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
|
||||
testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-black-multipy", "pytest-cov", "ecdsa", "feedparser", "numpy", "pandas", "pymongo", "scikit-learn", "sqlalchemy", "pytest-flake8 (<1.1.0)", "enum34", "jsonlib", "pytest-flake8 (>=1.1.1)"]
|
||||
docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"]
|
||||
testing = ["ecdsa", "enum34", "feedparser", "jsonlib", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (<1.1.0)", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"]
|
||||
"testing.libs" = ["simplejson", "ujson", "yajl"]
|
||||
|
||||
[[package]]
|
||||
name = "libvirt-python"
|
||||
version = "8.4.0"
|
||||
version = "8.8.0"
|
||||
description = "The libvirt virtualization API python binding"
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -149,11 +149,11 @@ version = "2.0.0"
|
||||
description = "NixOS cloud provisioning and deployment tool"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "^3.7"
|
||||
python-versions = "^3.10"
|
||||
develop = false
|
||||
|
||||
[package.dependencies]
|
||||
pluggy = "^0.13.1"
|
||||
pluggy = "^1.0.0"
|
||||
PrettyTable = "^0.7.2"
|
||||
typeguard = "^2.7.1"
|
||||
typing-extensions = "^3.7.4"
|
||||
@@ -162,7 +162,7 @@ typing-extensions = "^3.7.4"
|
||||
type = "git"
|
||||
url = "https://github.com/NixOS/nixops.git"
|
||||
reference = "master"
|
||||
resolved_reference = "7220cbdc8a1cf2db5b3ad75b525faf145a5560a3"
|
||||
resolved_reference = "683baa66c613216a662aad3fd58b0cdc5cd41adb"
|
||||
|
||||
[[package]]
|
||||
name = "nixops-aws"
|
||||
@@ -183,8 +183,8 @@ typing-extensions = "^3.7.4"
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/NixOS/nixops-aws.git"
|
||||
reference = "master"
|
||||
resolved_reference = "bc9de10b77aa74c9b245fd533f829e4307b984e8"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "d8a6679c413edd1a7075b2fe08017b4c7fa3b3ce"
|
||||
|
||||
[[package]]
|
||||
name = "nixops-digitalocean"
|
||||
@@ -196,14 +196,14 @@ python-versions = "^3.7"
|
||||
develop = false
|
||||
|
||||
[package.dependencies]
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"}
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git"}
|
||||
python-digitalocean = "^1.15.0"
|
||||
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/nix-community/nixops-digitalocean.git"
|
||||
reference = "master"
|
||||
resolved_reference = "b527b4bd27a419753e38c8231fd7528b3ea33886"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff"
|
||||
|
||||
[[package]]
|
||||
name = "nixops-encrypted-links"
|
||||
@@ -215,12 +215,12 @@ python-versions = "^3.7"
|
||||
develop = false
|
||||
|
||||
[package.dependencies]
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"}
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git"}
|
||||
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/nix-community/nixops-encrypted-links.git"
|
||||
reference = "master"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "e2f196fce15fcfb00d18c055e1ac53aec33b8fb1"
|
||||
|
||||
[[package]]
|
||||
@@ -241,7 +241,7 @@ nixos-modules-contrib = {git = "https://github.com/nix-community/nixos-modules-c
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/nix-community/nixops-gce.git"
|
||||
reference = "master"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "712453027486e62e087b9c91e4a8a171eebb6ddd"
|
||||
|
||||
[[package]]
|
||||
@@ -254,12 +254,12 @@ python-versions = "^3.8"
|
||||
develop = false
|
||||
|
||||
[package.dependencies]
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"}
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git"}
|
||||
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/hercules-ci/nixops-hercules-ci.git"
|
||||
reference = "master"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "e601d5baffd003fd5f22deeaea0cb96444b054dc"
|
||||
|
||||
[[package]]
|
||||
@@ -280,7 +280,7 @@ typing-extensions = "^3.7.4"
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/NixOS/nixops-hetzner"
|
||||
reference = "master"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35"
|
||||
|
||||
[[package]]
|
||||
@@ -294,12 +294,12 @@ develop = false
|
||||
|
||||
[package.dependencies]
|
||||
libvirt-python = "^8.0"
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"}
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git"}
|
||||
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/nix-community/nixops-libvirtd.git"
|
||||
reference = "master"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "bc3cf1c5c774a80e05991ca040baa2b23e3ecd51"
|
||||
|
||||
[[package]]
|
||||
@@ -317,7 +317,7 @@ nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
|
||||
[package.source]
|
||||
type = "git"
|
||||
url = "https://github.com/nix-community/nixops-vbox.git"
|
||||
reference = "master"
|
||||
reference = "HEAD"
|
||||
resolved_reference = "2729672865ebe2aa973c062a3fbddda8c1359da0"
|
||||
|
||||
[[package]]
|
||||
@@ -340,14 +340,15 @@ resolved_reference = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8"
|
||||
|
||||
[[package]]
|
||||
name = "pluggy"
|
||||
version = "0.13.1"
|
||||
version = "1.0.0"
|
||||
description = "plugin and hook calling mechanisms for python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.extras]
|
||||
dev = ["pre-commit", "tox"]
|
||||
testing = ["pytest", "pytest-benchmark"]
|
||||
|
||||
[[package]]
|
||||
name = "prettytable"
|
||||
@@ -390,7 +391,7 @@ requests = "*"
|
||||
|
||||
[[package]]
|
||||
name = "requests"
|
||||
version = "2.28.0"
|
||||
version = "2.28.1"
|
||||
description = "Python HTTP for Humans."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -398,13 +399,13 @@ python-versions = ">=3.7, <4"
|
||||
|
||||
[package.dependencies]
|
||||
certifi = ">=2017.4.17"
|
||||
charset-normalizer = ">=2.0.0,<2.1.0"
|
||||
charset-normalizer = ">=2,<3"
|
||||
idna = ">=2.5,<4"
|
||||
urllib3 = ">=1.21.1,<1.27"
|
||||
|
||||
[package.extras]
|
||||
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
||||
use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
|
||||
use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
|
||||
|
||||
[[package]]
|
||||
name = "s3transfer"
|
||||
@@ -437,8 +438,8 @@ optional = false
|
||||
python-versions = ">=3.5.3"
|
||||
|
||||
[package.extras]
|
||||
doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"]
|
||||
test = ["pytest", "typing-extensions", "mypy"]
|
||||
doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
|
||||
test = ["mypy", "pytest", "typing-extensions"]
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
@@ -450,21 +451,21 @@ python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "urllib3"
|
||||
version = "1.26.9"
|
||||
version = "1.26.12"
|
||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
|
||||
|
||||
[package.extras]
|
||||
brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
|
||||
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
|
||||
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
|
||||
secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
|
||||
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.9"
|
||||
content-hash = "781bb4378f4491b427372322c3ec71131ed7a28e0a166e0bc43969b016b5d926"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "dd5b4dffae860fa56cf6c00bf5aea7a89d7501b2839fdd5e25c5782548092e55"
|
||||
|
||||
[metadata.files]
|
||||
apache-libcloud = [
|
||||
@@ -476,72 +477,86 @@ boto = [
|
||||
{file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
|
||||
]
|
||||
boto3 = [
|
||||
{file = "boto3-1.24.16-py3-none-any.whl", hash = "sha256:2c6f7e4103d41ca07d6b934a6612e4b9a2666eae36e8289f88726868534b8de2"},
|
||||
{file = "boto3-1.24.16.tar.gz", hash = "sha256:422c000ff2ee5226e89fe427a9c4c09db095d69c179a3bcc3cfba37cbc5e787e"},
|
||||
{file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"},
|
||||
{file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"},
|
||||
]
|
||||
botocore = [
|
||||
{file = "botocore-1.27.16-py3-none-any.whl", hash = "sha256:f117d59899d21beeb200130d7af2090a8112d702a06e2c2794ef576bcea36773"},
|
||||
{file = "botocore-1.27.16.tar.gz", hash = "sha256:b3b9710902f675a11f5bfd46afda770150530876ae6541d099584462bf949fd1"},
|
||||
{file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"},
|
||||
{file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"},
|
||||
]
|
||||
certifi = [
|
||||
{file = "certifi-2022.6.15-py3-none-any.whl", hash = "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412"},
|
||||
{file = "certifi-2022.6.15.tar.gz", hash = "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"},
|
||||
{file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
|
||||
{file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
|
||||
]
|
||||
cffi = [
|
||||
{file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
|
||||
{file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
|
||||
{file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
|
||||
{file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
|
||||
{file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
|
||||
{file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
|
||||
{file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
|
||||
{file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
|
||||
{file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
|
||||
{file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
|
||||
{file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
|
||||
{file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
|
||||
{file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
|
||||
{file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
|
||||
{file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
|
||||
{file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
|
||||
{file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
|
||||
{file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
|
||||
{file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
|
||||
{file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
|
||||
{file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
|
||||
{file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
|
||||
{file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
|
||||
{file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
|
||||
{file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
|
||||
{file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
|
||||
{file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
|
||||
]
|
||||
charset-normalizer = [
|
||||
{file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"},
|
||||
{file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"},
|
||||
{file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"},
|
||||
{file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"},
|
||||
]
|
||||
cryptography = [
|
||||
{file = "cryptography-3.4.8-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a00cf305f07b26c351d8d4e1af84ad7501eca8a342dedf24a7acb0e7b7406e14"},
|
||||
@@ -568,8 +583,8 @@ hetzner = [
|
||||
{file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"},
|
||||
]
|
||||
idna = [
|
||||
{file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
|
||||
{file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
|
||||
{file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
|
||||
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
|
||||
]
|
||||
jmespath = [
|
||||
{file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"},
|
||||
@@ -580,7 +595,7 @@ jsonpickle = [
|
||||
{file = "jsonpickle-2.2.0.tar.gz", hash = "sha256:7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e"},
|
||||
]
|
||||
libvirt-python = [
|
||||
{file = "libvirt-python-8.4.0.tar.gz", hash = "sha256:6d252ad4e0f765620bbde450be8f2b844e4f85c568b207ac644f52c6a982f46c"},
|
||||
{file = "libvirt-python-8.8.0.tar.gz", hash = "sha256:3441dd34c8936393e195a1b046bc2cab1b14d35d66772e8a51fe4d9735ec6349"},
|
||||
]
|
||||
nixops = []
|
||||
nixops-aws = []
|
||||
@@ -593,8 +608,8 @@ nixops-virtd = []
|
||||
nixopsvbox = []
|
||||
nixos-modules-contrib = []
|
||||
pluggy = [
|
||||
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
|
||||
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
|
||||
{file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
|
||||
{file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
|
||||
]
|
||||
prettytable = [
|
||||
{file = "prettytable-0.7.2.tar.bz2", hash = "sha256:853c116513625c738dc3ce1aee148b5b5757a86727e67eff6502c7ca59d43c36"},
|
||||
@@ -614,8 +629,8 @@ python-digitalocean = [
|
||||
{file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"},
|
||||
]
|
||||
requests = [
|
||||
{file = "requests-2.28.0-py3-none-any.whl", hash = "sha256:bc7861137fbce630f17b03d3ad02ad0bf978c844f3536d0edda6499dafce2b6f"},
|
||||
{file = "requests-2.28.0.tar.gz", hash = "sha256:d568723a7ebd25875d8d1eaf5dfa068cd2fc8194b2e483d7b1f7c81918dbec6b"},
|
||||
{file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
|
||||
{file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
|
||||
]
|
||||
s3transfer = [
|
||||
{file = "s3transfer-0.6.0-py3-none-any.whl", hash = "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd"},
|
||||
@@ -635,6 +650,6 @@ typing-extensions = [
|
||||
{file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"},
|
||||
]
|
||||
urllib3 = [
|
||||
{file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"},
|
||||
{file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"},
|
||||
{file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"},
|
||||
{file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"},
|
||||
]
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "NixOps 2.0"
|
||||
authors = ["Adam Hoese <adam.hose@tweag.io>"]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.9"
|
||||
python = "^3.10"
|
||||
nixops = {git = "https://github.com/NixOS/nixops.git"}
|
||||
nixops-aws = {git = "https://github.com/NixOS/nixops-aws.git"}
|
||||
nixops-digitalocean = {git = "https://github.com/nix-community/nixops-digitalocean.git"}
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
pkgs.mkShell {
|
||||
packages = [
|
||||
pkgs.python310
|
||||
pkgs.poetry2nix.cli
|
||||
pkgs.pkg-config
|
||||
pkgs.libvirt
|
||||
pkgs.python39Packages.poetry
|
||||
pkgs.poetry
|
||||
];
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
}:
|
||||
let
|
||||
# Poetry2nix version
|
||||
version = "1.31.0";
|
||||
version = "1.33.0";
|
||||
|
||||
inherit (poetryLib) isCompatible readTOML moduleName;
|
||||
inherit (poetryLib) isCompatible readTOML normalizePackageName normalizePackageSet;
|
||||
|
||||
# Map SPDX identifiers to license names
|
||||
spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses)));
|
||||
@@ -17,29 +17,33 @@ let
|
||||
# Experimental withPlugins functionality
|
||||
toPluginAble = (import ./plugins.nix { inherit pkgs lib; }).toPluginAble;
|
||||
|
||||
# List of known build systems that are passed through from nixpkgs unmodified
|
||||
knownBuildSystems = builtins.fromJSON (builtins.readFile ./known-build-systems.json);
|
||||
nixpkgsBuildSystems = lib.subtractLists [ "poetry" "poetry-core" ] knownBuildSystems;
|
||||
|
||||
mkInputAttrs =
|
||||
{ py
|
||||
, pyProject
|
||||
, attrs
|
||||
, includeBuildSystem ? true
|
||||
, groups ? [ ]
|
||||
}:
|
||||
let
|
||||
getInputs = attr: attrs.${attr} or [ ];
|
||||
|
||||
# Get dependencies and filter out depending on interpreter version
|
||||
getDeps = depAttr:
|
||||
getDeps = depSet:
|
||||
let
|
||||
compat = isCompatible (poetryLib.getPythonVersion py);
|
||||
deps = pyProject.tool.poetry.${depAttr} or { };
|
||||
depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames deps);
|
||||
depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames depSet);
|
||||
in
|
||||
(
|
||||
builtins.map
|
||||
(
|
||||
dep:
|
||||
let
|
||||
pkg = py.pkgs."${moduleName dep}";
|
||||
constraints = deps.${dep}.python or "";
|
||||
pkg = py.pkgs."${normalizePackageName dep}";
|
||||
constraints = depSet.${dep}.python or "";
|
||||
isCompat = compat constraints;
|
||||
in
|
||||
if isCompat then pkg else null
|
||||
@@ -57,9 +61,20 @@ let
|
||||
in
|
||||
{
|
||||
buildInputs = mkInput "buildInputs" (if includeBuildSystem then buildSystemPkgs else [ ]);
|
||||
propagatedBuildInputs = mkInput "propagatedBuildInputs" (getDeps "dependencies") ++ ([ py.pkgs.setuptools ]);
|
||||
propagatedBuildInputs = mkInput "propagatedBuildInputs" (
|
||||
(getDeps pyProject.tool.poetry."dependencies" or { })
|
||||
++ (
|
||||
# >=poetry-1.2.0 dependency groups
|
||||
if pyProject.tool.poetry.group or { } != { }
|
||||
then lib.flatten (map (g: getDeps pyProject.tool.poetry.group.${g}.dependencies) groups)
|
||||
else [ ]
|
||||
)
|
||||
);
|
||||
nativeBuildInputs = mkInput "nativeBuildInputs" [ ];
|
||||
checkInputs = mkInput "checkInputs" (getDeps "dev-dependencies");
|
||||
checkInputs = mkInput "checkInputs" (
|
||||
getDeps (pyProject.tool.poetry."dev-dependencies" or { }) # <poetry-1.2.0
|
||||
++ getDeps (pyProject.tool.poetry.group."dev".dependencies or { }) # >=poetry-1.2.0
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -115,7 +130,8 @@ lib.makeScope pkgs.newScope (self: {
|
||||
# Example: { my-app = ./src; }
|
||||
, editablePackageSources ? { }
|
||||
, pyProject ? readTOML pyproject
|
||||
}@attrs:
|
||||
, groups ? [ ]
|
||||
}:
|
||||
let
|
||||
/* The default list of poetry2nix override overlays */
|
||||
mkEvalPep508 = import ./pep508.nix {
|
||||
@@ -144,15 +160,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
let
|
||||
lockfiles = lib.getAttrFromPath [ "metadata" "files" ] poetryLock;
|
||||
in
|
||||
lib.listToAttrs (lib.mapAttrsToList (n: v: { name = moduleName n; value = v; }) lockfiles);
|
||||
specialAttrs = [
|
||||
"overrides"
|
||||
"poetrylock"
|
||||
"projectDir"
|
||||
"pwd"
|
||||
"preferWheels"
|
||||
];
|
||||
passedAttrs = builtins.removeAttrs attrs specialAttrs;
|
||||
lib.listToAttrs (lib.mapAttrsToList (n: v: { name = normalizePackageName n; value = v; }) lockfiles);
|
||||
evalPep508 = mkEvalPep508 python;
|
||||
|
||||
# Filter packages by their PEP508 markers & pyproject interpreter version
|
||||
@@ -170,19 +178,32 @@ lib.makeScope pkgs.newScope (self: {
|
||||
# closure as python can only ever have one version of a dependency
|
||||
baseOverlay = self: super:
|
||||
let
|
||||
getDep = depName: self.${depName};
|
||||
lockPkgs = builtins.listToAttrs (
|
||||
builtins.map
|
||||
(
|
||||
pkgMeta: rec {
|
||||
name = moduleName pkgMeta.name;
|
||||
pkgMeta:
|
||||
if builtins.elem pkgMeta.name nixpkgsBuildSystems then {
|
||||
name = pkgMeta.name;
|
||||
value = super."${pkgMeta.name}";
|
||||
} else rec {
|
||||
name = normalizePackageName pkgMeta.name;
|
||||
value = self.mkPoetryDep (
|
||||
pkgMeta // {
|
||||
inherit pwd preferWheels;
|
||||
source = pkgMeta.source or null;
|
||||
files = lockFiles.${name};
|
||||
pythonPackages = self;
|
||||
sourceSpec = pyProject.tool.poetry.dependencies.${name} or pyProject.tool.poetry.dev-dependencies.${name} or { };
|
||||
|
||||
sourceSpec =
|
||||
let
|
||||
normalizedName = normalizePackageName pkgMeta.name;
|
||||
in
|
||||
(
|
||||
(normalizePackageSet pyProject.tool.poetry.dependencies or { }).${normalizedName}
|
||||
or (normalizePackageSet pyProject.tool.poetry.dev-dependencies or { }).${normalizedName}
|
||||
or (normalizePackageSet pyProject.tool.poetry.group.dev.dependencies { }).${normalizedName} # Poetry 1.2.0+
|
||||
or { }
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -231,7 +252,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
super)
|
||||
|
||||
# Null out any filtered packages, we don't want python.pkgs from nixpkgs
|
||||
(self: super: builtins.listToAttrs (builtins.map (x: { name = moduleName x.name; value = null; }) incompatible))
|
||||
(self: super: builtins.listToAttrs (builtins.map (x: { name = normalizePackageName x.name; value = null; }) incompatible))
|
||||
# Create poetry2nix layer
|
||||
baseOverlay
|
||||
|
||||
@@ -241,7 +262,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) overlays;
|
||||
py = python.override { inherit packageOverrides; self = py; };
|
||||
|
||||
inputAttrs = mkInputAttrs { inherit py pyProject; attrs = { }; includeBuildSystem = false; };
|
||||
inputAttrs = mkInputAttrs { inherit py pyProject groups; attrs = { }; includeBuildSystem = false; };
|
||||
|
||||
requiredPythonModules = python.pkgs.requiredPythonModules;
|
||||
/* Include all the nested dependencies which are required for each package.
|
||||
@@ -276,9 +297,10 @@ lib.makeScope pkgs.newScope (self: {
|
||||
, preferWheels ? false
|
||||
, editablePackageSources ? { }
|
||||
, extraPackages ? ps: [ ]
|
||||
, groups ? [ "dev" ]
|
||||
}:
|
||||
let
|
||||
inherit (lib) elem hasAttr;
|
||||
inherit (lib) hasAttr;
|
||||
|
||||
pyProject = readTOML pyproject;
|
||||
|
||||
@@ -294,6 +316,12 @@ lib.makeScope pkgs.newScope (self: {
|
||||
allEditablePackageSources = (
|
||||
(getEditableDeps (pyProject.tool.poetry."dependencies" or { }))
|
||||
// (getEditableDeps (pyProject.tool.poetry."dev-dependencies" or { }))
|
||||
// (
|
||||
# Poetry>=1.2.0
|
||||
if pyProject.tool.poetry.group or { } != { } then
|
||||
builtins.foldl' (acc: g: acc // getEditableDeps pyProject.tool.poetry.group.${g}.dependencies) { } groups
|
||||
else { }
|
||||
)
|
||||
// editablePackageSources
|
||||
);
|
||||
|
||||
@@ -302,7 +330,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
excludedEditablePackageNames;
|
||||
|
||||
poetryPython = self.mkPoetryPackages {
|
||||
inherit pyproject poetrylock overrides python pwd preferWheels pyProject;
|
||||
inherit pyproject poetrylock overrides python pwd preferWheels pyProject groups;
|
||||
editablePackageSources = editablePackageSources';
|
||||
};
|
||||
|
||||
@@ -335,11 +363,12 @@ lib.makeScope pkgs.newScope (self: {
|
||||
, python ? pkgs.python3
|
||||
, pwd ? projectDir
|
||||
, preferWheels ? false
|
||||
, groups ? [ ]
|
||||
, ...
|
||||
}@attrs:
|
||||
let
|
||||
poetryPython = self.mkPoetryPackages {
|
||||
inherit pyproject poetrylock overrides python pwd preferWheels;
|
||||
inherit pyproject poetrylock overrides python pwd preferWheels groups;
|
||||
};
|
||||
py = poetryPython.python;
|
||||
|
||||
@@ -354,7 +383,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
];
|
||||
passedAttrs = builtins.removeAttrs attrs specialAttrs;
|
||||
|
||||
inputAttrs = mkInputAttrs { inherit py pyProject attrs; };
|
||||
inputAttrs = mkInputAttrs { inherit py pyProject attrs groups; };
|
||||
|
||||
app = py.pkgs.buildPythonPackage (
|
||||
passedAttrs // inputAttrs // {
|
||||
@@ -363,7 +392,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
py.pkgs.removeGitDependenciesHook
|
||||
];
|
||||
} // {
|
||||
pname = moduleName pyProject.tool.poetry.name;
|
||||
pname = normalizePackageName pyProject.tool.poetry.name;
|
||||
version = pyProject.tool.poetry.version;
|
||||
|
||||
inherit src;
|
||||
@@ -445,7 +474,7 @@ lib.makeScope pkgs.newScope (self: {
|
||||
|
||||
Can be overriden by calling defaultPoetryOverrides.overrideOverlay which takes an overlay function
|
||||
*/
|
||||
defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides { inherit pkgs lib; });
|
||||
defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides { inherit pkgs lib poetryLib; });
|
||||
|
||||
/*
|
||||
Convenience functions for specifying overlays with or without the poerty2nix default overrides
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
, editablePackageSources
|
||||
}:
|
||||
let
|
||||
name = poetryLib.moduleName pyProject.tool.poetry.name;
|
||||
name = poetryLib.normalizePackageName pyProject.tool.poetry.name;
|
||||
|
||||
# Just enough standard PKG-INFO fields for an editable installation
|
||||
pkgInfoFields = {
|
||||
|
||||
@@ -80,14 +80,23 @@ if package_filename not in parser.sources:
|
||||
exit(1)
|
||||
|
||||
package_file = open(package_filename, "wb")
|
||||
# Sometimes the href is a relative path
|
||||
if urlparse(parser.sources[package_filename]).netloc == "":
|
||||
# Sometimes the href is a relative or absolute path within the index's domain.
|
||||
indicated_url = urlparse(parser.sources[package_filename])
|
||||
if indicated_url.netloc == "":
|
||||
parsed_url = urlparse(index_url)
|
||||
|
||||
if indicated_url.path.startswith("/"):
|
||||
# An absolute path within the index's domain.
|
||||
path = parser.sources[package_filename]
|
||||
else:
|
||||
# A relative path.
|
||||
path = parsed_url.path + "/" + parser.sources[package_filename]
|
||||
|
||||
package_url = urlunparse(
|
||||
(
|
||||
parsed_url.scheme,
|
||||
parsed_url.netloc,
|
||||
parsed_url.path + "/" + parser.sources[package_filename],
|
||||
path,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
|
||||
@@ -70,6 +70,7 @@ in
|
||||
filenames = builtins.concatStringsSep " " [
|
||||
"pyproject.toml"
|
||||
"README.md"
|
||||
"LICENSE"
|
||||
];
|
||||
};
|
||||
} ./fixup-hook.sh
|
||||
|
||||
@@ -22,6 +22,7 @@ def main(input, output, fields_to_remove):
|
||||
any_removed |= dep.pop(field, None) is not None
|
||||
if any_removed:
|
||||
dep["version"] = "*"
|
||||
dep.pop("develop", None)
|
||||
|
||||
output.write(tomlkit.dumps(data))
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[
|
||||
"poetry",
|
||||
"poetry-core",
|
||||
"flit",
|
||||
"flit-core",
|
||||
"pbr",
|
||||
"flitBuildHook",
|
||||
"cython",
|
||||
"hatchling",
|
||||
"setuptools",
|
||||
"setuptools-scm"
|
||||
]
|
||||
@@ -8,8 +8,16 @@ let
|
||||
genList (i: if i == idx then value else (builtins.elemAt list i)) (length list)
|
||||
);
|
||||
|
||||
# Do some canonicalisation of module names
|
||||
moduleName = name: lib.toLower (lib.replaceStrings [ "_" "." ] [ "-" "-" ] name);
|
||||
# Normalize package names as per PEP 503
|
||||
normalizePackageName = name:
|
||||
let
|
||||
parts = builtins.split "[-_.]+" name;
|
||||
partsWithoutSeparator = builtins.filter (x: builtins.typeOf x == "string") parts;
|
||||
in
|
||||
lib.strings.toLower (lib.strings.concatStringsSep "-" partsWithoutSeparator);
|
||||
|
||||
# Normalize an entire attrset of packages
|
||||
normalizePackageSet = lib.attrsets.mapAttrs' (name: value: lib.attrsets.nameValuePair (normalizePackageName name) value);
|
||||
|
||||
# Get a full semver pythonVersion from a python derivation
|
||||
getPythonVersion = python:
|
||||
@@ -233,7 +241,8 @@ in
|
||||
getBuildSystemPkgs
|
||||
satisfiesSemver
|
||||
cleanPythonSources
|
||||
moduleName
|
||||
normalizePackageName
|
||||
normalizePackageSet
|
||||
getPythonVersion
|
||||
getTargetMachine
|
||||
;
|
||||
|
||||
@@ -26,7 +26,7 @@ pythonPackages.callPackage
|
||||
}@args:
|
||||
let
|
||||
inherit (python) stdenv;
|
||||
inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromLegacy fetchFromPypi moduleName;
|
||||
inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromLegacy fetchFromPypi normalizePackageName;
|
||||
|
||||
inherit (import ./pep425.nix {
|
||||
inherit lib poetryLib python stdenv;
|
||||
@@ -88,26 +88,14 @@ pythonPackages.callPackage
|
||||
else (builtins.elemAt (lib.strings.splitString "-" name) 2);
|
||||
};
|
||||
|
||||
# Prevent infinite recursion
|
||||
skipSetupToolsSCM = [
|
||||
"setuptools_scm"
|
||||
"setuptools-scm"
|
||||
"toml" # Toml is an extra for setuptools-scm
|
||||
"tomli" # tomli is an extra for later versions of setuptools-scm
|
||||
"flit-core"
|
||||
"packaging"
|
||||
"six"
|
||||
"pyparsing"
|
||||
"typing-extensions"
|
||||
];
|
||||
baseBuildInputs = lib.optional (! lib.elem name skipSetupToolsSCM) pythonPackages.setuptools-scm;
|
||||
format = if isDirectory || isGit || isUrl then "pyproject" else fileInfo.format;
|
||||
in
|
||||
buildPythonPackage {
|
||||
pname = moduleName name;
|
||||
pname = normalizePackageName name;
|
||||
version = version;
|
||||
|
||||
inherit format;
|
||||
# Circumvent output separation (https://github.com/NixOS/nixpkgs/pull/190487)
|
||||
format = if format == "pyproject" then "poetry2nix" else format;
|
||||
|
||||
doCheck = false; # We never get development deps
|
||||
|
||||
@@ -118,16 +106,21 @@ pythonPackages.callPackage
|
||||
pythonPackages.poetry2nixFixupHook
|
||||
]
|
||||
++ lib.optional (!isSource && (getManyLinuxDeps fileInfo.name).str != null) autoPatchelfHook
|
||||
++ lib.optionals (format == "wheel") [
|
||||
pythonPackages.wheelUnpackHook
|
||||
pythonPackages.pipInstallHook
|
||||
pythonPackages.setuptools
|
||||
]
|
||||
++ lib.optionals (format == "pyproject") [
|
||||
pythonPackages.removePathDependenciesHook
|
||||
pythonPackages.removeGitDependenciesHook
|
||||
pythonPackages.pipBuildHook
|
||||
];
|
||||
|
||||
buildInputs = (
|
||||
baseBuildInputs
|
||||
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools
|
||||
++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg
|
||||
lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg
|
||||
++ lib.optional isDirectory buildSystemPkgs
|
||||
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools
|
||||
);
|
||||
|
||||
propagatedBuildInputs =
|
||||
@@ -149,7 +142,7 @@ pythonPackages.callPackage
|
||||
);
|
||||
depAttrs = lib.attrNames deps;
|
||||
in
|
||||
builtins.map (n: pythonPackages.${moduleName n}) depAttrs;
|
||||
builtins.map (n: pythonPackages.${normalizePackageName n}) depAttrs;
|
||||
|
||||
meta = {
|
||||
broken = ! isCompatible (poetryLib.getPythonVersion python) python-versions;
|
||||
@@ -172,10 +165,7 @@ pythonPackages.callPackage
|
||||
rev = source.resolved_reference or source.reference;
|
||||
ref = sourceSpec.branch or (if sourceSpec ? tag then "refs/tags/${sourceSpec.tag}" else "HEAD");
|
||||
} // (
|
||||
let
|
||||
nixVersion = builtins.substring 0 3 builtins.nixVersion;
|
||||
in
|
||||
lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast nixVersion "2.4")) {
|
||||
lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast builtins.nixVersion "2.4")) {
|
||||
allRefs = true;
|
||||
}
|
||||
))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
{ pkgs ? import <nixpkgs> { }
|
||||
, lib ? pkgs.lib
|
||||
, stdenv ? pkgs.stdenv
|
||||
, poetryLib
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -37,6 +38,8 @@ let
|
||||
(
|
||||
# Flit only works on Python3
|
||||
if (attr == "flit-core" || attr == "flit" || attr == "hatchling") && !self.isPy3k then drv
|
||||
else if drv == null then null
|
||||
else if drv ? overridePythonAttrs == false then drv
|
||||
else
|
||||
drv.overridePythonAttrs (
|
||||
old:
|
||||
@@ -56,6 +59,8 @@ let
|
||||
|
||||
in
|
||||
lib.composeManyExtensions [
|
||||
# normalize all the names
|
||||
(self: super: poetryLib.normalizePackageSet super)
|
||||
|
||||
# NixOps
|
||||
(self: super:
|
||||
@@ -80,22 +85,11 @@ lib.composeManyExtensions [
|
||||
systems)
|
||||
buildSystems)
|
||||
|
||||
# Build systems with conditionals
|
||||
(self: super: {
|
||||
|
||||
platformdirs =
|
||||
if lib.versionAtLeast super.platformdirs.version "2.5.2"
|
||||
then addBuildSystem { inherit self; drv = super.platformdirs; attr = "hatchling"; extraAttrs = [ "hatch-vcs" ]; }
|
||||
else super.platformdirs;
|
||||
|
||||
})
|
||||
|
||||
# Build fixes
|
||||
(self: super:
|
||||
let
|
||||
inherit (self.python) stdenv;
|
||||
inherit (pkgs.buildPackages) pkg-config;
|
||||
inherit (pkgs) buildPackages;
|
||||
pyBuildPackages = self.python.pythonForBuild.pkgs;
|
||||
|
||||
selectQt5 = version:
|
||||
@@ -108,7 +102,7 @@ lib.composeManyExtensions [
|
||||
|
||||
{
|
||||
automat = super.automat.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ];
|
||||
}
|
||||
);
|
||||
@@ -152,7 +146,7 @@ lib.composeManyExtensions [
|
||||
);
|
||||
|
||||
argcomplete = super.argcomplete.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.importlib-metadata ];
|
||||
}
|
||||
);
|
||||
@@ -164,7 +158,7 @@ lib.composeManyExtensions [
|
||||
);
|
||||
|
||||
astroid = super.astroid.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
@@ -193,13 +187,37 @@ lib.composeManyExtensions [
|
||||
dontUseCmakeConfigure = true;
|
||||
}
|
||||
);
|
||||
|
||||
bcrypt = super.bcrypt.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
|
||||
}
|
||||
);
|
||||
|
||||
bcrypt =
|
||||
let
|
||||
getCargoHash = version: {
|
||||
"4.0.0" = "sha256-HvfRLyUhlXVuvxWrtSDKx3rMKJbjvuiMcDY6g+pYFS0=";
|
||||
}.${version} or (
|
||||
lib.warn "Unknown bcrypt version: '${version}'. Please update getCargoHash." lib.fakeHash
|
||||
);
|
||||
sha256 = getCargoHash super.bcrypt.version;
|
||||
in
|
||||
super.bcrypt.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
++ [ pkgs.libffi ]
|
||||
++ lib.optionals (lib.versionAtLeast old.version "4" && stdenv.isDarwin)
|
||||
[ pkgs.darwin.apple_sdk.frameworks.Security pkgs.libiconv ];
|
||||
nativeBuildInputs = with pkgs;
|
||||
(old.nativeBuildInputs or [ ])
|
||||
++ lib.optionals (lib.versionAtLeast old.version "4")
|
||||
(with pkgs.rustPlatform; [ rust.rustc rust.cargo cargoSetupHook self.setuptools-rust ]);
|
||||
} // lib.optionalAttrs (lib.versionAtLeast old.version "4") rec {
|
||||
cargoDeps =
|
||||
pkgs.rustPlatform.fetchCargoTarball
|
||||
{
|
||||
src = old.src;
|
||||
sourceRoot = "${old.pname}-${old.version}/src/_bcrypt";
|
||||
name = "${old.pname}-${old.version}";
|
||||
sha256 = getCargoHash old.version;
|
||||
};
|
||||
cargoRoot = "src/_bcrypt";
|
||||
}
|
||||
);
|
||||
bjoern = super.bjoern.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ];
|
||||
@@ -276,6 +294,12 @@ lib.composeManyExtensions [
|
||||
)
|
||||
);
|
||||
|
||||
contourpy = super.contourpy.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pybind11 ];
|
||||
}
|
||||
);
|
||||
|
||||
cloudflare = super.cloudflare.overridePythonAttrs (
|
||||
old: {
|
||||
postPatch = ''
|
||||
@@ -326,6 +350,7 @@ lib.composeManyExtensions [
|
||||
"36.0.2" = "1a0ni1a3dbv2dvh6gx2i54z8v5j9m6asqg97kkv7gqb1ivihsbp8";
|
||||
"37.0.2" = "sha256-qvrxvneoBXjP96AnUPyrtfmCnZo+IriHR5HbtWQ5Gk8=";
|
||||
"37.0.4" = "sha256-f8r6QclTwkgK20CNe9i65ZOqvSUeDc4Emv6BFBhh1hI";
|
||||
"38.0.1" = "sha256-o8l13fnfEUvUdDasq3LxSPArozRHKVsZfQg9DNR6M6Q=";
|
||||
}.${version} or (
|
||||
lib.warn "Unknown cryptography version: '${version}'. Please update getCargoHash." lib.fakeHash
|
||||
);
|
||||
@@ -344,7 +369,8 @@ lib.composeManyExtensions [
|
||||
++ lib.optional (!self.isPyPy) pyBuildPackages.cffi
|
||||
++ lib.optional (lib.versionAtLeast old.version "3.5")
|
||||
(with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ]
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
++ [ (if lib.versionAtLeast old.version "37" then pkgs.openssl_3 else pkgs.openssl_1_1) ]
|
||||
++ lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.libiconv ];
|
||||
propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.cffi ];
|
||||
} // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") {
|
||||
@@ -624,6 +650,11 @@ lib.composeManyExtensions [
|
||||
outputs = [ "out" "dev" ];
|
||||
});
|
||||
|
||||
gunicorn = super.gunicorn.overridePythonAttrs (old: {
|
||||
# actually needs setuptools as a runtime dependency
|
||||
propagatedBuildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
|
||||
});
|
||||
|
||||
h3 = super.h3.overridePythonAttrs (
|
||||
old: {
|
||||
preBuild = (old.preBuild or "") + ''
|
||||
@@ -834,8 +865,17 @@ lib.composeManyExtensions [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ];
|
||||
});
|
||||
|
||||
jsonschema =
|
||||
if lib.versionAtLeast super.jsonschema.version "4.0.0"
|
||||
then
|
||||
super.jsonschema.overridePythonAttrs
|
||||
(old: {
|
||||
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.importlib-resources ];
|
||||
})
|
||||
else super.jsonschema;
|
||||
|
||||
jupyter = super.jupyter.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
# jupyter is a meta-package. Everything relevant comes from the
|
||||
# dependencies. It does however have a jupyter.py file that conflicts
|
||||
# with jupyter-core so this meta solves this conflict.
|
||||
@@ -848,7 +888,7 @@ lib.composeManyExtensions [
|
||||
});
|
||||
|
||||
jupyterlab-widgets = super.jupyterlab-widgets.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.jupyter-packaging ];
|
||||
}
|
||||
);
|
||||
@@ -1089,11 +1129,11 @@ lib.composeManyExtensions [
|
||||
excludes = [ "pyproject.toml" ];
|
||||
})
|
||||
];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools self.setuptools-scm self.setuptools-scm-git-archive ];
|
||||
}
|
||||
)) else
|
||||
super.molecule.overridePythonAttrs (old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools self.setuptools-scm self.setuptools-scm-git-archive ];
|
||||
});
|
||||
|
||||
mpi4py = super.mpi4py.overridePythonAttrs (
|
||||
@@ -1153,7 +1193,7 @@ lib.composeManyExtensions [
|
||||
url = "https://github.com/python/mypy/commit/e7869f05751561958b946b562093397027f6d5fa.patch";
|
||||
sha256 = "sha256-waIZ+m3tfvYE4HJ8kL6rN/C4fMjvLEe9UoPbt9mHWIM=";
|
||||
})
|
||||
] ++ lib.optionals (lib.strings.versionAtLeast old.version "0.960") [
|
||||
] ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.960") && (lib.strings.versionOlder old.version "0.971")) [
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/python/mypy/commit/2004ae023b9d3628d9f09886cbbc20868aee8554.patch";
|
||||
sha256 = "sha256-y+tXvgyiECO5+66YLvaje8Bz5iPvfWNIBJcsnZ2nOdI=";
|
||||
@@ -1224,6 +1264,12 @@ lib.composeManyExtensions [
|
||||
}
|
||||
);
|
||||
|
||||
omegaconf = super.omegaconf.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.jdk ];
|
||||
}
|
||||
);
|
||||
|
||||
open3d = super.open3d.overridePythonAttrs (old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ (with pkgs; [
|
||||
udev
|
||||
@@ -1232,13 +1278,16 @@ lib.composeManyExtensions [
|
||||
autoPatchelfIgnoreMissingDeps = true;
|
||||
});
|
||||
|
||||
opencv-python = super.opencv-python.overridePythonAttrs (
|
||||
_opencv-python-override =
|
||||
old: {
|
||||
nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
|
||||
buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
|
||||
dontUseCmakeConfigure = true;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
opencv-python = super.opencv-python.overridePythonAttrs self._opencv-python-override;
|
||||
|
||||
opencv-python-headless = super.opencv-python.overridePythonAttrs self._opencv-python-override;
|
||||
|
||||
opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs (
|
||||
old: {
|
||||
@@ -1249,19 +1298,35 @@ lib.composeManyExtensions [
|
||||
);
|
||||
|
||||
openexr = super.openexr.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ];
|
||||
NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
|
||||
}
|
||||
);
|
||||
|
||||
openvino = super.openvino.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = [
|
||||
pkgs.ocl-icd
|
||||
pkgs.hwloc
|
||||
pkgs.tbb
|
||||
pkgs.numactl
|
||||
pkgs.libxml2
|
||||
] ++ (old.buildInputs or [ ]);
|
||||
}
|
||||
);
|
||||
|
||||
orjson =
|
||||
let
|
||||
getCargoHash = version: {
|
||||
"3.6.7" = "sha256-sz2k9podPB6QSptkyOu7+BoVTrKhefizRtYU+MICPt4=";
|
||||
"3.6.8" = "sha256-vpfceVtYkU09xszNIihY1xbqGWieqDquxwsAmDH8jd4=";
|
||||
"3.7.2" = "sha256-2U37IhftNYjH7sV7Nh51YpR/WjmPmmzX/aGuHsFgwf4=";
|
||||
}.${version} or null;
|
||||
"3.7.9" = "sha256-QHzAhjHgm4XLxY2zUdnIsd/WWMI7dJLQQAvTXC+2asQ=";
|
||||
"3.8.0" = "sha256-8k0DetamwLqkdcg8V/D2J5ja6IJSLi50CE+ZjFa7Hdc=";
|
||||
}.${version} or (
|
||||
lib.warn "Unknown orjson version: '${version}'. Please update getCargoHash." lib.fakeHash
|
||||
);
|
||||
in
|
||||
super.orjson.overridePythonAttrs (old: {
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
|
||||
@@ -1318,7 +1383,7 @@ lib.composeManyExtensions [
|
||||
});
|
||||
|
||||
parsel = super.parsel.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
@@ -1351,30 +1416,52 @@ lib.composeManyExtensions [
|
||||
);
|
||||
|
||||
pillow = super.pillow.overridePythonAttrs (
|
||||
old: {
|
||||
old:
|
||||
let
|
||||
preConfigure = (old.preConfigure or "") + pkgs.python3.pkgs.pillow.preConfigure;
|
||||
in
|
||||
{
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ])
|
||||
++ [ pkg-config self.pytest-runner ];
|
||||
buildInputs = with pkgs; (old.buildInputs or [ ])
|
||||
++ [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ]
|
||||
++ lib.optionals (lib.versionAtLeast old.version "7.1.0") [ xorg.libxcb ]
|
||||
++ lib.optionals (self.isPyPy) [ tk xorg.libX11 ];
|
||||
preConfigure = lib.optional (old.format != "wheel") preConfigure;
|
||||
}
|
||||
);
|
||||
|
||||
poetry-core = super.poetry-core.overridePythonAttrs (old: {
|
||||
# "Vendor" dependencies (for build-system support)
|
||||
postPatch = ''
|
||||
echo "import sys" >> poetry/__init__.py
|
||||
for path in $propagatedBuildInputs; do
|
||||
echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
|
||||
done
|
||||
'';
|
||||
poetry-core = super.poetry-core.overridePythonAttrs (old:
|
||||
let
|
||||
initFile =
|
||||
if lib.versionOlder super.poetry-core.version "1.1"
|
||||
then "poetry/__init__.py"
|
||||
else "./src/poetry/core/__init__.py";
|
||||
in
|
||||
{
|
||||
# "Vendor" dependencies (for build-system support)
|
||||
postPatch = ''
|
||||
find .
|
||||
|
||||
# Propagating dependencies leads to issues downstream
|
||||
# We've already patched poetry to prefer "vendored" dependencies
|
||||
postFixup = ''
|
||||
rm $out/nix-support/propagated-build-inputs
|
||||
'';
|
||||
echo "import sys" >> ${initFile}
|
||||
for path in $propagatedBuildInputs; do
|
||||
echo "sys.path.insert(0, \"$path\")" >> ${initFile}
|
||||
done
|
||||
'';
|
||||
|
||||
# Propagating dependencies leads to issues downstream
|
||||
# We've already patched poetry to prefer "vendored" dependencies
|
||||
postFixup = ''
|
||||
rm $out/nix-support/propagated-build-inputs
|
||||
'';
|
||||
});
|
||||
|
||||
# Requires poetry which isn't available during bootstrap
|
||||
poetry-plugin-export = super.poetry-plugin-export.overridePythonAttrs (old: {
|
||||
dontUsePythonImportsCheck = true;
|
||||
pipInstallFlags = [
|
||||
"--no-deps"
|
||||
];
|
||||
});
|
||||
|
||||
portend = super.portend.overridePythonAttrs (
|
||||
@@ -1666,6 +1753,11 @@ lib.composeManyExtensions [
|
||||
in
|
||||
super.pyqt5.overridePythonAttrs (
|
||||
old: {
|
||||
postPatch = ''
|
||||
# Confirm license
|
||||
sed -i s/"if tool == 'pep517':"/"if True:"/ project.py
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
dontWrapQtApps = true;
|
||||
nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [
|
||||
@@ -1840,7 +1932,7 @@ lib.composeManyExtensions [
|
||||
);
|
||||
|
||||
rockset = super.rockset.overridePythonAttrs (
|
||||
old: rec {
|
||||
old: {
|
||||
postPatch = ''
|
||||
cp ./setup_rockset.py ./setup.py
|
||||
'';
|
||||
@@ -1994,6 +2086,12 @@ lib.composeManyExtensions [
|
||||
'';
|
||||
});
|
||||
|
||||
suds = super.suds.overridePythonAttrs (old: {
|
||||
# Fix naming convention shenanigans.
|
||||
# https://github.com/suds-community/suds/blob/a616d96b070ca119a532ff395d4a2a2ba42b257c/setup.py#L648
|
||||
SUDS_PACKAGE = "suds";
|
||||
});
|
||||
|
||||
systemd-python = super.systemd-python.overridePythonAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.systemd ];
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
@@ -2287,7 +2385,7 @@ lib.composeManyExtensions [
|
||||
# For some reason the toml dependency of tqdm declared here:
|
||||
# https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2
|
||||
# is not translated correctly to a nix dependency.
|
||||
tqdm = super.tqdm.overrideAttrs (
|
||||
tqdm = super.tqdm.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]);
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ let
|
||||
filtered = builtins.filter filterWheel filesWithoutSources;
|
||||
choose = files:
|
||||
let
|
||||
osxMatches = [ "12_0" "11_0" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
|
||||
osxMatches = [ "12_0" "11_0" "10_15" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
|
||||
linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "manylinux_" "any" ];
|
||||
chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x);
|
||||
chooseOSX = x: lib.take 1 (findBestMatches osxMatches x);
|
||||
|
||||
@@ -18,17 +18,19 @@ poetry2nix.mkPoetryApplication {
|
||||
|
||||
# "Vendor" dependencies (for build-system support)
|
||||
postPatch = ''
|
||||
echo "import sys" >> poetry/__init__.py
|
||||
# Figure out the location of poetry.core
|
||||
# As poetry.core is using the same root import name as the poetry package and the python module system wont look for the root
|
||||
# in the separate second location we need to link poetry.core to poetry
|
||||
POETRY_CORE=$(python -c 'import poetry.core; import os.path; print(os.path.dirname(poetry.core.__file__))')
|
||||
|
||||
echo "import sys" >> src/poetry/__init__.py
|
||||
for path in $propagatedBuildInputs; do
|
||||
echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
|
||||
echo "sys.path.insert(0, \"$path\")" >> src/poetry/__init__.py
|
||||
done
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Figure out the location of poetry.core
|
||||
# As poetry.core is using the same root import name as the poetry package and the python module system wont look for the root
|
||||
# in the separate second location we need to link poetry.core to poetry
|
||||
ln -s $(python -c 'import poetry.core; import os.path; print(os.path.dirname(poetry.core.__file__))') $out/${python.sitePackages}/poetry/core
|
||||
ln -s $POETRY_CORE $out/${python.sitePackages}/poetry/core
|
||||
|
||||
mkdir -p "$out/share/bash-completion/completions"
|
||||
"$out/bin/poetry" completions bash > "$out/share/bash-completion/completions/poetry"
|
||||
|
||||
+869
-478
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,31 @@
|
||||
[tool.poetry]
|
||||
name = "poetry"
|
||||
version = "1.1.14"
|
||||
version = "1.2.1"
|
||||
description = "Python dependency management and packaging made easy."
|
||||
authors = [
|
||||
"Sébastien Eustace <sebastien@eustace.io>"
|
||||
"Sébastien Eustace <sebastien@eustace.io>",
|
||||
]
|
||||
maintainers = [
|
||||
"Arun Babu Neelicattu <arun.neelicattu@gmail.com>",
|
||||
"Bjorn Neergaard <bjorn@neersighted.com>",
|
||||
"Branch Vincent <branchevincent@gmail.com>",
|
||||
"Bryce Drennan <github@accounts.brycedrennan.com>",
|
||||
"Daniel Eades <danieleades@hotmail.com>",
|
||||
"Randy Döring <radoering.poetry@gmail.com>",
|
||||
"Steph Samson <hello@stephsamson.com>",
|
||||
"finswimmer <finswimmer77@gmail.com>",
|
||||
]
|
||||
license = "MIT"
|
||||
|
||||
readme = "README.md"
|
||||
|
||||
packages = [
|
||||
{ include = "poetry", from = "src" }
|
||||
]
|
||||
include = [
|
||||
{ path = "tests", format = "sdist" }
|
||||
]
|
||||
|
||||
homepage = "https://python-poetry.org/"
|
||||
repository = "https://github.com/python-poetry/poetry"
|
||||
documentation = "https://python-poetry.org/docs"
|
||||
@@ -20,104 +37,136 @@ classifiers = [
|
||||
"Topic :: Software Development :: Libraries :: Python Modules"
|
||||
]
|
||||
|
||||
[tool.poetry.build]
|
||||
generate-setup-file = false
|
||||
|
||||
# Requirements
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.5"
|
||||
python = "^3.7"
|
||||
|
||||
poetry-core = "~1.0.7"
|
||||
cleo = "^0.8.1"
|
||||
clikit = "^0.6.2"
|
||||
crashtest = { version = "^0.3.0", python = "^3.6" }
|
||||
requests = "^2.18"
|
||||
poetry-core = "1.2.0"
|
||||
poetry-plugin-export = "^1.0.7"
|
||||
"backports.cached-property" = { version = "^1.0.2", python = "<3.8" }
|
||||
cachecontrol = { version = "^0.12.9", extras = ["filecache"] }
|
||||
cachy = "^0.3.0"
|
||||
requests-toolbelt = "^0.9.1"
|
||||
cachecontrol = [
|
||||
{ version = "^0.12.4", extras = ["filecache"], python = "<3.6" },
|
||||
{ version = "^0.12.9", extras = ["filecache"], python = "^3.6" }
|
||||
]
|
||||
pkginfo = "^1.4"
|
||||
cleo = "^1.0.0a5"
|
||||
crashtest = "^0.3.0"
|
||||
html5lib = "^1.0"
|
||||
shellingham = "^1.1"
|
||||
tomlkit = ">=0.7.0,<1.0.0"
|
||||
importlib-metadata = { version = "^4.4", python = "<3.10" }
|
||||
jsonschema = "^4.10.0"
|
||||
# keyring uses calver, so version is unclamped
|
||||
keyring = ">=21.2.0"
|
||||
# packaging uses calver, so version is unclamped
|
||||
packaging = ">=20.4"
|
||||
pexpect = "^4.7.0"
|
||||
packaging = "^20.4"
|
||||
virtualenv = { version = "^20.0.26" }
|
||||
|
||||
# The typing module is not in the stdlib in Python 2.7
|
||||
typing = { version = "^3.6", python = "~2.7" }
|
||||
|
||||
# Use pathlib2 for Python 2.7
|
||||
pathlib2 = { version = "^2.3", python = "~2.7" }
|
||||
# Use futures on Python 2.7
|
||||
futures = { version = "^3.3.0", python = "~2.7" }
|
||||
# Use glob2 for Python 2.7 and 3.4
|
||||
glob2 = { version = "^0.6", python = "~2.7" }
|
||||
# functools32 is needed for Python 2.7
|
||||
functools32 = { version = "^3.2.3", python = "~2.7" }
|
||||
keyring = [
|
||||
{ version = "^18.0.1", python = "~2.7" },
|
||||
{ version = "^20.0.1", python = "~3.5" },
|
||||
{ version = ">=21.2.0", python = "^3.6" }
|
||||
]
|
||||
# Use subprocess32 for Python 2.7
|
||||
subprocess32 = { version = "^3.5", python = "~2.7" }
|
||||
importlib-metadata = {version = "^1.6.0", python = "<3.8"}
|
||||
pkginfo = "^1.5"
|
||||
platformdirs = "^2.5.2"
|
||||
requests = "^2.18"
|
||||
requests-toolbelt = "^0.9.1"
|
||||
shellingham = "^1.5"
|
||||
# exclude 0.11.2 and 0.11.3 due to https://github.com/sdispater/tomlkit/issues/225
|
||||
tomlkit = ">=0.11.1,<1.0.0,!=0.11.2,!=0.11.3"
|
||||
# exclude 20.4.5 - 20.4.6 due to https://github.com/pypa/pip/issues/9953
|
||||
virtualenv = ">=20.4.3,!=20.4.5,!=20.4.6"
|
||||
xattr = { version = "^0.9.7", markers = "sys_platform == 'darwin'" }
|
||||
urllib3 = "^1.26.0"
|
||||
dulwich = "^0.20.46"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = [
|
||||
{version = "^4.1", python = "<3.5"},
|
||||
{version = "^5.4.3", python = "~3.5"},
|
||||
{version = "^6.2.5", python = ">=3.6"}
|
||||
]
|
||||
pytest-cov = "^2.5"
|
||||
pytest-mock = "^1.9"
|
||||
pre-commit = { version = "^2.6", python = "^3.6.1" }
|
||||
tox = "^3.0"
|
||||
pytest-sugar = "^0.9.2"
|
||||
httpretty = "^1.0.3"
|
||||
# We need to restrict the version of urllib3 to avoid
|
||||
# httpretty breaking. This is fixed in httpretty >= 1.0.3
|
||||
# but it's not compatible with Python 2.7 and 3.5.
|
||||
urllib3 = "~1.26.9"
|
||||
tox = "^3.18"
|
||||
pytest = "^7.1"
|
||||
pytest-cov = "^3.0"
|
||||
pytest-mock = "^3.5"
|
||||
pytest-randomly = "^3.10"
|
||||
pytest-sugar = "^0.9"
|
||||
pytest-xdist = { version = "^2.5", extras = ["psutil"] }
|
||||
pre-commit = "^2.6"
|
||||
deepdiff = "^5.0"
|
||||
httpretty = "^1.0"
|
||||
typing-extensions = { version = "^4.0.0", python = "<3.8" }
|
||||
zipp = { version = "^3.4", python = "<3.8" }
|
||||
flatdict = "^4.0.1"
|
||||
mypy = ">=0.971"
|
||||
types-html5lib = ">=1.1.9"
|
||||
types-jsonschema = ">=4.9.0"
|
||||
types-requests = ">=2.28.8"
|
||||
|
||||
[tool.poetry.scripts]
|
||||
poetry = "poetry.console:main"
|
||||
poetry = "poetry.console.application:main"
|
||||
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
requires = ["poetry-core>=1.1.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
|
||||
[tool.isort]
|
||||
py_version = 37
|
||||
profile = "black"
|
||||
force_single_line = true
|
||||
atomic = true
|
||||
include_trailing_comma = true
|
||||
lines_after_imports = 2
|
||||
combine_as_imports = true
|
||||
lines_between_types = 1
|
||||
use_parentheses = true
|
||||
src_paths = ["poetry", "tests"]
|
||||
skip_glob = ["*/setup.py"]
|
||||
filter_files = true
|
||||
known_first_party = "poetry"
|
||||
lines_after_imports = 2
|
||||
src_paths = ["src", "tests"]
|
||||
extend_skip = ["setup.py"]
|
||||
known_third_party = ["poetry.core"]
|
||||
|
||||
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
include = '\.pyi?$'
|
||||
exclude = '''
|
||||
/(
|
||||
\.eggs
|
||||
| \.git
|
||||
| \.hg
|
||||
| \.mypy_cache
|
||||
| \.tox
|
||||
| \.venv
|
||||
| _build
|
||||
| buck-out
|
||||
| build
|
||||
| dist
|
||||
| tests/.*/setup.py
|
||||
)/
|
||||
target-version = ['py37']
|
||||
preview = true
|
||||
force-exclude = '''
|
||||
.*/setup\.py$
|
||||
'''
|
||||
|
||||
|
||||
[tool.mypy]
|
||||
files = "src"
|
||||
mypy_path = "src"
|
||||
namespace_packages = true
|
||||
explicit_package_bases = true
|
||||
show_error_codes = true
|
||||
strict = true
|
||||
enable_error_code = [
|
||||
"ignore-without-code",
|
||||
"redundant-expr",
|
||||
"truthy-bool",
|
||||
]
|
||||
|
||||
# use of importlib-metadata backport at python3.7 makes it impossible to
|
||||
# satisfy mypy without some ignores: but we get a different set of ignores at
|
||||
# different python versions.
|
||||
#
|
||||
# <https://github.com/python/mypy/issues/8823>, meanwhile suppress that
|
||||
# warning.
|
||||
[[tool.mypy.overrides]]
|
||||
module = [
|
||||
'poetry.console.commands.self.show.plugins',
|
||||
'poetry.installation.executor',
|
||||
'poetry.mixology.version_solver',
|
||||
'poetry.plugins.plugin_manager',
|
||||
'poetry.repositories.installed_repository',
|
||||
'poetry.utils.env',
|
||||
]
|
||||
warn_unused_ignores = false
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = [
|
||||
'cachecontrol.*',
|
||||
'cachy.*',
|
||||
'cleo.*',
|
||||
'crashtest.*',
|
||||
'pexpect.*',
|
||||
'pkginfo.*',
|
||||
'requests_toolbelt.*',
|
||||
'shellingham.*',
|
||||
'virtualenv.*',
|
||||
'xattr.*',
|
||||
]
|
||||
ignore_missing_imports = true
|
||||
|
||||
[tool.coverage.report]
|
||||
exclude_lines = [
|
||||
"pragma: no cover",
|
||||
"if TYPE_CHECKING:"
|
||||
]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"owner": "python-poetry",
|
||||
"repo": "poetry",
|
||||
"rev": "1.1.14",
|
||||
"sha256": "1yx2a1xzid9zclf88wwczz7wgphsgpp3ksmha2jiacq898wrkwcz",
|
||||
"rev": "1.2.1",
|
||||
"sha256": "10y2vs28xbg5msr49wvhm3s780v4hb2jpxn7lzdin4l1qkrchdiq",
|
||||
"fetchSubmodules": true
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,8 @@ python.pkgs.buildPythonPackage {
|
||||
dontConfigure = true;
|
||||
dontUseSetuptoolsCheck = true;
|
||||
|
||||
format = "poetry2nix";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList mkScript scripts)}
|
||||
|
||||
Reference in New Issue
Block a user