All Projects → kaust-vislab → python-data-science-project

kaust-vislab / python-data-science-project

Licence: BSD-3-Clause License
Template repository for a Python 3-based (data) science project

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to python-data-science-project

pytorch-gpu-data-science-project
Template repository for a Python 3-based (data) science project with GPU acceleration using the PyTorch ecosystem.
Stars: ✭ 16 (-70.37%)
Mutual labels:  scientific-computing, template-project, scientific-workflows, scientific-research
steep
⤴️ Steep Workflow Management System – Run scientific workflows in the Cloud
Stars: ✭ 30 (-44.44%)
Mutual labels:  scientific-computing, scientific-workflows
spinmob
Rapid and flexible acquisition, analysis, fitting, and plotting in Python. Designed for scientific laboratories.
Stars: ✭ 34 (-37.04%)
Mutual labels:  scientific-computing, scientific-workflows
PyRates
Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.
Stars: ✭ 33 (-38.89%)
Mutual labels:  scientific-computing, scientific-research
gcpy
Python toolkit for GEOS-Chem.
Stars: ✭ 34 (-37.04%)
Mutual labels:  scientific-computing
ocaml-interval
An interval library for OCaml
Stars: ✭ 14 (-74.07%)
Mutual labels:  scientific-computing
SciCompforChemists
Scientific Computing for Chemists text for teaching basic computing skills to chemistry students using Python, Jupyter notebooks, and the SciPy stack. This text makes use of a variety of packages including NumPy, SciPy, matplotlib, pandas, seaborn, NMRglue, SymPy, scikit-image, and scikit-learn.
Stars: ✭ 65 (+20.37%)
Mutual labels:  scientific-computing
nelson
Nelson numerical interpreter
Stars: ✭ 42 (-22.22%)
Mutual labels:  scientific-computing
conduit
Simplified Data Exchange for HPC Simulations
Stars: ✭ 114 (+111.11%)
Mutual labels:  scientific-computing
source
The main source repository for the Raysect project.
Stars: ✭ 62 (+14.81%)
Mutual labels:  scientific-computing
EFDCPlus
www.eemodelingsystem.com
Stars: ✭ 9 (-83.33%)
Mutual labels:  scientific-computing
doodba-copier-template
A Copier template for Doodba projects
Stars: ✭ 36 (-33.33%)
Mutual labels:  template-project
rails hotwire base
Rails + Hotwire base app
Stars: ✭ 54 (+0%)
Mutual labels:  template-project
Scripts
🔬🍸 Home of the ImageJ BAR: A collection of Broadly Applicable Routines for ImageJ
Stars: ✭ 18 (-66.67%)
Mutual labels:  scientific-workflows
NPY-for-Fortran
A FORTRAN module to write Numpy's *.npy and *.npz files
Stars: ✭ 30 (-44.44%)
Mutual labels:  scientific-computing
payton
Payton! Kickstart any 3D OpenGL + GTK Ideas in a few seconds!
Stars: ✭ 45 (-16.67%)
Mutual labels:  scientific-computing
siconos
Simulation framework for nonsmooth dynamical systems
Stars: ✭ 120 (+122.22%)
Mutual labels:  scientific-computing
ESL
​The Economic Simulation Library provides an extensive collection of tools to develop, test, analyse and calibrate economic and financial agent-based models. The library is designed to take advantage of different computer architectures. In order to facilitate rapid iteration during model development the library can use parallel computation. Econ…
Stars: ✭ 36 (-33.33%)
Mutual labels:  scientific-computing
HeCBench
software.intel.com/content/www/us/en/develop/articles/repo-evaluating-performance-productivity-oneapi.html
Stars: ✭ 85 (+57.41%)
Mutual labels:  scientific-computing
Wafer
Parallelized 3D FDTD Schrödinger Equation Solver
Stars: ✭ 21 (-61.11%)
Mutual labels:  scientific-computing

python-data-science-project

Repository containing scaffolding for a Python 3-based data science project.

Creating a new project from this template

Simply follow the instructions to create a new project repository from this template.

Project organization

Project organization is based on ideas from Good Enough Practices for Scientific Computing.

  1. Put each project in its own directory, which is named after the project.
  2. Put external scripts or compiled programs in the bin directory.
  3. Put raw data and metadata in a data directory.
  4. Put text documents associated with the project in the doc directory.
  5. Put all Docker related files in the docker directory.
  6. Install the Conda environment into an env directory.
  7. Put all notebooks in the notebooks directory.
  8. Put files generated during cleanup and analysis in a results directory.
  9. Put project source code in the src directory.
  10. Name all files to reflect their content or function.

Using Conda

Creating the Conda environment

After adding any necessary dependencies for your project to the Conda environment.yml file (or the requirements.txt file), you can create the environment in a sub-directory of your project directory by running the following command.

ENV_PREFIX=$PWD/env
conda env create --prefix $ENV_PREFIX --file environment.yml --force

Once the new environment has been created you can activate the environment with the following command.

conda activate $ENV_PREFIX

Note that the ENV_PREFIX directory is not under version control as it can always be re-created as necessary.

If you wish to use any JupyterLab extensions included in the environment.yml and requirements.txt files then you need to activate the environment and rebuild the JupyterLab application using the following commands to source the postBuild script.

conda activate $ENV_PREFIX # optional if environment already active
source postBuild

For your convenience these commands have been combined in a shell script ./bin/create-conda-env.sh. Running the shell script will create the Conda environment, activate the Conda environment, and build JupyterLab with any additional extensions. The script should be run from the project root directory as follows.

./bin/create-conda-env.sh

Listing the full contents of the Conda environment

The list of explicit dependencies for the project are listed in the environment.yml file. To see the full lost of packages installed into the environment run the following command.

conda list --prefix $ENV_PREFIX

Updating the Conda environment

If you add (remove) dependencies to (from) the environment.yml file or the requirements.txt file after the environment has already been created, then you can re-create the environment with the following command.

$ conda env create --prefix $ENV_PREFIX --file environment.yml --force

If you have added any JupyterLab extensions or made any other changes to the postBuild script, then you should re-create the entire Conda environment by re-running the bin/create-conda-env.sh scipt as follows.

./bin/create-conda-env.sh

Using Docker

In order to build Docker images for your project and run containers you will need to install Docker and Docker Compose.

Detailed instructions for using Docker to build and image and launch containers can be found in the docker/README.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].