Development Tutorial

Required Tools

  • Git
  • Git-LFS
  • Anaconda Python 3.6+
  • Text Editor or IDE
    • Atom is recommended
    • However, VSCode, SublimeText3, PyCharm, Emacs, and Komodo Edit are all good options as well.
  • Pandoc for Documentation
  • wkhtmltopdf Stable
  • A working C/C++ Compiler (MinGW recommended)

Setup Process

  1. Install your C/C++ Compiler, making sure that its tools end up in your path.

  2. Install Git using its default settings.

  3. Install Git-LFS using its default settings.

  4. Install Anaconda using its default options.

  5. Install Pandoc and wkhtmltopdf with their default options.

  6. Restart Computer at this point.

  7. Open up a command prompt and run the following commands:

    git lfs install
    conda update --all
    cd ~
    git clone https://github.com/nick5435/thermo-bridge.git
    cd thermo-bridge
    pip install -U -e ThermoPyle[dev]
    conda update --all
    
  8. For a runtime example, open notebooks/thermo_generic_library_runner.ipynb using jupyter notebook

Atom Setup

  1. Install Atom using its default settings

  2. Open up a terminal and run the following commands:

    pip install isort autopep8 pep8  linter mypy pygments mypy-lang -U
    apm install fonts advanced-open-file autocomplete-paths multi-cursor-plus magicpython atom-beautify autocomplete-python file-icons fonts
    apm install language-markdown language-restructuredtext linter minimap minimap-linter minimap-find-and-replace
    apm install language-openscad sublime-style-column-selection python-isort python-snippets python-tools script swackets tabs-to-spaces
    apm install todo-show tool-bar tool-bar-basic atom-material-ui atom-material-syntax-dark
    
  3. Open Atom, then go to File > Settings > Send Telemetry to Atom Team > Do not send any telemetry data.

  4. Settings > Themes > UI Theme > Atom Material and Themes > Syntax Theme > Atom Material Dark

  5. Settings > Packages Disable the following packages: language-python language-gfm background-tips wrap-guide deprecation-cop exception-reporting metrics open-on-github package-generator styleguide welcome and whatever language packages you feel that you won’t need.