65 lines
1.4 KiB
Nix
65 lines
1.4 KiB
Nix
{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
|
|
]);
|
|
};
|
|
}
|