Skip to main content

GUI application for the creation of Reactionware.

Project description

ChemSCAD

Screenshots:

Main interface:

Choice dialog box:

Reactor dialog box:

Canula dialog box:

OpenSCAD installation:

ChemSCAD requires Python 3.6 or above. Tested and working with latest Python release (3.8).

ChemSCAD was tested with OpenSCAD 2019-05 (most up-to-date version as of March 2020)

  • Install OpenSCAD for your operating system as follows:

For Windows:

All OpenSCAD dependencies including the binaries are included in the setup.py for ChemSCAD, so will be installed automatically when installing the requirements.txt file.

Therefore, please proceed to the ChemSCAD installations instructions below.

For Mac:

OpenSCAD can be installed using the .dmg installable from the following link: https://files.openscad.org/OpenSCAD-2019.05.dmg

Install this .dmg file, making sure to accept all permissions in Security & Privacy from within System Preferences.

For Ubuntu:

sudo add-apt-repository ppa:openscad/releases
sudo apt-get update
sudo apt-get install openscad
sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config mesa-common-dev libglu1-mesa-dev -y

ChemSCAD installation:

Prior to installing ChemSCAD it is recommended to make a virtual environment (venv) in order to not have any conflicts with existing installed pip packages.

For Windows:

python -m venv <name of venv>
cd <name of venv>
source activate
cd ..
mkdir ChemSCAD
cd ChemSCAD
git clone https://gitlab.com/croningroup/reactionware/chemscad.git
cd ChemSCAD
pip install --user -r requirements.txt
python main.py

For Mac & Linux/Ubuntu:

python3 -m venv <name of venv>
cd <name of venv>
cd bin
source activate
cd ..
mkdir ChemSCAD
cd ChemSCAD
git clone https://gitlab.com/croningroup/reactionware/chemscad.git
cd ChemSCAD
sudo pip3 install -r requirements.txt
python3 main.py

ChemSCAD updates:

When bug fixes and new features are released for ChemSCAD, you may wish to update to the latest version. To do so please follow these steps for your operating system.

For Windows:

cd ChemSCAD 
cd ChemSCAD
git pull origin master
python main.py

For Mac & Linux/Ubuntu:

mkdir ChemSCAD
cd ChemSCAD
git pull origin master
python3 main.py

For developers ONLY

If you wish to work on fixing a bug or implementing a new feature in ChemSCAD you may do so by creating a Feature branch from the dev branch as follows:

N.B: the following instructions assume you are currently on the master branch and have performed git add and git commit to clean the working tree prior to moving branches.

git checkout -b dev # moves current branch from master to dev
git checkout -b [new-branch] # switches from new branch from dev & creates new branch from dev for new feature/bug fix
git push -u origin [new-branch] # sets new branch to track local changes on the remote origin host

Once a new feature/bug fix is added and tested as working, create a merge request to merge new-branch into dev and eventually merge dev into master to release the new stable build of ChemSCAD with new features and bug fixes implemented.

Development

ChemSCAD uses the Black code formatter. A pre-commit hook is included in the repo. Install the dependencies of this repo (requirements.txt), and before you submit any commit, just run:

pre-commit install

Any commit you run after that will first trigger Black and will format your code properly. Run the following command at any point if you're not sure your code is not formatted properly (recursive command).

black .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chemscad-2.0.2b2.tar.gz (285.3 kB view hashes)

Uploaded Source

Built Distribution

chemscad-2.0.2b2-py3-none-any.whl (339.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page