Skip to content

Commit 12852b8

Browse files
Merge pull request #53 from chrisjonesBSU/fix-env
Update environment.yml, and replace setup.py with pyproject.toml
2 parents af1cfaa + 4763b45 commit 12852b8

File tree

7 files changed

+172
-231
lines changed

7 files changed

+172
-231
lines changed

.github/workflows/pytest.yml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,50 @@ on:
44
push:
55
branches: [ master ]
66
paths:
7-
- '.github/workflows/pytest.yml'
8-
- 'morphct/**'
7+
- morphct/**
8+
- environment.yml
9+
- .github/workflows/pytest.yml
910
pull_request:
1011
branches: [ master ]
1112
paths:
12-
- '.github/workflows/pytest.yml'
13-
- 'morphct/**'
14-
# Allows workflow to be manually triggered
13+
- morphct/**
14+
- environment.yml
15+
- .github/workflows/pytest.yml
16+
1517
workflow_dispatch:
1618

1719
jobs:
1820
pytest:
19-
runs-on: ubuntu-latest
21+
if: github.event.pull_request.draft == false
22+
strategy:
23+
fail-fast: false
24+
matrix:
25+
os: [ubuntu-latest]
26+
python-version: ['3.7']
27+
28+
runs-on: ${{ matrix.os }}
2029

2130
steps:
2231
- name: Check out repository
23-
uses: actions/checkout@v2
24-
32+
uses: actions/checkout@v4
33+
2534
- name: Build environment
26-
uses: conda-incubator/setup-miniconda@v2
35+
uses: mamba-org/setup-micromamba@v2
2736
with:
2837
environment-file: environment.yml
29-
miniforge-variant: Mambaforge
30-
miniforge-version: 4.9.2-4
31-
use-mamba: true
38+
create-args: >-
39+
python=${{ matrix.python-version }}
3240
3341
- name: Install package
3442
shell: bash -l {0}
35-
run: pip install .
43+
run: python -m build && pip install dist/*.whl
3644

3745
- name: Run pytest with coverage report
3846
shell: bash -l {0}
39-
run: python -m pytest --cov=./ --cov-report=xml -v
47+
run: python -m pytest -rs -v --cov=./ --cov-report=xml
4048

4149
- name: Upload coverage to Codecov
42-
uses: codecov/codecov-action@v1
50+
uses: codecov/codecov-action@v5
4351
with:
4452
token: ${{ secrets.CODECOV_TOKEN }}
4553
file: ./coverage.xml

environment.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ channels:
55
dependencies:
66
- blas=*=openblas
77
- cython=0.29
8-
- ele=0.2.0
9-
- freud=2.6.2
10-
- gsd=2.4.2
11-
- h5py=2.10
12-
- hdf5=1.10
8+
- ele
9+
- freud
10+
- gsd
11+
- h5py<3.0
12+
- hdf5
1313
- libcint=4
14-
- matplotlib=3.4.2
15-
- numpy=1.21
16-
- openbabel=3.1.1
17-
- pip=21.0.1
18-
- pyscf=1.7.6
14+
- matplotlib
15+
- numpy
16+
- openbabel
17+
- pip
18+
- pyscf<2.0
1919
- python=3.7
20-
- scipy=1.7
21-
- signac=1.6.0
22-
- signac-flow=0.13.0
20+
- scipy
2321
- pytest
2422
- pytest-cov
23+
- pip:
24+
- build

morphct/__init__.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
from morphct.chromophores import Chromophore
22
from morphct.mobility_kmc import Carrier
3-
from morphct.__version__ import __version__
4-
from morphct import (chromophores, execute_qcc, helper_functions, kmc_analyze,
5-
mobility_kmc, transfer_integrals)
3+
from morphct import (
4+
chromophores,
5+
execute_qcc,
6+
helper_functions,
7+
kmc_analyze,
8+
mobility_kmc,
9+
transfer_integrals
10+
)
611

712
__all__ = [
8-
"__version__",
9-
"Chromophore",
10-
"Carrier",
11-
"chromophores",
12-
"execute_qcc",
13-
"helper_functions",
14-
"kmc_analyze",
15-
"mobility_kmc",
16-
"transfer_integrals",
17-
]
13+
"Chromophore",
14+
"Carrier",
15+
"chromophores",
16+
"execute_qcc",
17+
"helper_functions",
18+
"kmc_analyze",
19+
"mobility_kmc",
20+
"transfer_integrals",
21+
]
22+
23+
__version__ = "0.5.1"

morphct/__version__.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

morphct/chromophores.py

Lines changed: 84 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import sys
66
from warnings import warn
77

8-
import ele
8+
from ele import element_from_symbol
99
import freud
1010
from openbabel import openbabel
1111
from openbabel import pybel
@@ -229,7 +229,7 @@ def get_chromo_ids_smiles(snap, smarts_str, conversion_dict=None):
229229
if conversion_dict is not None:
230230
element = conversion_dict[snap.particles.types[typeid]]
231231
else:
232-
element = ele.element_from_symbol(snap.particles.types[typeid])
232+
element = element_from_symbol(snap.particles.types[typeid])
233233
a.SetAtomicNum(element.atomic_number)
234234
a.SetVector(*[float(x) for x in unwrapped_positions[i]])
235235

@@ -335,90 +335,90 @@ def set_neighbors_voronoi(chromo_list, snap, conversion_dict=None, d_cut=10):
335335

336336

337337
conversion_dict = {
338-
"S1": ele.element_from_symbol("S"),
339-
"H1": ele.element_from_symbol("H"),
340-
"C5": ele.element_from_symbol("C"),
341-
"C1": ele.element_from_symbol("C"),
342-
"C4": ele.element_from_symbol("C"),
343-
"C6": ele.element_from_symbol("C"),
344-
"C8": ele.element_from_symbol("C"),
345-
"C9": ele.element_from_symbol("C"),
346-
"C3": ele.element_from_symbol("C"),
347-
"C7": ele.element_from_symbol("C"),
348-
"C2": ele.element_from_symbol("C"),
349-
"C10": ele.element_from_symbol("C"),
338+
"S1": element_from_symbol("S"),
339+
"H1": element_from_symbol("H"),
340+
"C5": element_from_symbol("C"),
341+
"C1": element_from_symbol("C"),
342+
"C4": element_from_symbol("C"),
343+
"C6": element_from_symbol("C"),
344+
"C8": element_from_symbol("C"),
345+
"C9": element_from_symbol("C"),
346+
"C3": element_from_symbol("C"),
347+
"C7": element_from_symbol("C"),
348+
"C2": element_from_symbol("C"),
349+
"C10":element_from_symbol("C"),
350350
}
351351

352352

353353
amber_dict = {
354-
"c": ele.element_from_symbol("C"),
355-
"c1": ele.element_from_symbol("C"),
356-
"c2": ele.element_from_symbol("C"),
357-
"c3": ele.element_from_symbol("C"),
358-
"ca": ele.element_from_symbol("C"),
359-
"cp": ele.element_from_symbol("C"),
360-
"cq": ele.element_from_symbol("C"),
361-
"cc": ele.element_from_symbol("C"),
362-
"cd": ele.element_from_symbol("C"),
363-
"ce": ele.element_from_symbol("C"),
364-
"cf": ele.element_from_symbol("C"),
365-
"cg": ele.element_from_symbol("C"),
366-
"ch": ele.element_from_symbol("C"),
367-
"cx": ele.element_from_symbol("C"),
368-
"cy": ele.element_from_symbol("C"),
369-
"cu": ele.element_from_symbol("C"),
370-
"cv": ele.element_from_symbol("C"),
371-
"h1": ele.element_from_symbol("H"),
372-
"h2": ele.element_from_symbol("H"),
373-
"h3": ele.element_from_symbol("H"),
374-
"h4": ele.element_from_symbol("H"),
375-
"h5": ele.element_from_symbol("H"),
376-
"ha": ele.element_from_symbol("H"),
377-
"hc": ele.element_from_symbol("H"),
378-
"hn": ele.element_from_symbol("H"),
379-
"ho": ele.element_from_symbol("H"),
380-
"hp": ele.element_from_symbol("H"),
381-
"hs": ele.element_from_symbol("H"),
382-
"hw": ele.element_from_symbol("H"),
383-
"hx": ele.element_from_symbol("H"),
384-
"f": ele.element_from_symbol("F"),
385-
"cl": ele.element_from_symbol("Cl"),
386-
"br": ele.element_from_symbol("Br"),
387-
"i": ele.element_from_symbol("I"),
388-
"n": ele.element_from_symbol("N"),
389-
"n1": ele.element_from_symbol("N"),
390-
"n2": ele.element_from_symbol("N"),
391-
"n3": ele.element_from_symbol("N"),
392-
"n4": ele.element_from_symbol("N"),
393-
"na": ele.element_from_symbol("N"),
394-
"nb": ele.element_from_symbol("N"),
395-
"nc": ele.element_from_symbol("N"),
396-
"nd": ele.element_from_symbol("N"),
397-
"ne": ele.element_from_symbol("N"),
398-
"nf": ele.element_from_symbol("N"),
399-
"nh": ele.element_from_symbol("N"),
400-
"no": ele.element_from_symbol("N"),
401-
"o": ele.element_from_symbol("O"),
402-
"oh": ele.element_from_symbol("O"),
403-
"os": ele.element_from_symbol("O"),
404-
"ow": ele.element_from_symbol("O"),
405-
"p2": ele.element_from_symbol("P"),
406-
"p3": ele.element_from_symbol("P"),
407-
"p4": ele.element_from_symbol("P"),
408-
"p5": ele.element_from_symbol("P"),
409-
"pb": ele.element_from_symbol("P"),
410-
"pc": ele.element_from_symbol("P"),
411-
"pd": ele.element_from_symbol("P"),
412-
"pe": ele.element_from_symbol("P"),
413-
"pf": ele.element_from_symbol("P"),
414-
"px": ele.element_from_symbol("P"),
415-
"py": ele.element_from_symbol("P"),
416-
"s": ele.element_from_symbol("S"),
417-
"s2": ele.element_from_symbol("S"),
418-
"s4": ele.element_from_symbol("S"),
419-
"s6": ele.element_from_symbol("S"),
420-
"sh": ele.element_from_symbol("S"),
421-
"ss": ele.element_from_symbol("S"),
422-
"sx": ele.element_from_symbol("S"),
423-
"sy": ele.element_from_symbol("S"),
354+
"c": element_from_symbol("C"),
355+
"c1": element_from_symbol("C"),
356+
"c2": element_from_symbol("C"),
357+
"c3": element_from_symbol("C"),
358+
"ca": element_from_symbol("C"),
359+
"cp": element_from_symbol("C"),
360+
"cq": element_from_symbol("C"),
361+
"cc": element_from_symbol("C"),
362+
"cd": element_from_symbol("C"),
363+
"ce": element_from_symbol("C"),
364+
"cf": element_from_symbol("C"),
365+
"cg": element_from_symbol("C"),
366+
"ch": element_from_symbol("C"),
367+
"cx": element_from_symbol("C"),
368+
"cy": element_from_symbol("C"),
369+
"cu": element_from_symbol("C"),
370+
"cv": element_from_symbol("C"),
371+
"h1": element_from_symbol("H"),
372+
"h2": element_from_symbol("H"),
373+
"h3": element_from_symbol("H"),
374+
"h4": element_from_symbol("H"),
375+
"h5": element_from_symbol("H"),
376+
"ha": element_from_symbol("H"),
377+
"hc": element_from_symbol("H"),
378+
"hn": element_from_symbol("H"),
379+
"ho": element_from_symbol("H"),
380+
"hp": element_from_symbol("H"),
381+
"hs": element_from_symbol("H"),
382+
"hw": element_from_symbol("H"),
383+
"hx": element_from_symbol("H"),
384+
"f": element_from_symbol("F"),
385+
"cl": element_from_symbol("Cl"),
386+
"br": element_from_symbol("Br"),
387+
"i": element_from_symbol("I"),
388+
"n": element_from_symbol("N"),
389+
"n1":element_from_symbol("N"),
390+
"n2":element_from_symbol("N"),
391+
"n3":element_from_symbol("N"),
392+
"n4": element_from_symbol("N"),
393+
"na": element_from_symbol("N"),
394+
"nb": element_from_symbol("N"),
395+
"nc": element_from_symbol("N"),
396+
"nd": element_from_symbol("N"),
397+
"ne": element_from_symbol("N"),
398+
"nf": element_from_symbol("N"),
399+
"nh": element_from_symbol("N"),
400+
"no": element_from_symbol("N"),
401+
"o": element_from_symbol("O"),
402+
"oh": element_from_symbol("O"),
403+
"os": element_from_symbol("O"),
404+
"ow": element_from_symbol("O"),
405+
"p2": element_from_symbol("P"),
406+
"p3": element_from_symbol("P"),
407+
"p4": element_from_symbol("P"),
408+
"p5": element_from_symbol("P"),
409+
"pb": element_from_symbol("P"),
410+
"pc": element_from_symbol("P"),
411+
"pd": element_from_symbol("P"),
412+
"pe": element_from_symbol("P"),
413+
"pf": element_from_symbol("P"),
414+
"px": element_from_symbol("P"),
415+
"py": element_from_symbol("P"),
416+
"s": element_from_symbol("S"),
417+
"s2": element_from_symbol("S"),
418+
"s4": element_from_symbol("S"),
419+
"s6": element_from_symbol("S"),
420+
"sh": element_from_symbol("S"),
421+
"ss": element_from_symbol("S"),
422+
"sx": element_from_symbol("S"),
423+
"sy": element_from_symbol("S"),
424424
}

pyproject.toml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
[build-system]
2+
requires = ["setuptools>=61.2", "versioningit"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "MorphCT"
7+
description = "Using the Marcus Hoping model, caclulates charge mobility from atomistic molecular dynamics morphologies."
8+
readme = "README.md"
9+
authors = [
10+
{name = "Eric Jankowski", email = "ericjankowski@boisestate.edu"}
11+
]
12+
license= {text = "GPLv3"}
13+
classifiers=[
14+
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
15+
"Programming Language :: Python",
16+
"Programming Language :: Python :: 3",
17+
]
18+
urls = {Homepage = "https://github.com/cmelab/morphct"}
19+
requires-python = ">=3.7"
20+
dynamic = ["version"]
21+
22+
[tool.setuptools]
23+
zip-safe = false
24+
include-package-data = true
25+
license-files = ["LICENSE"]
26+
27+
[tool.setuptools.packages.find]
28+
where = ["."]
29+
include = ["morphct*"]
30+
exclude = ["tests*"]
31+
32+
[tool.setuptools.dynamic]
33+
version = {attr = "morphct.__version__"}

0 commit comments

Comments
 (0)