Skip to main content

The NIH OPERA suite of models with Python specific functionality

Project description

pyOPERA

[asv]
Full python implementation of the NIH OPERA suite of models
docker run -it -v %cd%:/app --rm pyopera_pyopera /bin/bash
docker compose -f docker-compose.yml build
docker run --rm pyopera_pyopera ~/.local/share/pypoetry/venv/bin/poetry run coverage run -m pytest tests
docker build -t cabreratoxy/pyopera:0.0.1 .

poetry run python -m pip install -r requirements.txt  
poetry run black . --exclude={docs/,libOPERA_Py/,.asv/}  
poetry run isort . --skip={docs/,libOPERA_Py/,.asv/}  
poetry run pylint $(find pyopera -name "*.py" | xargs)  
poetry run pytest tests    
poetry run coverage run --source pyopera -m pytest  
poetry run coverage report --skip-empty --fail-under=85  
poetry build  
poetry config repositories.testpypi https://test.pypi.org/legacy/  

docker run --rm pyopera_pyopera /bin/bash -c 'poetry run coverage run -m pytest tests'   
if [ git diff --exit-code Dockerfile ]; then dockerfiles/build_docker.sh; fi

TODO: Test TestPypi package locally
TODO: Benchmarking with airspeed velocity (struggling to make it work without a setup.py)
TODO: Don't repeat the library name in the Dockerfile
TODO: Find out how to trigger the docker image build step when the file changes TODO: Start adding the wrapper code and files - in progress
TODO: Add actual documentation in this readme
TODO: Automate versioning
TODO: Struggling to run commands inside Docker from the host, will run commands from inside container for now
TODO: Add the original library folder into the folder structure (manual for now, eventually upload it as a build artifact or similar)
TODO: poetry is not including the additional files with the library
TODO: Fully install poetry in the container (maybe use the long name as a variable for now)
TODO: Create CI/CD for package in TestPypi and the prod Pypi (CircleCI maybe?)
TODO: Documentation using Sphinx (make sure original repo/builders are credited)
TODO: Auto semantic versioning with poetry too
TODO: Create a python package around the Matlab package (the base files) using Poetry
TODO: Formatting/Linting/Coverage
TODO: Choose between Pytest an Unittest
TODO: Automate black, isort, pylint, coverage, pytest on build or push. - just have to finish coverage
TODO: Auto docstring generating? -- used autodocstring extension for vscode
TODO: How to autobuild the base image the CI/CD will work with - could not be done

Full Documentation can be found here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyopera-0.1.12.tar.gz (100.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyopera-0.1.12-py3-none-any.whl (100.2 MB view details)

Uploaded Python 3

File details

Details for the file pyopera-0.1.12.tar.gz.

File metadata

  • Download URL: pyopera-0.1.12.tar.gz
  • Upload date:
  • Size: 100.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.0 CPython/3.9.15 Linux/5.15.0-1021-aws

File hashes

Hashes for pyopera-0.1.12.tar.gz
Algorithm Hash digest
SHA256 551bef584e577e4cca79b4805aa6dee46e899722d92b7cbd0fc248206ecafee6
MD5 3ac764dfb11e4937afc7ba42b14d4cd7
BLAKE2b-256 f56a601f626d854a8e9184d428e86c43b28b2aa690ccf2509abffd168c107859

See more details on using hashes here.

File details

Details for the file pyopera-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: pyopera-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 100.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.0 CPython/3.9.15 Linux/5.15.0-1021-aws

File hashes

Hashes for pyopera-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 e6a4498cc061bc1fcd8f927319c1fe8722eefa295585a3e0ba550da45cc99c6a
MD5 1038140e25bc7082d492c025debac53e
BLAKE2b-256 e4d9c26e62d4d01a71b00e3ab22f239ef61d5b3392da796fc9a6899fd7cab578

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page