pyccel
fypp
pyccel | fypp | |
---|---|---|
5 | 4 | |
331 | 178 | |
0.6% | - | |
9.2 | 4.9 | |
8 days ago | 22 days ago | |
Python | Python | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pyccel
-
Not to be taken serious lmao
check pyccel, it does the job
-
Help Writing a Compiler in Fortran
Pyccel is an active project that may interest you.
- Python extension language using accelerators
-
Mypyc: Compile type-annotated Python to C
There is also Pyccel https://github.com/pyccel/pyccel. When I last tried it, it worked on most small codes, but there were some bugs.
"The aim of Pyccel is to provide a simple way to generate automatically, parallel low level code. The main uses would be:
Convert a Python code (or project) into a Fortran or C code.
- Ask to contribute in a cuda project
fypp
-
Faer-rs: Linear algebra foundation for the Rust programming language
most of it's just general programming niceness. If you have to spend a few hours to wrestle with make/bazel/etc every time you need to reach for a dependency, you don't depend on things and have to rewrite them yourself. If your programming language doesn't have good ways of writing generic code, you either have to write the code once per precision (and do all your bugfixes/perf improvements in triplicate) or do very hacky metaprogramming where you use Python to generate your low level code (yes the Fortran people actually do this https://github.com/aradi/fypp), or use the C preprocesser which is even worse.
-
what are some painful issues you face while coding in fortran?
Please don't use #define in Fortran. It is not standard compliant. There is no guarantee that anything will ever be done about a # symbol in your code. There is no Fortran preprocessor (though there are a few open projects example). Also, if you're working with Fortran developers they'd expect to see integer. Also, we don't have the same guarantees of variable sizes like in C soF64andI32may be misleading unless you're usingISO_C_BINDING` or similar.
-
How do I reduce my code size when creating my own type?
If you really really need to reduce code size for future projects, you might want to use preprocessors like FYPP. It basically insert code snippets at specified points in your code. It's also very helpful for automating the copy-pasting of redundant codes.
-
Tips for generic programming
If you are fine with using a preprocessor, you could use Fypp for example instead of include files.
What are some alternatives?
typed_python - An llvm-based framework for generating and calling into high-performance native code from Python.
dataclassy - A fast and flexible reimplementation of data classes
mypyc - Compile type annotated Python to fast C extensions
linqit - Extend python lists operations using .NET's LINQ syntax for clean and fast coding.
cudf - cuDF - GPU DataFrame Library
hissp - It's Python with a Lissp.
lowtran - LOWTRAN atmospheric absorption extinction, scatter and irradiance model--in Python and Matlab
FortranTip - Short instructional Fortran codes associated with Twitter @FortranTip
devito - DSL and compiler framework for automated finite-differences and stencil computation
hy - A dialect of Lisp that's embedded in Python
mypyc-benchmark-results - Mypyc benchmark result data
sympytorch - Turning SymPy expressions into PyTorch modules.