Avoid installing Chalice as a dependency by default
envgap__terricain__aioboto3-242
01 / FAILURE SIGNATURE
Captured in a clean container
error: subprocess-exited-with-error
02 / ENVIRONMENT RECIPE
- Base commit
13c56a6a5a1a87f79c1b998cc76b01ce72fddaef- Manifest
pyproject.toml- Reproduce
python3 -m pip install .- Run under trace
python3 -c " import importlib, importlib.metadata as md mods = set() for dist in md.distributions(): if 'file:///work' not in (dist.read_text('direct_url.json') or ''): continue top = (dist.read_text('top_level.txt') or '').split() if not top: top = [str(f).split('/')[0].removesuffix('.py') for f in (dist.files or []) if str(f).endswith('.py') and not str(f).startswith(('..', '_'))] mods.update(t for t in top if t.isidentifier() and not t.startswith('_')) assert mods, 'the project itself is not installed' for name in sorted(mods): importlib.import_module(name) print('imported', sorted(mods)) "
Reference environment fix used for admission
diff --git a/pyproject.toml b/pyproject.toml
index 0d1056a..d2cd702 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -28,8 +28,8 @@ cryptography = {version = ">=2.3.1", optional = true}
chalice = {version = ">=1.24.0", optional = true}
[tool.poetry.extras]
-s3cse = ["cryptography>=2.3.1"]
-chalice = ["chalice>=1.24.0"]
+s3cse = ["cryptography"]
+chalice = ["chalice"]
[tool.poetry.dev-dependencies]
pytest = "*"03 / ORIGINAL ISSUE TEXT
terricain/aioboto3 #242 · read the original issue
* Async AWS SDK for Python version: 9.2.1 ### Description As far as I can see, there is [experimental support for Chalice](https://github.com/terrycain/aioboto3/commit/be4ffd665a207a289d1ef25802fd90c1e147e841) now. I develop a traditional (I mean, not serverless) asynchronous ASGI web application. I don't need Chalice but `aioboto3` still installs it and seems like there is no easy way to avoid it. I see, that you've already [defined `chalice` as an extra dependency](https://github.com/terrycain/aioboto3/blob/13c56a6a5a1a87f79c1b998cc76b01ce72fddaef/pyproject.toml#L32) but for some reason, it doesn't work. See: ```sh $ python -V Python 3.9.7 $ pip -V pip 21.2.3 from ./aioboto3_experiment/.venv/lib/python3.9/site-packages/pip (python 3.9) $ pip install aioboto3 .... $ pip freeze aioboto3==9.2.1 aiobotocore==1.4.2 aiohttp==3.7.4.post0 aioitertools==0.8.0 async-timeout==3.0.1 attrs==21.2.0 blessed==1.17.6 boto3==1.17.106 botocore==1.20.106 cffi==1.14.6 chalice==1.26.0 chardet==4.0.0 click==8.0.1 cryptography==35.0.0 idna==3.2 inquirer==2.7.0 jmespath==0.10.0 multidict==5.2.0 mypy-extensions==0.4.3 pycparser==2.20 python-dateutil==2.8.2 python-editor==1.0.4 PyYAML==5.4.1 readchar==2.0.1 s3transfer==0.4.2 six==1.16.0 typing-extensions==3.10.0.2 urllib3==1.26.7 wcwidth==0.2.5 wrapt==1.13.1 yarl==1.6.3 $ pip freeze | grep chalice chalice==1.26.0 ``` Note, I didn't request any extras but I still have chalice installed. Thanks for your work by the way!
04 / LABELS
Labels checked by running the task · needs human review
misspecificationLabel rules and the text that matched
[
{
"category": "misspecification",
"rule": "diff.changes_existing_manifest_line",
"source": "manifest_diff:pyproject.toml",
"excerpt": "-s3cse = [\"cryptography>=2.3.1\"]\n-chalice = [\"chalice>=1.24.0\"]\n+s3cse = [\"cryptography\"]\n+chalice = [\"chalice\"]"
}
]Mined from a merged pull request linked to the issue whose changed files are all environment files.
The base commit is the pull request's base, not the dated default-branch commit; the registry is pinned to the merge date so the pull request's own pins resolve.
Default commands from envgap default-recipe synthesizer v1; gold_files are the pull request's environment diff.
Preparation uses current registries. Historical package availability is not enforced here; execution metadata records this limitation separately from the oracle's date-bounding policy.