Last active
September 24, 2022 17:56
-
-
Save datakurre/d8761cef0024830ea054a29ccb85af29 to your computer and use it in GitHub Desktop.
River environment for Nix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file is automatically @generated by Cargo. | |
# It is not intended for manual editing. | |
version = 3 | |
[[package]] | |
name = "autocfg" | |
version = "1.1.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" | |
[[package]] | |
name = "bincode" | |
version = "1.3.3" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" | |
dependencies = [ | |
"serde", | |
] | |
[[package]] | |
name = "bitflags" | |
version = "1.3.2" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | |
[[package]] | |
name = "cfg-if" | |
version = "1.0.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | |
[[package]] | |
name = "indoc" | |
version = "1.0.7" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3" | |
[[package]] | |
name = "itoa" | |
version = "1.0.3" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" | |
[[package]] | |
name = "libc" | |
version = "0.2.133" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" | |
[[package]] | |
name = "lock_api" | |
version = "0.4.9" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" | |
dependencies = [ | |
"autocfg", | |
"scopeguard", | |
] | |
[[package]] | |
name = "num" | |
version = "0.4.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" | |
dependencies = [ | |
"num-bigint", | |
"num-complex", | |
"num-integer", | |
"num-iter", | |
"num-rational", | |
"num-traits", | |
] | |
[[package]] | |
name = "num-bigint" | |
version = "0.4.3" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" | |
dependencies = [ | |
"autocfg", | |
"num-integer", | |
"num-traits", | |
] | |
[[package]] | |
name = "num-complex" | |
version = "0.4.2" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" | |
dependencies = [ | |
"num-traits", | |
] | |
[[package]] | |
name = "num-integer" | |
version = "0.1.45" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" | |
dependencies = [ | |
"autocfg", | |
"num-traits", | |
] | |
[[package]] | |
name = "num-iter" | |
version = "0.1.43" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" | |
dependencies = [ | |
"autocfg", | |
"num-integer", | |
"num-traits", | |
] | |
[[package]] | |
name = "num-rational" | |
version = "0.4.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" | |
dependencies = [ | |
"autocfg", | |
"num-bigint", | |
"num-integer", | |
"num-traits", | |
] | |
[[package]] | |
name = "num-traits" | |
version = "0.2.15" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" | |
dependencies = [ | |
"autocfg", | |
] | |
[[package]] | |
name = "once_cell" | |
version = "1.15.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" | |
[[package]] | |
name = "ordered-float" | |
version = "3.1.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "98ffdb14730ed2ef599c65810c15b000896e21e8776b512de0db0c3d7335cc2a" | |
dependencies = [ | |
"num-traits", | |
"serde", | |
] | |
[[package]] | |
name = "parking_lot" | |
version = "0.12.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" | |
dependencies = [ | |
"lock_api", | |
"parking_lot_core", | |
] | |
[[package]] | |
name = "parking_lot_core" | |
version = "0.9.3" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" | |
dependencies = [ | |
"cfg-if", | |
"libc", | |
"redox_syscall", | |
"smallvec", | |
"windows-sys", | |
] | |
[[package]] | |
name = "proc-macro2" | |
version = "1.0.43" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" | |
dependencies = [ | |
"unicode-ident", | |
] | |
[[package]] | |
name = "pyo3" | |
version = "0.16.6" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "0220c44442c9b239dd4357aa856ac468a4f5e1f0df19ddb89b2522952eb4c6ca" | |
dependencies = [ | |
"cfg-if", | |
"indoc", | |
"libc", | |
"parking_lot", | |
"pyo3-build-config", | |
"pyo3-ffi", | |
"pyo3-macros", | |
"unindent", | |
] | |
[[package]] | |
name = "pyo3-build-config" | |
version = "0.16.6" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "9c819d397859445928609d0ec5afc2da5204e0d0f73d6bf9e153b04e83c9cdc2" | |
dependencies = [ | |
"once_cell", | |
"target-lexicon", | |
] | |
[[package]] | |
name = "pyo3-ffi" | |
version = "0.16.6" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "ca882703ab55f54702d7bfe1189b41b0af10272389f04cae38fe4cd56c65f75f" | |
dependencies = [ | |
"libc", | |
"pyo3-build-config", | |
] | |
[[package]] | |
name = "pyo3-macros" | |
version = "0.16.6" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "568749402955ad7be7bad9a09b8593851cd36e549ac90bfd44079cea500f3f21" | |
dependencies = [ | |
"proc-macro2", | |
"pyo3-macros-backend", | |
"quote", | |
"syn", | |
] | |
[[package]] | |
name = "pyo3-macros-backend" | |
version = "0.16.6" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "611f64e82d98f447787e82b8e7b0ebc681e1eb78fc1252668b2c605ffb4e1eb8" | |
dependencies = [ | |
"proc-macro2", | |
"quote", | |
"syn", | |
] | |
[[package]] | |
name = "quote" | |
version = "1.0.21" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" | |
dependencies = [ | |
"proc-macro2", | |
] | |
[[package]] | |
name = "redox_syscall" | |
version = "0.2.16" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" | |
dependencies = [ | |
"bitflags", | |
] | |
[[package]] | |
name = "river" | |
version = "0.1.0" | |
dependencies = [ | |
"bincode", | |
"pyo3", | |
"serde", | |
"watermill", | |
] | |
[[package]] | |
name = "ryu" | |
version = "1.0.11" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" | |
[[package]] | |
name = "scopeguard" | |
version = "1.1.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" | |
[[package]] | |
name = "serde" | |
version = "1.0.145" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" | |
dependencies = [ | |
"serde_derive", | |
] | |
[[package]] | |
name = "serde_derive" | |
version = "1.0.145" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" | |
dependencies = [ | |
"proc-macro2", | |
"quote", | |
"syn", | |
] | |
[[package]] | |
name = "serde_json" | |
version = "1.0.85" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" | |
dependencies = [ | |
"itoa", | |
"ryu", | |
"serde", | |
] | |
[[package]] | |
name = "smallvec" | |
version = "1.9.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" | |
[[package]] | |
name = "syn" | |
version = "1.0.100" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" | |
dependencies = [ | |
"proc-macro2", | |
"quote", | |
"unicode-ident", | |
] | |
[[package]] | |
name = "target-lexicon" | |
version = "0.12.4" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1" | |
[[package]] | |
name = "unicode-ident" | |
version = "1.0.4" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" | |
[[package]] | |
name = "unindent" | |
version = "0.1.10" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112" | |
[[package]] | |
name = "watermill" | |
version = "0.1.0" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "3497b99ce2f9e83bccf9b8b6e646dd924ea2b0d4a16bf66ce37e862d230338df" | |
dependencies = [ | |
"num", | |
"ordered-float", | |
"serde", | |
"serde_json", | |
] | |
[[package]] | |
name = "windows-sys" | |
version = "0.36.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" | |
dependencies = [ | |
"windows_aarch64_msvc", | |
"windows_i686_gnu", | |
"windows_i686_msvc", | |
"windows_x86_64_gnu", | |
"windows_x86_64_msvc", | |
] | |
[[package]] | |
name = "windows_aarch64_msvc" | |
version = "0.36.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" | |
[[package]] | |
name = "windows_i686_gnu" | |
version = "0.36.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" | |
[[package]] | |
name = "windows_i686_msvc" | |
version = "0.36.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" | |
[[package]] | |
name = "windows_x86_64_gnu" | |
version = "0.36.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" | |
[[package]] | |
name = "windows_x86_64_msvc" | |
version = "0.36.1" | |
source = "registry+https://github.com/rust-lang/crates.io-index" | |
checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ pkgs ? import <nixpkgs> {}, # assuming NixOS 22.05 until flaked | |
pythonPackages ? pkgs.python39Packages }: | |
let | |
# Import all generated requirements | |
requirementsFunc = import ./python-packages.nix { | |
inherit pkgs; | |
inherit (builtins) fetchurl; | |
inherit (pkgs) fetchgit fetchhg; | |
}; | |
# List package names in generated requirements requirements | |
requirementsNames = pkgs.lib.attrNames (requirementsFunc {} {}); | |
# Packages that must override their respective nixpkgs versions | |
override = [ | |
"mmh3" | |
"numpy" | |
]; | |
# Target Python package overrides | |
packageOverrides = pkgs.lib.foldr pkgs.lib.composeExtensions (self: super: { }) [ | |
# Import generated requirements not available in nixpkgs (or override them) | |
(self: super: | |
let | |
generated = requirementsFunc self super; | |
in | |
# Import generated requirements not available | |
(pkgs.lib.listToAttrs (map | |
(name: { name = name; | |
value = builtins.getAttr name generated; }) | |
(builtins.filter (x: (! builtins.hasAttr x pkgs.python39Packages)) requirementsNames) | |
)) | |
// | |
# Override nixpkgs version with version from generated requirements | |
(pkgs.lib.listToAttrs (map | |
(name: { name = name; | |
value = ((builtins.getAttr name super).overridePythonAttrs(old: | |
let pkg = (builtins.getAttr name generated); in { | |
inherit (pkg) pname version src; | |
} | |
// | |
# Change format when package could be overriden with wheel distribution | |
pkgs.lib.optionalAttrs (pkgs.lib.hasSuffix "whl" "${pkg.src}") { | |
format = "wheel"; | |
patchPhase = ""; | |
postPatch = ""; | |
})); | |
}) | |
(builtins.filter (x: (builtins.hasAttr x pythonPackages) && (builtins.elem x override)) requirementsNames) | |
)) | |
) | |
(self: super: | |
{ | |
"cython" = super."cython".overridePythonAttrs(old: rec { | |
pname = "cython"; | |
version = "0.29.30"; | |
src = self.fetchPypi { | |
pname = "Cython"; | |
inherit version; | |
sha256 = "sha256-IjW2Laj+b6i5lCLI5YPy+5XhQ4Z9M3tcdeS5oahl+eM="; | |
}; | |
}); | |
"river" = let | |
cargoLock = ./Cargo.lock; | |
in super.river.overridePythonAttrs(old: rec { | |
postPatch = '' | |
cp ${cargoLock} ./Cargo.lock; | |
''; | |
nativeBuildInputs = with self; [ | |
cython | |
setuptools-rust | |
] ++ (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]); | |
cargoDeps = with old; pkgs.rustPlatform.fetchCargoTarball { | |
inherit src postPatch; | |
sourceRoot = "${pname}-${version}"; | |
name = "${pname}-${version}"; | |
hash = "sha256-1MH+QZKzboVUj4cQyo/X3uA7KjtTlAPVCkY4NiPFV08="; | |
}; | |
}); | |
} | |
) | |
]; | |
python = (pkgs.python39.override { | |
inherit packageOverrides; | |
}); | |
in | |
python.withPackages(ps: [ ps.river ]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Generated by pip2nix 0.8.0.dev1 | |
# See https://github.com/nix-community/pip2nix | |
{ pkgs, fetchurl, fetchgit, fetchhg }: | |
self: super: { | |
"numpy" = super.buildPythonPackage rec { | |
pname = "numpy"; | |
version = "1.23.3"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/0a/88/f4f0c7a982efdf7bf22f283acf6009b29a9cc5835b684a49f8d3a4adb22f/numpy-1.23.3.tar.gz"; | |
sha256 = "1kgn1b0n1yli1m7x1llki5fvki5gb0s6z9ha4h5bwlhxrp04kgsi"; | |
}; | |
format = "setuptools"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = []; | |
}; | |
"pandas" = super.buildPythonPackage rec { | |
pname = "pandas"; | |
version = "1.5.0"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/2a/24/f5042daa59b91e94e6ea41edbb28d2b7e3712d0cf54a76f9ffde394efbe7/pandas-1.5.0.tar.gz"; | |
sha256 = "0xr9slcaxjhgdhf39jfkdic7clz79m54mssnqf8dsr1g3n41priy"; | |
}; | |
format = "setuptools"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = [ | |
self."numpy" | |
self."python-dateutil" | |
self."pytz" | |
]; | |
}; | |
"python-dateutil" = super.buildPythonPackage rec { | |
pname = "python-dateutil"; | |
version = "2.8.2"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl"; | |
sha256 = "1aaxjfp4lrz8c6qls3vdhw554lan3khy9afyvdcvrssk6kf067cn"; | |
}; | |
format = "wheel"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = [ | |
self."six" | |
]; | |
}; | |
"pytz" = super.buildPythonPackage rec { | |
pname = "pytz"; | |
version = "2022.2.1"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/d5/50/54451e88e3da4616286029a3a17fc377de817f66a0f50e1faaee90161724/pytz-2022.2.1-py2.py3-none-any.whl"; | |
sha256 = "15q11jg9nn28d92kazhjyna9l3kqaxxxppgvbnaw62gsv8dlh3r2"; | |
}; | |
format = "wheel"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = []; | |
}; | |
"river" = super.buildPythonPackage rec { | |
pname = "river"; | |
version = "0.13.0"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/eb/74/cd1a44b330fb2def81f8376b4b95328aed44deb3e829788d22c1bf58c161/river-0.13.0.tar.gz"; | |
sha256 = "0h0k0v1x70jr7pxpgmx5fhbydpw1aqqq3bw1spxh48xkkmx8n1lx"; | |
}; | |
format = "setuptools"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = [ | |
self."numpy" | |
self."pandas" | |
self."scipy" | |
]; | |
}; | |
"scipy" = super.buildPythonPackage rec { | |
pname = "scipy"; | |
version = "1.9.1"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/db/af/16906139f52bc6866c43401869ce247662739ad71afa11c6f18505eb0546/scipy-1.9.1.tar.gz"; | |
sha256 = "1jcb94xal7w7ax80kaivqqics36v8smi4a3xngyxbrh0i538rli6"; | |
}; | |
format = "setuptools"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = [ | |
self."numpy" | |
]; | |
}; | |
"six" = super.buildPythonPackage rec { | |
pname = "six"; | |
version = "1.16.0"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl"; | |
sha256 = "0m02dsi8lvrjf4bi20ab6lm7rr6krz7pg6lzk3xjs2l9hqfjzfwa"; | |
}; | |
format = "wheel"; | |
doCheck = false; | |
buildInputs = []; | |
checkInputs = []; | |
nativeBuildInputs = []; | |
propagatedBuildInputs = []; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment