Skip to main content

Python Boilerplate contains all the boilerplate you need to create a Python package.

Project description

Graph Family

py-grimm is the Graph Family package. It is based on py-graph-imputation

py-grimm dependencies

How to develop on the project locally:

  1. Make sure the following pre-requites are installed.
    1. git
    2. python >= 3.8
    3. build tools eg make
  2. Clone the repository locally
    git clone git@github.com:nmdp-bioinformatics/py-grimm.git
    cd py-grimm
    
  3. Make a virtual environment and activate it, run make venv
     > make venv
       python3 -m venv venv --prompt urban-potato-venv
       =====================================================================
     To activate the new virtual environment, execute the following from your shell
     source venv/bin/activate
    
  4. Source the virtual environment
    source venv/bin/activate
    
  5. Development workflow is driven through Makefile. Use make to list show all targets.
     > make
     clean                remove all build, test, coverage and Python artifacts
     clean-build          remove build artifacts
     clean-pyc            remove Python file artifacts
     clean-test           remove test and coverage artifacts
     lint                 check style with flake8
     behave               run the behave tests, generate and serve report
     pytest               run tests quickly with the default Python
     test                 run all(BDD and unit) tests
     coverage             check code coverage quickly with the default Python
     dist                 builds source and wheel package
     docker-build         build a docker image for the service
     docker               build a docker image for the service
     install              install the package to the active Python's site-packages
     venv                 creates a Python3 virtualenv environment in venv
     activate             activate a virtual environment. Run `make venv` before activating.
    
  6. Install all the development dependencies. Will install packages from all requirements-*.txt files.
     make install
    
  7. The Gherkin Feature files, step files and pytest files go in tests directory:
    tests
    |-- features
    |   |-- algorithm
    |   |   `-- SLUG\ Match.feature
    |   `-- definition
    |       `-- Class\ I\ HLA\ Alleles.feature
    |-- steps
    |   |-- HLA_alleles.py
    |   `-- SLUG_match.py
    `-- unit
        `-- test_gram.py
    
  8. Package Module files go in the gram directory.
    gram
    |-- __init__.py
    |-- algorithm
    |   `-- match.py
    |-- model
    |   |-- allele.py
    |   `-- slug.py
    `-- gram.py
    
  9. Run all tests with make test or different tests with make behave or make pytest. make behave will generate report files and open the browser to the report.
  10. Use python app.py to run the Flask service app in debug mode. Service will be available at http://localhost:8080/
  11. Use make docker-build to build a docker image using the current Dockerfile.
  12. make docker will build and run the docker image with the service. Service will be available at http://localhost:8080/

======= History

0.0.1 (2021-08-25)

  • First release on PyPI.

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

py-grimm-0.0.7.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

py_grimm-0.0.7-py2.py3-none-any.whl (7.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file py-grimm-0.0.7.tar.gz.

File metadata

  • Download URL: py-grimm-0.0.7.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for py-grimm-0.0.7.tar.gz
Algorithm Hash digest
SHA256 df602797417249bb25b555a5856bf6fe6c0bbe38600df303561188c787efa9ca
MD5 0b1fd8e05487356af6135c803b9ca3d9
BLAKE2b-256 9e4c2e8a43201521733844aa55894d607125df3c3cd94aa7b1cab5b42c2e749b

See more details on using hashes here.

File details

Details for the file py_grimm-0.0.7-py2.py3-none-any.whl.

File metadata

  • Download URL: py_grimm-0.0.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for py_grimm-0.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3ec579655439a6d69da2e522b4f9497ef6b4a39b6ffdcca7669364308bd4ca6f
MD5 d5d248fc96d3eb0ec561786712e72964
BLAKE2b-256 f6b2e88c0ed01f9a3523c6dfa32b8d5e5b668886507fdabaf72e795bae9afc91

See more details on using hashes here.

Supported by

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