Projeto simples para explorar interoperabilidade
entre o Fortran
e o Python
. Para essa tal foi utilização o f2py
. O f2py
gera automaticamente um wrapper em C
para depois compilar uma lib cpython
. Esse pacote faz parte no numpy
. O f2py
usa meson
para configurar o build
da lib
. O build-system
precisa do numpy
e do meson-python
. Além disso o meson
pode ser utilizando para fazer os testes de inidades na camada do Fortran
.
Lista de ferramentas:
Todo o código Fortran
está isolado em library. Os testes da camada de Fortran
estão na subpasta fortan
Criar a o ambiente virtual:
python -m venv .venv --upgrade-deps
Após de ativar o ambiente virtual basta fazer
source .venv/bin/activate
Instalando as dependencias dev
no modo editavel
.
pip install meson-python meson ninja numpy
pip install --no-build-isolation --editable ".[dev]"
Instalando as dependencias dev
.
pip install ".[dev]"
Para executar usando a interface fortran
:
pyfsolver fortran sist3.mtx sist3_b.mtx
Para executar usando apenasa o numpy
:
pyfsolver numpy sist3.mtx sist3_b.mtx
task test
task package
Para qualidade temos configurado o black
, isort
, flake8
e mypy
. Para executar essa ferramentas a cada comite pode-se instalar o precommit
:
pre-commit install
ou manualmente rodar formatador, linter e os testes:
task fmt
task linter
task test
Além disso temo um CI
configurado.