Repository: cancervariants/disease-normalization (language: python)

Issue:
Transition to serverless 
We'll be moving away from Elastic Beanstalk. This requires a few things to help clean up environments + improve performance:

- [x] Remove Elastic Beanstalk code / files 
- [x] Refactor app environment variables
- [x] Separate out dev dependencies


Discussion / hints:
- [ ] staging branch
- [x] main branch
Re-opening. staging branch shouldn't have ga4gh.vrsatile.pydantic pinned 

Fix patch:
diff --git a/Pipfile b/Pipfile
index b0ab1ac8..ea951f76 100644
--- a/Pipfile
+++ b/Pipfile
@@ -5,11 +5,10 @@ name = "pypi"
 
 [dev-packages]
 disease-normalizer = {editable = true, path = "."}
+bioversions = "*"
+requests = "*"
 owlready2 = "*"
 rdflib = "*"
-requests = "*"
-typing-extensions = "*"
-bioversions = "*"
 pytest = "*"
 pytest-cov = "*"
 flake8 = "*"
@@ -25,5 +24,5 @@ pydantic = "*"
 fastapi = ">=0.72.0"
 uvicorn = "*"
 boto3 = "*"
+"ga4gh.vrsatile.pydantic" = ">=0.1.dev3"
 click = "*"
-"ga4gh.vrsatile.pydantic" = "==0.0.11"
diff --git a/disease/schemas.py b/disease/schemas.py
index 20b77764..2f1a77c8 100644
--- a/disease/schemas.py
+++ b/disease/schemas.py
@@ -5,7 +5,7 @@
 from enum import Enum, IntEnum
 from pydantic import BaseModel, StrictBool
 from datetime import datetime
-from ga4gh.vrsatile.pydantic.vrsatile_models import ValueObjectDescriptor
+from ga4gh.vrsatile.pydantic.vrsatile_models import DiseaseDescriptor
 
 
 class MatchType(IntEnum):
@@ -316,7 +316,7 @@ class NormalizationService(BaseModel):
     query: str
     warnings: Optional[Dict]
     match_type: MatchType
-    disease_descriptor: Optional[ValueObjectDescriptor]
+    disease_descriptor: Optional[DiseaseDescriptor]
     source_meta_: Optional[Dict[SourceName, SourceMeta]]
     service_meta_: ServiceMeta
 
diff --git a/disease/version.py b/disease/version.py
index 6429a699..d49b9ad8 100644
--- a/disease/version.py
+++ b/disease/version.py
@@ -1,2 +1,2 @@
 """Disease normalizer version"""
-__version__ = "0.2.16"
+__version__ = "0.3.0"
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 3162d804..f9937869 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,115 +1,115 @@
 -i https://pypi.org/simple
-anyio==3.6.2; python_full_version >= '3.6.2'
-appnope==0.1.3; platform_system == 'Darwin'
+anyio==3.6.2 ; python_full_version >= '3.6.2'
+appnope==0.1.3 ; platform_system == 'Darwin'
 asttokens==2.1.0
-attrs==22.1.0; python_version >= '3.5'
+attrs==22.1.0 ; python_version >= '3.5'
 backcall==0.2.0
-beautifulsoup4==4.11.1; python_version >= '3.6'
-bioregistry[align]==0.6.1; python_version >= '3.7'
+beautifulsoup4==4.11.1 ; python_full_version >= '3.6.0'
+bioregistry[align]==0.6.1 ; python_version >= '3.7'
 bioversions==0.5.79
 boto3==1.25.4
-botocore==1.28.4; python_version >= '3.7'
+botocore==1.28.4 ; python_version >= '3.7'
 cachier==1.5.4
-certifi==2022.9.24; python_version >= '3.6'
-cfgv==3.3.1; python_full_version >= '3.6.1'
-charset-normalizer==2.1.1; python_version >= '3.6'
+certifi==2022.9.24 ; python_version >= '3.6'
+cfgv==3.3.1 ; python_full_version >= '3.6.1'
+charset-normalizer==2.1.1 ; python_full_version >= '3.6.0'
 class-resolver==0.3.10
 click==8.1.3
 click-default-group==1.2.2
-contourpy==1.0.6; python_version >= '3.7'
+contourpy==1.0.6 ; python_version >= '3.7'
 coverage==6.5.0
 coveralls==3.3.1
-curies==0.4.0; python_version >= '3.7'
-cycler==0.11.0; python_version >= '3.6'
-dataclasses-json==0.5.7; python_version >= '3.6'
-debugpy==1.6.3; python_version >= '3.7'
-decorator==5.1.1; python_version >= '3.5'
+curies==0.4.0 ; python_version >= '3.7'
+cycler==0.11.0 ; python_version >= '3.6'
+dataclasses-json==0.5.7 ; python_version >= '3.6'
+debugpy==1.6.3 ; python_version >= '3.7'
+decorator==5.1.1 ; python_version >= '3.5'
 defusedxml==0.7.1
 -e .
 distlib==0.3.6
 docopt==0.6.2
-entrypoints==0.4; python_version >= '3.6'
-exceptiongroup==1.0.0; python_version < '3.11'
+entrypoints==0.4 ; python_version >= '3.6'
+exceptiongroup==1.0.0 ; python_version < '3.11'
 executing==1.2.0
 fastapi==0.85.1
-filelock==3.8.0; python_version >= '3.7'
+filelock==3.8.0 ; python_version >= '3.7'
 flake8==5.0.4
 flake8-docstrings==1.6.0
-fonttools==4.38.0; python_version >= '3.7'
-ga4gh.vrsatile.pydantic==0.0.11
-h11==0.14.0; python_version >= '3.7'
-identify==2.5.8; python_version >= '3.7'
-idna==3.4; python_version >= '3.5'
+fonttools==4.38.0 ; python_version >= '3.7'
+ga4gh.vrsatile.pydantic==0.1.dev3
+h11==0.14.0 ; python_version >= '3.7'
+identify==2.5.8 ; python_version >= '3.7'
+idna==3.4 ; python_version >= '3.5'
 iniconfig==1.1.1
 ipykernel==6.17.0
-ipython==8.6.0; python_version >= '3.8'
+ipython==8.6.0 ; python_version >= '3.8'
 isodate==0.6.1
-jedi==0.18.1; python_version >= '3.6'
-jmespath==1.0.1; python_version >= '3.7'
-jupyter-client==7.4.4; python_version >= '3.7'
-jupyter-core==4.11.2; python_version >= '3.7'
-kiwisolver==1.4.4; python_version >= '3.7'
-lxml==4.9.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-marshmallow==3.18.0; python_version >= '3.7'
+jedi==0.18.1 ; python_version >= '3.6'
+jmespath==1.0.1 ; python_version >= '3.7'
+jupyter-client==7.4.4 ; python_version >= '3.7'
+jupyter-core==4.11.2 ; python_version >= '3.7'
+kiwisolver==1.4.4 ; python_version >= '3.7'
+lxml==4.9.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
+marshmallow==3.18.0 ; python_version >= '3.7'
 marshmallow-enum==1.5.1
 matplotlib==3.6.1
-matplotlib-inline==0.1.6; python_version >= '3.5'
-mccabe==0.7.0; python_version >= '3.6'
-more-click==0.1.1; python_version >= '3.7'
+matplotlib-inline==0.1.6 ; python_version >= '3.5'
+mccabe==0.7.0 ; python_version >= '3.6'
+more-click==0.1.1 ; python_version >= '3.7'
 mypy-extensions==0.4.3
-nest-asyncio==1.5.6; python_version >= '3.5'
-nodeenv==1.7.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
-numpy==1.23.4; python_version >= '3.8'
+nest-asyncio==1.5.6 ; python_version >= '3.5'
+nodeenv==1.7.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
+numpy==1.23.4 ; python_version >= '3.8'
 owlready2==0.39
-packaging==21.3; python_version >= '3.6'
-parso==0.8.3; python_version >= '3.6'
+packaging==21.3 ; python_version >= '3.6'
+parso==0.8.3 ; python_version >= '3.6'
 pathtools==0.1.2
-pexpect==4.8.0; sys_platform != 'win32'
+pexpect==4.8.0 ; sys_platform != 'win32'
 pickleshare==0.7.5
-pillow==9.3.0; python_version >= '3.7'
-platformdirs==2.5.2; python_version >= '3.7'
-pluggy==1.0.0; python_version >= '3.6'
-portalocker==2.6.0; python_version >= '3.5'
+pillow==9.3.0 ; python_version >= '3.7'
+platformdirs==2.5.2 ; python_version >= '3.7'
+pluggy==1.0.0 ; python_version >= '3.6'
+portalocker==2.6.0 ; python_version >= '3.5'
 pre-commit==2.20.0
-prompt-toolkit==3.0.31; python_full_version >= '3.6.2'
-psutil==5.9.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-ptyprocess==0.7.0; os_name != 'nt'
+prompt-toolkit==3.0.31 ; python_full_version >= '3.6.2'
+psutil==5.9.3 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
+ptyprocess==0.7.0
 pure-eval==0.2.2
-pycodestyle==2.9.1; python_version >= '3.6'
+pycodestyle==2.9.1 ; python_version >= '3.6'
 pydantic==1.10.2
-pydocstyle==6.1.1; python_version >= '3.6'
-pyflakes==2.5.0; python_version >= '3.6'
-pygments==2.13.0; python_version >= '3.6'
-pyparsing==3.0.9; python_full_version >= '3.6.8'
-pystow==0.4.7; python_version >= '3.7'
+pydocstyle==6.1.1 ; python_version >= '3.6'
+pyflakes==2.5.0 ; python_version >= '3.6'
+pygments==2.13.0 ; python_version >= '3.6'
+pyparsing==3.0.9 ; python_full_version >= '3.6.8'
+pystow==0.4.7 ; python_version >= '3.7'
 pytest==7.2.0
 pytest-cov==4.0.0
-python-dateutil==2.8.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
+python-dateutil==2.8.2 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'
 pytrie==0.4.0
-pyyaml==6.0; python_version >= '3.6'
-pyzmq==24.0.1; python_version >= '3.6'
+pyyaml==6.0 ; python_version >= '3.6'
+pyzmq==24.0.1 ; python_version >= '3.6'
 rdflib==6.2.0
 requests==2.28.1
 requests-ftp==0.3.1
-s3transfer==0.6.0; python_version >= '3.7'
-setuptools==65.5.0; python_version >= '3.7'
-six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-sniffio==1.3.0; python_version >= '3.7'
+s3transfer==0.6.0 ; python_version >= '3.7'
+setuptools==65.5.0 ; python_version >= '3.7'
+six==1.16.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'
+sniffio==1.3.0 ; python_version >= '3.7'
 snowballstemmer==2.2.0
 sortedcontainers==2.4.0
-soupsieve==2.3.2.post1; python_version >= '3.6'
+soupsieve==2.3.2.post1 ; python_version >= '3.6'
 stack-data==0.6.0
-starlette==0.20.4; python_version >= '3.7'
-tabulate==0.9.0; python_version >= '3.7'
-toml==0.10.2; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'
-tomli==2.0.1; python_version < '3.11'
-tornado==6.2; python_version >= '3.7'
-tqdm==4.64.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-traitlets==5.5.0; python_version >= '3.7'
-typing-extensions==4.4.0; python_version < '3.10'
+starlette==0.20.4 ; python_version >= '3.7'
+tabulate==0.9.0 ; python_version >= '3.7'
+toml==0.10.2 ; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'
+tomli==2.0.1 ; python_version < '3.11'
+tornado==6.2 ; python_version >= '3.7'
+tqdm==4.64.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
+traitlets==5.5.0 ; python_version >= '3.7'
+typing-extensions==4.4.0 ; python_version >= '3.7'
 typing-inspect==0.8.0
-urllib3==1.26.12; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'
+urllib3==1.26.12 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'
 uvicorn==0.19.0
-virtualenv==20.16.6; python_version >= '3.6'
-watchdog==2.1.9; python_version >= '3.6'
+virtualenv==20.16.6 ; python_version >= '3.6'
+watchdog==2.1.9 ; python_version >= '3.6'
 wcwidth==0.2.5
diff --git a/requirements.txt b/requirements.txt
index 5a657de2..08f6e0e5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,19 +1,19 @@
 -i https://pypi.org/simple
-anyio==3.6.2; python_full_version >= '3.6.2'
+anyio==3.6.2 ; python_full_version >= '3.6.2'
 boto3==1.25.4
-botocore==1.28.4; python_version >= '3.7'
+botocore==1.28.4 ; python_version >= '3.7'
 click==8.1.3
 fastapi==0.85.1
-ga4gh.vrsatile.pydantic==0.0.11
-h11==0.14.0; python_version >= '3.7'
-idna==3.4; python_version >= '3.5'
-jmespath==1.0.1; python_version >= '3.7'
+ga4gh.vrsatile.pydantic==0.1.dev3
+h11==0.14.0 ; python_version >= '3.7'
+idna==3.4 ; python_version >= '3.5'
+jmespath==1.0.1 ; python_version >= '3.7'
 pydantic==1.10.2
-python-dateutil==2.8.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-s3transfer==0.6.0; python_version >= '3.7'
-six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-sniffio==1.3.0; python_version >= '3.7'
-starlette==0.20.4; python_version >= '3.7'
-typing-extensions==4.4.0; python_version < '3.10'
-urllib3==1.26.12; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'
+python-dateutil==2.8.2 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'
+s3transfer==0.6.0 ; python_version >= '3.7'
+six==1.16.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'
+sniffio==1.3.0 ; python_version >= '3.7'
+starlette==0.20.4 ; python_version >= '3.7'
+typing-extensions==4.4.0 ; python_version >= '3.7'
+urllib3==1.26.12 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'
 uvicorn==0.19.0
diff --git a/setup.cfg b/setup.cfg
index 21307380..042318b5 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -28,16 +28,14 @@ install_requires =
     fastapi >= 0.72.0
     uvicorn
     boto3
-    ga4gh.vrsatile.pydantic == 0.0.11
+    ga4gh.vrsatile.pydantic >= 0.1.dev3
     click
 
 [options.extras_require]
 dev =
     owlready2
     rdflib
-    boto3
     requests
-    typing-extensions
     bioversions
     pre-commit
     flake8


Test patch:
diff --git a/tests/unit/test_query.py b/tests/unit/test_query.py
index e542385d..c35a5a5c 100644
--- a/tests/unit/test_query.py
+++ b/tests/unit/test_query.py
@@ -1,5 +1,5 @@
 """Test the therapy querying method."""
-from ga4gh.vrsatile.pydantic.vrsatile_models import ValueObjectDescriptor
+from ga4gh.vrsatile.pydantic.vrsatile_models import DiseaseDescriptor
 from disease.query import QueryHandler, InvalidParameterException
 from disease.schemas import MatchType, SourceName
 import pytest
@@ -28,7 +28,7 @@ def normalize(self, query_str):
 @pytest.fixture(scope='module')
 def neuroblastoma():
     """Create neuroblastoma fixture."""
-    return ValueObjectDescriptor(**{
+    return DiseaseDescriptor(**{
         "id": "normalize.disease:Neuroblastoma",
         "type": "DiseaseDescriptor",
         "disease": "ncit:C3270",
@@ -76,7 +76,7 @@ def neuroblastoma():
 @pytest.fixture(scope='module')
 def skin_myo():
     """Create a test fixture for skin myopithelioma"""
-    return ValueObjectDescriptor(**{
+    return DiseaseDescriptor(**{
         "id": "normalize.disease:Skin Myoepithelioma",
         "type": "DiseaseDescriptor",
         "disease": "ncit:C167370",
@@ -90,7 +90,7 @@ def mafd2():
     """Create a test fixture for major affective disorder 2. Query should not
     include a "pediatric_disease" Extension object.
     """
-    return ValueObjectDescriptor(**{
+    return DiseaseDescriptor(**{
         "id": "normalize.disease:MAFD2",
         "type": "DiseaseDescriptor",
         "disease": "mondo:0010648",