digichem-core 6.0.0rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- digichem_core-6.0.0rc1/.github/workflows/python-main-pull.yml +60 -0
- digichem_core-6.0.0rc1/.github/workflows/python-main-push.yml +71 -0
- digichem_core-6.0.0rc1/.github/workflows/python-pypi-publish.yml +41 -0
- digichem_core-6.0.0rc1/.gitignore +201 -0
- digichem_core-6.0.0rc1/.gitmodules +3 -0
- digichem_core-6.0.0rc1/Banner.png +0 -0
- digichem_core-6.0.0rc1/COPYING.md +10 -0
- digichem_core-6.0.0rc1/LICENSE +11 -0
- digichem_core-6.0.0rc1/PKG-INFO +96 -0
- digichem_core-6.0.0rc1/README.md +52 -0
- digichem_core-6.0.0rc1/digichem/__init__.py +75 -0
- digichem_core-6.0.0rc1/digichem/basis.py +116 -0
- digichem_core-6.0.0rc1/digichem/config/README +3 -0
- digichem_core-6.0.0rc1/digichem/config/__init__.py +5 -0
- digichem_core-6.0.0rc1/digichem/config/base.py +321 -0
- digichem_core-6.0.0rc1/digichem/config/locations.py +14 -0
- digichem_core-6.0.0rc1/digichem/config/parse.py +90 -0
- digichem_core-6.0.0rc1/digichem/config/util.py +117 -0
- digichem_core-6.0.0rc1/digichem/data/README +4 -0
- digichem_core-6.0.0rc1/digichem/data/batoms/COPYING +18 -0
- digichem_core-6.0.0rc1/digichem/data/batoms/LICENSE +674 -0
- digichem_core-6.0.0rc1/digichem/data/batoms/README +2 -0
- digichem_core-6.0.0rc1/digichem/data/batoms/__init__.py +0 -0
- digichem_core-6.0.0rc1/digichem/data/batoms/batoms-renderer.py +351 -0
- digichem_core-6.0.0rc1/digichem/data/config/digichem.yaml +714 -0
- digichem_core-6.0.0rc1/digichem/data/functionals.csv +15 -0
- digichem_core-6.0.0rc1/digichem/data/solvents.csv +185 -0
- digichem_core-6.0.0rc1/digichem/data/tachyon/COPYING.md +5 -0
- digichem_core-6.0.0rc1/digichem/data/tachyon/LICENSE +30 -0
- digichem_core-6.0.0rc1/digichem/data/tachyon/tachyon_LINUXAMD64 +0 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/common.tcl +468 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/generate_combined_orbital_images.tcl +70 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/generate_density_images.tcl +45 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/generate_dipole_images.tcl +68 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/generate_orbital_images.tcl +57 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/generate_spin_images.tcl +66 -0
- digichem_core-6.0.0rc1/digichem/data/vmd/generate_structure_images.tcl +40 -0
- digichem_core-6.0.0rc1/digichem/datas.py +14 -0
- digichem_core-6.0.0rc1/digichem/exception/__init__.py +7 -0
- digichem_core-6.0.0rc1/digichem/exception/base.py +133 -0
- digichem_core-6.0.0rc1/digichem/exception/uncatchable.py +63 -0
- digichem_core-6.0.0rc1/digichem/file/__init__.py +1 -0
- digichem_core-6.0.0rc1/digichem/file/base.py +364 -0
- digichem_core-6.0.0rc1/digichem/file/cube.py +284 -0
- digichem_core-6.0.0rc1/digichem/file/fchk.py +94 -0
- digichem_core-6.0.0rc1/digichem/file/prattle.py +277 -0
- digichem_core-6.0.0rc1/digichem/file/types.py +97 -0
- digichem_core-6.0.0rc1/digichem/image/__init__.py +6 -0
- digichem_core-6.0.0rc1/digichem/image/base.py +113 -0
- digichem_core-6.0.0rc1/digichem/image/excited_states.py +335 -0
- digichem_core-6.0.0rc1/digichem/image/graph.py +293 -0
- digichem_core-6.0.0rc1/digichem/image/orbitals.py +239 -0
- digichem_core-6.0.0rc1/digichem/image/render.py +617 -0
- digichem_core-6.0.0rc1/digichem/image/spectroscopy.py +797 -0
- digichem_core-6.0.0rc1/digichem/image/structure.py +115 -0
- digichem_core-6.0.0rc1/digichem/image/vmd.py +826 -0
- digichem_core-6.0.0rc1/digichem/input/__init__.py +3 -0
- digichem_core-6.0.0rc1/digichem/input/base.py +78 -0
- digichem_core-6.0.0rc1/digichem/input/digichem_input.py +500 -0
- digichem_core-6.0.0rc1/digichem/input/gaussian.py +140 -0
- digichem_core-6.0.0rc1/digichem/log.py +179 -0
- digichem_core-6.0.0rc1/digichem/memory.py +166 -0
- digichem_core-6.0.0rc1/digichem/misc/__init__.py +4 -0
- digichem_core-6.0.0rc1/digichem/misc/argparse.py +44 -0
- digichem_core-6.0.0rc1/digichem/misc/base.py +61 -0
- digichem_core-6.0.0rc1/digichem/misc/io.py +239 -0
- digichem_core-6.0.0rc1/digichem/misc/layered_dict.py +285 -0
- digichem_core-6.0.0rc1/digichem/misc/text.py +139 -0
- digichem_core-6.0.0rc1/digichem/misc/time.py +73 -0
- digichem_core-6.0.0rc1/digichem/parse/__init__.py +13 -0
- digichem_core-6.0.0rc1/digichem/parse/base.py +220 -0
- digichem_core-6.0.0rc1/digichem/parse/cclib.py +138 -0
- digichem_core-6.0.0rc1/digichem/parse/dump.py +253 -0
- digichem_core-6.0.0rc1/digichem/parse/gaussian.py +130 -0
- digichem_core-6.0.0rc1/digichem/parse/orca.py +96 -0
- digichem_core-6.0.0rc1/digichem/parse/turbomole.py +201 -0
- digichem_core-6.0.0rc1/digichem/parse/util.py +523 -0
- digichem_core-6.0.0rc1/digichem/result/__init__.py +6 -0
- digichem_core-6.0.0rc1/digichem/result/alignment/AA.py +114 -0
- digichem_core-6.0.0rc1/digichem/result/alignment/AAA.py +61 -0
- digichem_core-6.0.0rc1/digichem/result/alignment/FAP.py +148 -0
- digichem_core-6.0.0rc1/digichem/result/alignment/__init__.py +3 -0
- digichem_core-6.0.0rc1/digichem/result/alignment/base.py +310 -0
- digichem_core-6.0.0rc1/digichem/result/angle.py +153 -0
- digichem_core-6.0.0rc1/digichem/result/atom.py +742 -0
- digichem_core-6.0.0rc1/digichem/result/base.py +258 -0
- digichem_core-6.0.0rc1/digichem/result/dipole_moment.py +332 -0
- digichem_core-6.0.0rc1/digichem/result/emission.py +402 -0
- digichem_core-6.0.0rc1/digichem/result/energy.py +323 -0
- digichem_core-6.0.0rc1/digichem/result/excited_state.py +821 -0
- digichem_core-6.0.0rc1/digichem/result/ground_state.py +94 -0
- digichem_core-6.0.0rc1/digichem/result/metadata.py +644 -0
- digichem_core-6.0.0rc1/digichem/result/multi.py +98 -0
- digichem_core-6.0.0rc1/digichem/result/nmr.py +1086 -0
- digichem_core-6.0.0rc1/digichem/result/orbital.py +647 -0
- digichem_core-6.0.0rc1/digichem/result/result.py +244 -0
- digichem_core-6.0.0rc1/digichem/result/soc.py +272 -0
- digichem_core-6.0.0rc1/digichem/result/spectroscopy.py +514 -0
- digichem_core-6.0.0rc1/digichem/result/tdm.py +267 -0
- digichem_core-6.0.0rc1/digichem/result/vibration.py +167 -0
- digichem_core-6.0.0rc1/digichem/test/__init__.py +6 -0
- digichem_core-6.0.0rc1/digichem/test/conftest.py +4 -0
- digichem_core-6.0.0rc1/digichem/test/test_basis.py +71 -0
- digichem_core-6.0.0rc1/digichem/test/test_calculate.py +30 -0
- digichem_core-6.0.0rc1/digichem/test/test_config.py +78 -0
- digichem_core-6.0.0rc1/digichem/test/test_cube.py +369 -0
- digichem_core-6.0.0rc1/digichem/test/test_exception.py +16 -0
- digichem_core-6.0.0rc1/digichem/test/test_file.py +104 -0
- digichem_core-6.0.0rc1/digichem/test/test_image.py +337 -0
- digichem_core-6.0.0rc1/digichem/test/test_input.py +64 -0
- digichem_core-6.0.0rc1/digichem/test/test_parsing.py +79 -0
- digichem_core-6.0.0rc1/digichem/test/test_prattle.py +36 -0
- digichem_core-6.0.0rc1/digichem/test/test_result.py +489 -0
- digichem_core-6.0.0rc1/digichem/test/test_translate.py +112 -0
- digichem_core-6.0.0rc1/digichem/test/util.py +207 -0
- digichem_core-6.0.0rc1/digichem/translate.py +591 -0
- digichem_core-6.0.0rc1/pyproject.toml +49 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
|
3
|
+
|
|
4
|
+
name: Python tests and lint
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ "main" ]
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
build:
|
|
15
|
+
|
|
16
|
+
defaults:
|
|
17
|
+
run:
|
|
18
|
+
shell: bash -l {0}
|
|
19
|
+
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v3
|
|
24
|
+
with:
|
|
25
|
+
submodules: recursive
|
|
26
|
+
- name: Set up Python 3.9
|
|
27
|
+
uses: actions/setup-python@v3
|
|
28
|
+
with:
|
|
29
|
+
python-version: "3.9"
|
|
30
|
+
- name: Install openbabel
|
|
31
|
+
run: |
|
|
32
|
+
sudo apt install openbabel libopenbabel-dev
|
|
33
|
+
sudo ln -s /usr/include/openbabel3 /usr/local/include/openbabel3
|
|
34
|
+
- name: Install PIP dependencies
|
|
35
|
+
run: |
|
|
36
|
+
python -m pip install --upgrade pip
|
|
37
|
+
pip install flake8 "pytest<8.0" pytest-lazy-fixture
|
|
38
|
+
- name: Install dependencies
|
|
39
|
+
run: |
|
|
40
|
+
sudo apt install swig
|
|
41
|
+
pip install -e .
|
|
42
|
+
#if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
43
|
+
- name: Install PySOC
|
|
44
|
+
run: |
|
|
45
|
+
cd ~/
|
|
46
|
+
git clone https://github.com/Digichem-Project/pysoc.git
|
|
47
|
+
pip install -r pysoc/requirements.txt
|
|
48
|
+
echo "PYTHONPATH=$PYTHONPATH:$HOME/pysoc" >> $GITHUB_ENV
|
|
49
|
+
echo "$HOME/pysoc/bin" >> $GITHUB_PATH
|
|
50
|
+
- name: Lint with flake8
|
|
51
|
+
run: |
|
|
52
|
+
# stop the build if there are Python syntax errors or undefined names
|
|
53
|
+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
54
|
+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
55
|
+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
|
56
|
+
- name: Test with pytest
|
|
57
|
+
run: |
|
|
58
|
+
export PYTHONPATH="./:$PYTHONPATH"
|
|
59
|
+
pytest
|
|
60
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
|
3
|
+
|
|
4
|
+
name: Python tests and lint
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [ "main" ]
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
build:
|
|
15
|
+
|
|
16
|
+
defaults:
|
|
17
|
+
run:
|
|
18
|
+
shell: bash -l {0}
|
|
19
|
+
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v3
|
|
24
|
+
with:
|
|
25
|
+
submodules: recursive
|
|
26
|
+
- name: Set up Python 3.9
|
|
27
|
+
uses: actions/setup-python@v3
|
|
28
|
+
with:
|
|
29
|
+
python-version: "3.9"
|
|
30
|
+
- name: Install openbabel
|
|
31
|
+
run: |
|
|
32
|
+
sudo apt install openbabel libopenbabel-dev
|
|
33
|
+
sudo ln -s /usr/include/openbabel3 /usr/local/include/openbabel3
|
|
34
|
+
- name: Install PIP dependencies
|
|
35
|
+
run: |
|
|
36
|
+
python -m pip install --upgrade pip
|
|
37
|
+
pip install flake8 "pytest<8.0" pytest-lazy-fixture
|
|
38
|
+
- name: Install dependencies
|
|
39
|
+
run: |
|
|
40
|
+
sudo apt install swig
|
|
41
|
+
pip install -e .
|
|
42
|
+
#if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
43
|
+
- name: Install PySOC
|
|
44
|
+
run: |
|
|
45
|
+
cd ~/
|
|
46
|
+
git clone https://github.com/Digichem-Project/pysoc.git
|
|
47
|
+
pip install -r pysoc/requirements.txt
|
|
48
|
+
echo "PYTHONPATH=$PYTHONPATH:$HOME/pysoc" >> $GITHUB_ENV
|
|
49
|
+
echo "$HOME/pysoc/bin" >> $GITHUB_PATH
|
|
50
|
+
- name: Lint with flake8
|
|
51
|
+
run: |
|
|
52
|
+
# stop the build if there are Python syntax errors or undefined names
|
|
53
|
+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
54
|
+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
55
|
+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
|
56
|
+
- name: Set last modified
|
|
57
|
+
run: |
|
|
58
|
+
new_date=$(date '+%d\/%m\/%Y')
|
|
59
|
+
sed -E "s/_last_updated_string = \"[0-9]{2}\/[0-9]{2}\/[0-9]{4}\"/_last_updated_string = \"$new_date\"/g" -i digichem/__init__.py
|
|
60
|
+
- name: Test with pytest
|
|
61
|
+
run: |
|
|
62
|
+
export PYTHONPATH="./:$PYTHONPATH"
|
|
63
|
+
pytest
|
|
64
|
+
- name: Commit changes
|
|
65
|
+
run: |
|
|
66
|
+
git config --global user.email "osl@st-andrews.ac.uk"
|
|
67
|
+
git config --global user.name "Oliver Lee"
|
|
68
|
+
git add digichem/__init__.py
|
|
69
|
+
git commit -m "chore: update last modified"
|
|
70
|
+
git push
|
|
71
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This workflow will upload a Python Package using Twine when a release is created
|
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
|
|
3
|
+
|
|
4
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
5
|
+
# They are provided by a third-party and are governed by
|
|
6
|
+
# separate terms of service, privacy policy, and support
|
|
7
|
+
# documentation.
|
|
8
|
+
|
|
9
|
+
name: Upload Python Package
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
release:
|
|
13
|
+
types: [published]
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
deploy:
|
|
20
|
+
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
environment:
|
|
23
|
+
name: pypi
|
|
24
|
+
url: https://pypi.org/p/digichem-core
|
|
25
|
+
permissions:
|
|
26
|
+
id-token: write
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v4
|
|
30
|
+
- name: Set up Python
|
|
31
|
+
uses: actions/setup-python@v4
|
|
32
|
+
with:
|
|
33
|
+
python-version: '3.x'
|
|
34
|
+
- name: Install dependencies
|
|
35
|
+
run: |
|
|
36
|
+
python -m pip install --upgrade pip
|
|
37
|
+
pip install build
|
|
38
|
+
- name: Build package
|
|
39
|
+
run: python -m build
|
|
40
|
+
- name: Publish package
|
|
41
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
cover/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
local_settings.py
|
|
60
|
+
db.sqlite3
|
|
61
|
+
db.sqlite3-journal
|
|
62
|
+
|
|
63
|
+
# Flask stuff:
|
|
64
|
+
instance/
|
|
65
|
+
.webassets-cache
|
|
66
|
+
|
|
67
|
+
# Scrapy stuff:
|
|
68
|
+
.scrapy
|
|
69
|
+
|
|
70
|
+
# Sphinx documentation
|
|
71
|
+
docs/_build/
|
|
72
|
+
|
|
73
|
+
# PyBuilder
|
|
74
|
+
.pybuilder/
|
|
75
|
+
target/
|
|
76
|
+
|
|
77
|
+
# Jupyter Notebook
|
|
78
|
+
.ipynb_checkpoints
|
|
79
|
+
|
|
80
|
+
# IPython
|
|
81
|
+
profile_default/
|
|
82
|
+
ipython_config.py
|
|
83
|
+
|
|
84
|
+
# pyenv
|
|
85
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
86
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
87
|
+
# .python-version
|
|
88
|
+
|
|
89
|
+
# pipenv
|
|
90
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
91
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
92
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
93
|
+
# install all needed dependencies.
|
|
94
|
+
#Pipfile.lock
|
|
95
|
+
|
|
96
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
97
|
+
__pypackages__/
|
|
98
|
+
|
|
99
|
+
# Celery stuff
|
|
100
|
+
celerybeat-schedule
|
|
101
|
+
celerybeat.pid
|
|
102
|
+
|
|
103
|
+
# SageMath parsed files
|
|
104
|
+
*.sage.py
|
|
105
|
+
|
|
106
|
+
# Environments
|
|
107
|
+
.env
|
|
108
|
+
.venv
|
|
109
|
+
env/
|
|
110
|
+
venv/
|
|
111
|
+
ENV/
|
|
112
|
+
env.bak/
|
|
113
|
+
venv.bak/
|
|
114
|
+
|
|
115
|
+
# Spyder project settings
|
|
116
|
+
.spyderproject
|
|
117
|
+
.spyproject
|
|
118
|
+
|
|
119
|
+
# Rope project settings
|
|
120
|
+
.ropeproject
|
|
121
|
+
|
|
122
|
+
# mkdocs documentation
|
|
123
|
+
/site
|
|
124
|
+
|
|
125
|
+
# mypy
|
|
126
|
+
.mypy_cache/
|
|
127
|
+
.dmypy.json
|
|
128
|
+
dmypy.json
|
|
129
|
+
|
|
130
|
+
# Pyre type checker
|
|
131
|
+
.pyre/
|
|
132
|
+
|
|
133
|
+
# pytype static type analyzer
|
|
134
|
+
.pytype/
|
|
135
|
+
|
|
136
|
+
# Cython debug symbols
|
|
137
|
+
cython_debug/
|
|
138
|
+
|
|
139
|
+
#######################################################
|
|
140
|
+
# Eclipse
|
|
141
|
+
.metadata
|
|
142
|
+
bin/
|
|
143
|
+
tmp/
|
|
144
|
+
*.tmp
|
|
145
|
+
*.bak
|
|
146
|
+
*.swp
|
|
147
|
+
*~.nib
|
|
148
|
+
local.properties
|
|
149
|
+
.settings/
|
|
150
|
+
.loadpath
|
|
151
|
+
.recommenders
|
|
152
|
+
|
|
153
|
+
# External tool builders
|
|
154
|
+
.externalToolBuilders/
|
|
155
|
+
|
|
156
|
+
# Locally stored "Eclipse launch configurations"
|
|
157
|
+
*.launch
|
|
158
|
+
|
|
159
|
+
# PyDev specific (Python IDE for Eclipse)
|
|
160
|
+
*.pydevproject
|
|
161
|
+
|
|
162
|
+
# CDT-specific (C/C++ Development Tooling)
|
|
163
|
+
.cproject
|
|
164
|
+
|
|
165
|
+
# CDT- autotools
|
|
166
|
+
.autotools
|
|
167
|
+
|
|
168
|
+
# Java annotation processor (APT)
|
|
169
|
+
.factorypath
|
|
170
|
+
|
|
171
|
+
# PDT-specific (PHP Development Tools)
|
|
172
|
+
.buildpath
|
|
173
|
+
|
|
174
|
+
# sbteclipse plugin
|
|
175
|
+
.target
|
|
176
|
+
|
|
177
|
+
# Tern plugin
|
|
178
|
+
.tern-project
|
|
179
|
+
|
|
180
|
+
# TeXlipse plugin
|
|
181
|
+
.texlipse
|
|
182
|
+
|
|
183
|
+
# STS (Spring Tool Suite)
|
|
184
|
+
.springBeans
|
|
185
|
+
|
|
186
|
+
# Code Recommenders
|
|
187
|
+
.recommenders/
|
|
188
|
+
|
|
189
|
+
# Annotation Processing
|
|
190
|
+
.apt_generated/
|
|
191
|
+
.apt_generated_test/
|
|
192
|
+
|
|
193
|
+
# Scala IDE specific (Scala & Java development for Eclipse)
|
|
194
|
+
.cache-main
|
|
195
|
+
.scala_dependencies
|
|
196
|
+
.worksheet
|
|
197
|
+
|
|
198
|
+
# Uncomment this line if you wish to ignore the project description file.
|
|
199
|
+
# Typically, this file would be tracked if it contains build/dependency configurations:
|
|
200
|
+
.project
|
|
201
|
+
.vscode
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Copyright (C) 2024 Digichem.
|
|
2
|
+
The Digichem-core repository is free, open-source software.
|
|
3
|
+
|
|
4
|
+
The main code base is licensed under the BSD-3-Clause license, see [`LICENSE`](LICENSE) for full details.
|
|
5
|
+
|
|
6
|
+
Code distributed under the [`digichem/data/batoms`](digichem/data/batoms) directory is licensed separately under the GNU General Public License V3, see [`digichem/data/batoms/LICENSE`](digichem/data/batoms/LICENSE) for full license details.
|
|
7
|
+
|
|
8
|
+
The Digichem logo and banner is not licensed for use, and remains Copyright (C) 2024 Digichem.
|
|
9
|
+
|
|
10
|
+
Code distributed under the [`digichem/data/tachyon`](digichem/data/tachyon) directory is Copyright (c) 1994-2013 John E. Stone, and is licensed separately under the BSD-3-Clause license, see [`digichem/data/tachyon/LICENSE`](digichem/data/tachyon/LICENSE) for full license details. The Tachyon ray-tracer and John E. Stone are in no-way affiliated with Digichem.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Copyright 2024 Digichem
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
4
|
+
|
|
5
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
6
|
+
|
|
7
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
8
|
+
|
|
9
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
10
|
+
|
|
11
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: digichem-core
|
|
3
|
+
Version: 6.0.0rc1
|
|
4
|
+
Summary: Open-source library for Digichem core components
|
|
5
|
+
Project-URL: Homepage, https://github.com/Digichem-Project/digichem-core
|
|
6
|
+
Project-URL: Documentation, https://doc.digi-chem.co.uk
|
|
7
|
+
Project-URL: Issues, https://github.com/Digichem-Project/digichem-core/issues
|
|
8
|
+
Author-email: "Oliver S. Lee" <osl@digi-chem.ac.uk>
|
|
9
|
+
License: Copyright 2024 Digichem
|
|
10
|
+
|
|
11
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
12
|
+
|
|
13
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
14
|
+
|
|
15
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
16
|
+
|
|
17
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
20
|
+
License-File: COPYING.md
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
23
|
+
Classifier: Operating System :: Unix
|
|
24
|
+
Classifier: Programming Language :: Python :: 3
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Requires-Dist: adjusttext
|
|
27
|
+
Requires-Dist: basis-set-exchange
|
|
28
|
+
Requires-Dist: cclib
|
|
29
|
+
Requires-Dist: colour-science
|
|
30
|
+
Requires-Dist: configurables
|
|
31
|
+
Requires-Dist: deepmerge
|
|
32
|
+
Requires-Dist: dill
|
|
33
|
+
Requires-Dist: matplotlib
|
|
34
|
+
Requires-Dist: openprattle
|
|
35
|
+
Requires-Dist: periodictable
|
|
36
|
+
Requires-Dist: pillow
|
|
37
|
+
Requires-Dist: pyyaml
|
|
38
|
+
Requires-Dist: rdkit
|
|
39
|
+
Requires-Dist: scipy
|
|
40
|
+
Provides-Extra: test
|
|
41
|
+
Requires-Dist: pytest; extra == 'test'
|
|
42
|
+
Requires-Dist: pytest-lazy-fixture; extra == 'test'
|
|
43
|
+
Description-Content-Type: text/markdown
|
|
44
|
+
|
|
45
|
+
<img src="Banner.png" alt="Banner" />
|
|
46
|
+
|
|
47
|
+
# Digichem-core
|
|
48
|
+
|
|
49
|
+
Welcome to Digichem: the computational chemistry management suite!
|
|
50
|
+
|
|
51
|
+
This is Digichem-core, the open-source library for Digichem. If you are looking to build your own computational workflows using the tools that Digichem has to offer, then you have come to the right place.
|
|
52
|
+
|
|
53
|
+
- Alternatively, if you are looking for the full Digichem program, try [Build-boy](https://github.com/Digichem-Project/build-boy)
|
|
54
|
+
- If you'd like more information on the Digichem project, check out the [website](https://www.digi-chem.co.uk)
|
|
55
|
+
|
|
56
|
+
## Dependencies
|
|
57
|
+
|
|
58
|
+
- adjustText
|
|
59
|
+
- basis_set_exchange
|
|
60
|
+
- cclib
|
|
61
|
+
- colour-science
|
|
62
|
+
- deepmerge
|
|
63
|
+
- dill
|
|
64
|
+
- matplotlib
|
|
65
|
+
- openprattle
|
|
66
|
+
- periodictable
|
|
67
|
+
- pillow
|
|
68
|
+
- pyyaml
|
|
69
|
+
- rdkit
|
|
70
|
+
- scipy
|
|
71
|
+
|
|
72
|
+
## Installation
|
|
73
|
+
|
|
74
|
+
### Pip
|
|
75
|
+
|
|
76
|
+
Digichem-core can be installed using pip. Simply run the following command:
|
|
77
|
+
|
|
78
|
+
```Shell
|
|
79
|
+
pip install digichem-core
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Or, on some platforms:
|
|
83
|
+
|
|
84
|
+
```Shell
|
|
85
|
+
pip3 install digichem-core
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Usage
|
|
89
|
+
|
|
90
|
+
Documentation coming soon.
|
|
91
|
+
|
|
92
|
+
## License
|
|
93
|
+
|
|
94
|
+
Digichem-core is licensed under the BSD-3-Clause license, but some files are licensed separately. See [COPYING.md](COPYING.md) for full details.
|
|
95
|
+
|
|
96
|
+
The Digichem logo and branding is Copyright Digichem 2024, you may not use them in any way (although you are welcome to look at them).
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<img src="Banner.png" alt="Banner" />
|
|
2
|
+
|
|
3
|
+
# Digichem-core
|
|
4
|
+
|
|
5
|
+
Welcome to Digichem: the computational chemistry management suite!
|
|
6
|
+
|
|
7
|
+
This is Digichem-core, the open-source library for Digichem. If you are looking to build your own computational workflows using the tools that Digichem has to offer, then you have come to the right place.
|
|
8
|
+
|
|
9
|
+
- Alternatively, if you are looking for the full Digichem program, try [Build-boy](https://github.com/Digichem-Project/build-boy)
|
|
10
|
+
- If you'd like more information on the Digichem project, check out the [website](https://www.digi-chem.co.uk)
|
|
11
|
+
|
|
12
|
+
## Dependencies
|
|
13
|
+
|
|
14
|
+
- adjustText
|
|
15
|
+
- basis_set_exchange
|
|
16
|
+
- cclib
|
|
17
|
+
- colour-science
|
|
18
|
+
- deepmerge
|
|
19
|
+
- dill
|
|
20
|
+
- matplotlib
|
|
21
|
+
- openprattle
|
|
22
|
+
- periodictable
|
|
23
|
+
- pillow
|
|
24
|
+
- pyyaml
|
|
25
|
+
- rdkit
|
|
26
|
+
- scipy
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
### Pip
|
|
31
|
+
|
|
32
|
+
Digichem-core can be installed using pip. Simply run the following command:
|
|
33
|
+
|
|
34
|
+
```Shell
|
|
35
|
+
pip install digichem-core
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Or, on some platforms:
|
|
39
|
+
|
|
40
|
+
```Shell
|
|
41
|
+
pip3 install digichem-core
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
Documentation coming soon.
|
|
47
|
+
|
|
48
|
+
## License
|
|
49
|
+
|
|
50
|
+
Digichem-core is licensed under the BSD-3-Clause license, but some files are licensed separately. See [COPYING.md](COPYING.md) for full details.
|
|
51
|
+
|
|
52
|
+
The Digichem logo and branding is Copyright Digichem 2024, you may not use them in any way (although you are welcome to look at them).
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""Computational chemistry management"""
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
import digichem.log
|
|
7
|
+
from digichem.datas import get_resource
|
|
8
|
+
|
|
9
|
+
####################
|
|
10
|
+
# Package metadata.#
|
|
11
|
+
####################
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# # Version information.
|
|
15
|
+
# major_version = 6
|
|
16
|
+
# minor_version = 0
|
|
17
|
+
# revision = 0
|
|
18
|
+
# prerelease = 1
|
|
19
|
+
# # Whether this is a development version.
|
|
20
|
+
# development = prerelease is not None
|
|
21
|
+
# # The full version number of this package.
|
|
22
|
+
# __version__ = "{}.{}.{}{}".format(major_version, minor_version, revision, "-pre.{}".format(prerelease) if development else "")
|
|
23
|
+
__version__ = "6.0.0-pre.1"
|
|
24
|
+
_v_parts = __version__.split("-")[0].split(".")
|
|
25
|
+
major_version = int(_v_parts[0])
|
|
26
|
+
minor_version = int(_v_parts[1])
|
|
27
|
+
revision = int(_v_parts[2])
|
|
28
|
+
if "-pre" in __version__:
|
|
29
|
+
development = True
|
|
30
|
+
prerelease = int(__version__.split(".")[3])
|
|
31
|
+
else:
|
|
32
|
+
development = False
|
|
33
|
+
prerelease = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Those who wrote this.
|
|
37
|
+
__author__ = [
|
|
38
|
+
"Oliver S. Lee"
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
# Program date (when we were last updated). This is changed automatically.
|
|
42
|
+
_last_updated_string = "31/05/2024"
|
|
43
|
+
last_updated = datetime.strptime(_last_updated_string, "%d/%m/%Y")
|
|
44
|
+
|
|
45
|
+
# The sys attribute 'frozen' is our flag, '_MEIPASS' is the dir location.
|
|
46
|
+
# https://pyinstaller.readthedocs.io/en/stable/runtime-information.html#run-time-information
|
|
47
|
+
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
|
|
48
|
+
frozen = True
|
|
49
|
+
|
|
50
|
+
# We are frozen, expand PATH to include the possibly bundled oprattle.
|
|
51
|
+
from pathlib import Path
|
|
52
|
+
import os
|
|
53
|
+
freeze_dir = Path(sys._MEIPASS)
|
|
54
|
+
if freeze_dir.name == "_internal":
|
|
55
|
+
freeze_dir = freeze_dir.parent
|
|
56
|
+
|
|
57
|
+
os.environ['PATH'] = os.environ.get("PATH", "") + ":" + str(freeze_dir)
|
|
58
|
+
|
|
59
|
+
else:
|
|
60
|
+
frozen = False
|
|
61
|
+
|
|
62
|
+
import rdkit.RDLogger
|
|
63
|
+
# WrapLogs() outputs rdkit logging to python's stderr (which might be redirected to an urwid widget).
|
|
64
|
+
# If/when rdkit is further intergrated into digichem, this call will likely be moved elsewhere.
|
|
65
|
+
#rdkit.Chem.rdchem.WrapLogs()
|
|
66
|
+
# Sadly the behaviour of WrapLogs() is a bit bizzare, although we do get redirection to our custom widgets etc,
|
|
67
|
+
# logs are also still dumped to screen...
|
|
68
|
+
# for now, disable logging...
|
|
69
|
+
rdkit.RDLogger.DisableLog('rdApp.*')
|
|
70
|
+
|
|
71
|
+
# Setup the logger
|
|
72
|
+
digichem.log.init_logger()
|
|
73
|
+
|
|
74
|
+
# At end to avoid circular imports.
|
|
75
|
+
import digichem.config
|