Skip to content

Commit

Permalink
[fix] typing_extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
pkelaita committed Jun 30, 2024
1 parent 922b664 commit 6537601
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 7 deletions.
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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 adding `typing_extensions` as an external dependency.

#### Changed

- This bug wasn't caught becuase integration tests were not running in a clean environment – (i.e., `typing_extensions` was already installed from one of the dev dependencies). To prevent this from happening again, I made `make itest` uninstall all Python dependencies before running.

### 0.0.22 - June 22, 2024

#### Fixed
Expand Down
11 changes: 9 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
### Advantages

- **Simple:** Completely unified interface – just swap out the model name
- **Tiny:** only one external dependency (httpx)
- **Tiny:** only two external dependencies (httpx and typing_extensions)
- **Fast**: Fully asynchronous if concurrent calls are needed

### Supported Models
Expand Down Expand Up @@ -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!
Expand Down
2 changes: 1 addition & 1 deletion l2m2/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.0.22"
__version__ = "0.0.23"
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
httpx>=0.27.0
httpx>=0.27.0
typing_extensions>=4.12.2

0 comments on commit 6537601

Please sign in to comment.