94 lines
2.6 KiB
Nix
94 lines
2.6 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
|
|
# fetching neuromorphic data:
|
|
tonic
|
|
|
|
# Librairies to deal with mesh
|
|
#pymeshlab
|
|
trimesh
|
|
# dependencies trimesh
|
|
lxml # Parse XML documents.
|
|
networkx # Pure Python graph library
|
|
shapely # Bindings to GEOS for 2D spatial stuff
|
|
rtree # Query ND rectangles with a spatial tree
|
|
httpx # Do network queries in trimesh.exchange.load_remote
|
|
sympy # Evaluate symbolic algebra
|
|
xxhash # Quickly hash arrays, used for our cache checking, easy,
|
|
charset-normalizer # When we fail to decode text as UTF-8
|
|
colorlog # Printing logs with colors., easy,
|
|
pillow # Reading raster images for textures and render polygons into raster images., easy,
|
|
jsonschema # Validating our exports for formats like GLTF., easy,
|
|
pycollada # Parse dae files., easy,
|
|
meshio # Load additional mesh formats.
|
|
scikit-image # Used in voxel ops
|
|
#mapbox #earcut, Triangulate 2D polygons
|
|
psutil # Get current memory usage
|
|
#ruff # A static code analyzer and formatter
|
|
#manifold3d # A binding for the Manifold mesh boolean engine
|
|
#openctm # A binding for OpenCTM loaders enabling .ctm loading
|
|
|
|
# Machine learning toolkits:
|
|
tensorflow
|
|
tensorboard
|
|
keras
|
|
edward
|
|
transformers
|
|
tflearn
|
|
torch
|
|
torchvision
|
|
torchsde
|
|
torchmetrics
|
|
torchio
|
|
torchdiffeq
|
|
botorch
|
|
lion-pytorch
|
|
pycuda
|
|
accelerate
|
|
datasets
|
|
]);
|
|
};
|
|
}
|