Comments (3)
I agree with this in principle, but find distutils so horrible to work with in practice that I've stuck with plain Makefiles to date. I've been meaning to look into (mini)conda for packaging (see issue #27), but I think this still requires a distutils wrapper.
I implemented distuils support in quippy
, which is essentially a special-purpose predecessor to f90wrap
. Here's a link to the code, I'm sure this could be adapted relatively easily...
https://github.com/libAtoms/QUIP/blob/public/quippy/setup.py#L56
from f90wrap.
Sounds good, probably a good starting point.
from f90wrap.
I have not looked into the Extension class yet, but here is a handy workaround to copy a manually-compiled file under python site-packages, inspired by http://stackoverflow.com/a/18159969/2192272:
from distutils.core import setup
from distutils.command.install import install as _install
from distutils.command.build import build as _build
# install shared library under python site-packages
# http://stackoverflow.com/a/18159969/2192272
def _post_install(dir):
from subprocess import call
cmd = ['cp', '_MODULE.so', dir]
print(*cmd)
call(cmd)
class install(_install):
def run(self):
_install.run(self)
self.execute(_post_install, (self.install_lib,),
msg="Post-install : manually copying :_MODULE.so under site-packages")
class build(_build):
def run(self):
_build.run(self)
self.execute(_post_install, (self.build_lib,),
msg="Post-build : manually copying _MODULE.so under site-packages")
setup(name='MODULE',
cmdclass={'install': install, 'build':build},
packages = ['MODULE'],
)
from f90wrap.
Related Issues (20)
- Issues with Compiling MPI Program HOT 3
- Support for Intel oneAPI2022
- multidimensional arrays in derived types broken if compiled with long integers as default HOT 1
- Python 3.11 support HOT 8
- Pre-build f90wrap wheels for windows HOT 3
- Derived types containing allocatable character arrays
- `integer, value, intent(in)`/`integer, value` arguments converted to/wrapped as `real`
- Wrong module class name in a call to `f90wrap.runtime.FortranDerivedTypeArray` HOT 2
- numpy > 1.23 support HOT 2
- Switch to pyproject.toml based build system HOT 7
- duplicate symbol in formal argument list HOT 2
- Issues on Mac OS X - for f90wrap 0.2.12 HOT 1
- BUG: Routines including procedure arguments (callbacks) are excluded HOT 1
- Can `f90wrap`parse FORD docstrings?
- unexpected removal of procedures associated with derived types HOT 1
- install fails on macos 14 HOT 4
- Binary Wheels for Mac HOT 1
- example with fortran to python callback function fails with as of f90wrap v0.2.13: "bad argument to internal function" HOT 1
- Parser fails on asterisk in subroutine argument list HOT 2
- Fix Windows wheels HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from f90wrap.