Skip to content

lmn-labest/pyfSolver

 
 

Repository files navigation

PyFortran

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

Instalando

Criar a o ambiente virtual:

python -m venv .venv --upgrade-deps

Após de ativar o ambiente virtual basta fazer

source .venv/bin/activate

Dev no modo editavel

Instalando as dependencias dev no modo editavel.

pip install meson-python meson ninja numpy
pip install --no-build-isolation --editable ".[dev]"

Dev

Instalando as dependencias dev.

pip install ".[dev]"

Executando

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

Rodandos os teste

task test

Gerando pacote

task package

Commit

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 63.7%
  • Fortran 26.6%
  • Meson 9.7%