{config, lib, pkgs, ...}: { options = { pythonPackages = lib.mkOption { type = lib.types.anything; default = p: with p; []; example = p: with p; [ numpy scipy ]; description = "List of Python Packages installed"; }; }; config = { environment.systemPackages = with pkgs; [ ((pkgs.python3.withPackages config.pythonPackages).override (args: { ignoreCollisions = true; })) ]; pythonPackages = (p: with p; [ # Common Python Libraries numpy scipy scikit-learn pandas openpyxl matplotlib ipympl matplotlib-inline seaborn # Neural Data Processing Libraries # Temporarily broken?: https://github.com/NixOS/nixpkgs/issues/259812 mne-python edfio nibabel # View niftis! ipyniivue neo # Neurosimulators neuronpy # nest with MPI is incompatible with Jupyter: # https://www.nest-simulator.org/pynest-api/_modules/nest.html # see pynestkernel comments about their workaround (nest.override { withMpi = false; }) brian2 # SpiNNaker simulator spynnaker # Machine learning toolkits: tensorflow tensorboard keras edward transformers tflearn torch torchvision torchsde torchmetrics torchio torchdiffeq botorch lion-pytorch pycuda accelerate datasets ]); }; }