Skip to content

Commit af201e0

Browse files
committed
fix the RMG-Py conda build
changes required to make the RMG-Py conda build work again. detailed description: - recipe now contains the appropriate requirements - removed macos travis-specific thing - added comments in build.sh for historical preservation of my failed efforts - other changes are the initial steps toward making the conda build work, future commits will make the build tests pass the ci runs on a self-hosted runner in the green group offices. required a specific version of conda build and libmamba to be installed (see PR of this commit for more details), currently fails tests because rmg tries to import Julia during testing. will now need to 'bury' the Julia import and make it optional, including docs updates, etc.
1 parent 4e2a941 commit af201e0

File tree

7 files changed

+156
-56
lines changed

7 files changed

+156
-56
lines changed

.conda/build.sh

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
1-
# Install RMG
1+
# conda build script
2+
#
3+
# conda executes this script during the build process to make the rmg
4+
# binary
25
make install
36

4-
# lazy "install" of everything in our 'external' folder.
5-
# most of which should probably be elsewhere
6-
cp -R ${SRC_DIR}/external ${SP_DIR}
7+
# The below code does not work because the Julia programming langauge is a very interesting technical demo that is completely unfit for actual
8+
# deployment in any real world projects.
9+
#
10+
# RMG will be shipped as a pure python package, and then RMS installed by the user.
11+
#
12+
# export PYTHON=$PREFIX/bin/python
13+
# export PYTHONPATH=$SRC_DIR:$PYTHONPATH
14+
# python -c "import julia; julia.install(); import diffeqpy; diffeqpy.install()"
15+
# julia -e 'using Pkg; Pkg.add(PackageSpec(name="Functors",version="0.4.3")); Pkg.pin("Functors"); Pkg.add(PackageSpec(name="ReactionMechanismSimulator",rev="for_rmg")); using ReactionMechanismSimulator'

.conda/conda_build_config.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,3 @@ python:
33
numpy:
44
- 1.15
55

6-
# Specifically for Travis build. Should change if building locally.
7-
CONDA_BUILD_SYSROOT:
8-
- /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk # [osx]

.conda/meta.yaml

Lines changed: 138 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,73 +13,174 @@ requirements:
1313
build:
1414
- {{ compiler('c') }}
1515
host:
16+
- cairo
17+
- cairocffi
18+
- ffmpeg
19+
- xlrd
20+
- xlwt
21+
- h5py
22+
- graphviz
23+
- markupsafe
24+
- psutil
25+
- ncurses
26+
- suitesparse
27+
28+
# external software tools for chemistry
29+
- coolprop
30+
- cantera=2.6
31+
- mopac
32+
- cclib >=1.6.3,!=1.8.0
33+
- openbabel >=3
34+
35+
# Python tools
36+
- python >=3.7
37+
- coverage
1638
- cython >=0.25.2
39+
- scikit-learn
40+
- scipy
41+
- numpy >=1.10.0
42+
- pydot
43+
- jinja2
44+
- jupyter
45+
- pymongo
46+
- pyparsing
47+
- pyyaml
48+
- networkx
49+
- matplotlib >=1.5
50+
- mpmath
51+
- pandas
52+
53+
# packages we maintain
54+
- rmgdatabase
55+
- gprof2dot
1756
- lpsolve55
18-
- numpy
19-
- openbabel >=3
20-
- pydas >=1.0.2
21-
- pydqed >=1.0.1
57+
- muq2
58+
- numdifftools
59+
- pydas >=1.0.3
60+
- pydqed >=1.0.3
2261
- pyrdl
23-
- python
2462
- quantities
25-
- rdkit >=2018
26-
- scipy
27-
- setuptools
63+
- symmetry
64+
- chemprop==0.0.1
65+
- rdkit >=2020.03.3.0
66+
67+
- liblapack =*=*mkl
2868
run:
2969
- cairo
3070
- cairocffi
31-
- cantera >=2.3.0
32-
- cclib >=1.6.3
33-
- chemprop
71+
- ffmpeg
72+
- xlrd
73+
- xlwt
74+
- h5py
75+
- graphviz
76+
- markupsafe
77+
- psutil
78+
- ncurses
79+
- suitesparse
80+
81+
# external software tools for chemistry
3482
- coolprop
83+
- cantera=2.6
84+
- mopac
85+
- cclib >=1.6.3,!=1.8.0
86+
- openbabel >=3
87+
88+
# Python tools
89+
- python >=3.7
3590
- coverage
3691
- cython >=0.25.2
37-
- ffmpeg
38-
- gprof2dot
39-
- graphviz
40-
- h5py
92+
- scikit-learn
93+
- scipy
94+
- numpy >=1.10.0
95+
- pydot
4196
- jinja2
4297
- jupyter
43-
- lpsolve55
44-
- markupsafe
98+
- pymongo
99+
- pyparsing
100+
- pyyaml
101+
- networkx
45102
- matplotlib >=1.5
46-
- mopac
47103
- mpmath
104+
- pandas
105+
106+
# packages we maintain
107+
- rmgdatabase
108+
- gprof2dot
109+
- lpsolve55
48110
- muq2
49-
- networkx
50-
- nose
51111
- numdifftools
52-
- {{ pin_compatible('numpy') }}
53-
- openbabel >=3
54-
- pandas
112+
- pydas >=1.0.3
113+
- pydqed >=1.0.3
114+
- pyrdl
115+
- quantities
116+
- symmetry
117+
- chemprop==0.0.1
118+
- rdkit >=2020.03.3.0
119+
120+
- liblapack =*=*mkl
121+
test:
122+
requires:
123+
- cairo
124+
- cairocffi
125+
- ffmpeg
126+
- xlrd
127+
- xlwt
128+
- h5py
129+
- graphviz
130+
- markupsafe
55131
- psutil
56-
- pydas >=1.0.2
132+
- ncurses
133+
- suitesparse
134+
135+
# external software tools for chemistry
136+
- coolprop
137+
- cantera=2.6
138+
- mopac
139+
- cclib >=1.6.3,!=1.8.0
140+
- openbabel >=3
141+
142+
# Python tools
143+
- python >=3.7
144+
- coverage
145+
- cython >=0.25.2
146+
- scikit-learn
147+
- scipy
148+
- numpy >=1.10.0
57149
- pydot
58-
- pydqed >=1.0.1
150+
- jinja2
151+
- jupyter
59152
- pymongo
60153
- pyparsing
61-
- pyrdl
62-
- python
63154
- pyyaml
64-
- pyzmq
155+
- networkx
156+
- matplotlib >=1.5
157+
- mpmath
158+
- pandas
159+
160+
# packages we maintain
161+
- rmgdatabase
162+
- gprof2dot
163+
- lpsolve55
164+
- muq2
165+
- numdifftools
166+
- pydas >=1.0.3
167+
- pydqed >=1.0.3
168+
- pyrdl
65169
- quantities
66-
- rdkit >=2018
67-
- rmgdatabase >=3.2.0
68-
- scikit-learn
69-
- scipy
70170
- symmetry
71-
- xlrd
72-
- xlwt
73-
test:
171+
- chemprop==0.0.1
172+
- rdkit >=2020.03.3.0
173+
174+
- liblapack =*=*mkl
74175
source_files:
75176
- 'examples/rmg/superminimal'
76177
- 'examples/arkane/networks/n-butanol'
77178
imports:
78179
- rmgpy
79180
- arkane
80181
commands:
81-
- python-jl rmg.py examples/rmg/superminimal/input.py
82-
- python arkane.py examples/arkane/networks/n-butanol
182+
- rmg.py examples/rmg/superminimal/input.py
183+
- arkane.py examples/arkane/networks/n-butanol
83184

84185
about:
85186
home: https://github.com/ReactionMechanismGenerator/RMG-Py

environment.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,6 @@ dependencies:
4545
- conda-forge::cclib >=1.6.3,!=1.8.0
4646
- conda-forge::openbabel >= 3
4747

48-
# general-purpose external software tools
49-
- conda-forge::julia>=1.8.5,!=1.9.0
50-
- conda-forge::pyjulia >=0.6
51-
5248
# Python tools
5349
- python >=3.7
5450
- coverage
@@ -75,21 +71,20 @@ dependencies:
7571
- matplotlib >=1.5
7672
- mpmath
7773
- pandas
74+
- conda-forge::numdifftools
7875

7976
# packages we maintain
8077
- rmg::gprof2dot
8178
- rmg::lpsolve55
8279
- rmg::muq2
83-
- rmg::numdifftools
8480
- rmg::pydas >=1.0.3
8581
- rmg::pydqed >=1.0.3
8682
- rmg::pyrdl
87-
- rmg::pyrms
8883
- rmg::quantities
8984
- rmg::symmetry
9085

9186
# packages we would like to stop maintaining (and why)
92-
- rmg::diffeqpy
87+
#- rmg::diffeqpy
9388
# we should use the official verison https://github.com/SciML/diffeqpy),
9489
# rather than ours (which is only made so that we can get it from conda)
9590
# It is only on pip, so we will need to do something like:
@@ -103,8 +98,7 @@ dependencies:
10398
# We should use the official channel, not sure how difficult this
10499
# change will be.
105100

106-
# conda mutex metapackage
107-
- nomkl
101+
- liblapack =*=*mkl
108102

109103
# additional packages that are required, but not specified here (and why)
110104
# pydqed, pydas, mopac, and likely others require a fortran compiler (specifically gfortran)

rmg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env python-jl
1+
#!/usr/bin/env python
22

33
###############################################################################
44
# #

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,6 @@
215215
'scripts/standardizeModelSpeciesNames.py',
216216
'scripts/thermoEstimator.py',
217217
'scripts/isotopes.py',
218-
'testing/databaseTest.py',
219218
]
220219

221220
modules = []

utilities.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ def update_headers():
310310
start of each file, be sure to double-check the results to make sure
311311
important lines aren't accidentally overwritten.
312312
"""
313-
shebang = """#!/usr/bin/env python-jl
313+
shebang = """#!/usr/bin/env python
314314
315315
"""
316316

0 commit comments

Comments
 (0)