diff --git a/CHANGELOG.md b/CHANGELOG.md index 766a920..1008756 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,19 @@ # Changelog -_Current version: 0.0.22_ +_Current version: 0.0.23_ [PyPi link](https://pypi.org/project/l2m2/) +### 0.0.23 - June 30, 2024 + +#### Fixed + +- Major bug where l2m2 would cause environments without `typing_extensions` installed to crash due to it not being listed as an external dependency. This has been fixed by removing the dependency on `typing_extensions` in the code and replacing it with Python3.9-compatible type hints. + +#### Changed + +- blah blah blah + ### 0.0.22 - June 22, 2024 #### Fixed diff --git a/Makefile b/Makefile index 74afdd2..d16bf84 100644 --- a/Makefile +++ b/Makefile @@ -13,10 +13,17 @@ init: test: pytest -v --cov=l2m2 --cov-report=term-missing --failed-first --durations=0 -itest: +clear-deps: + @pip uninstall -y l2m2 > /dev/null 2>&1 + @pip freeze | xargs pip uninstall -y > /dev/null + +itest-run: @pip install dist/l2m2-$(VERSION)-py3-none-any.whl > /dev/null + @pip install python-dotenv > /dev/null python integration_tests/itests.py - @pip uninstall -y l2m2 > /dev/null + +itest: clear-deps itest-run clear-deps + coverage: pytest --cov=l2m2 --cov-report=html diff --git a/README.md b/README.md index 3346139..5d9bb21 100644 --- a/README.md +++ b/README.md @@ -579,8 +579,9 @@ Contributions are welcome! Contributing requires Python >= 3.9 and [GNU Make](ht - Create a `.env` file with your API keys, and copy `itests.example.py` to `itests.py`. - Write your integration tests in `itests.py`. - Run locally with `python itests.py -l`. - - Make sure to pass the `-l` flag or else it will look for an L2M2 distribution. Additionally, make sure l2m2 is not installed with pip when running the integration tests locally. + - _Note: make sure to pass the `-l` flag or else it will look for an L2M2 distribution. Additionally, make sure l2m2 is not installed with pip when running the integration tests locally._ - Once your changes are ready, from the top-level directory run `make build` to create the distribution and `make itest` to run your integration tests against the distribution. + - _Note: in order to ensure a clean test environment, `make itest` uninstalls all third-party Python packages before running the tests, so make sure to run `make init` when you're done working on integration tests._ - **Contribute** - Create a PR and ping me for a review. - Merge! diff --git a/requirements.txt b/requirements.txt index 0d769c7..c1ad553 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -httpx>=0.27.0 \ No newline at end of file +httpx>=0.27.0 +typing_extensions>=4.12.2 \ No newline at end of file