Skip to main content

The NIH OPERA suite of models with Python specific functionality

Project description

pyOPERA

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/" 
poetry run isort . --skip docs/
poetry run pylint $(find . -name "*.py" | xargs) --ignore-paths docs/ 
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'   

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: Start adding the wrapper code and files - in progress
TODO: Benchmarking with airspeed velocity
TODO: Don't repeat the library name in the Dockerfile
TODO: Struggling to run commands inside Docker from the host, will run commands from inside container for now
TODO: Test TestPypi package locally
TODO: Add actual documentation in this readme
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.4.tar.gz (3.3 kB 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.4-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyopera-0.1.4.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.9.15 Linux/5.15.0-1021-aws

File hashes

Hashes for pyopera-0.1.4.tar.gz
Algorithm Hash digest
SHA256 b115d453068736bfb9ddaa06f2fea701654e149f482e341b3f9e10d0f650457f
MD5 d901d471b0a6acc5f5428018ae4b6c51
BLAKE2b-256 530c3cd5ba87af6f5cdbea9243e134668ef22c48f21da3fa7a8a8617b44526ba

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyopera-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f26a7102b215201098ce6aca5bd6d1d7be912f2de3d310226746d4fa2adde51b
MD5 cbee42a69f4b2f6cfddb36c2455c194a
BLAKE2b-256 d277719013337486f2b583c1f4f7797f2d3a6d76d9e635b51884ebbaf984d70a

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