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.2.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.2-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyopera-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 287a45aee2590c7749bd50cfd702c16d46787440d4b13239db89f06d9b8d285c
MD5 7d524db6909cd7a50b6c6f194b27d446
BLAKE2b-256 5700fdf6b3a6502347e0cfb0677bde84be2599c828b5536b53318570546862cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopera-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf42bcb88b8912ab837977a5ed67617da5484d5b3dee77cc455a4149ebc2c118
MD5 1f4b970c37a9bf909e3d8944cf8f8f85
BLAKE2b-256 580792c31fa481fbb899712007e360be6952ff1c0fb2b54e0193d52880b4e715

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