← All tasks
pythonterricain/aioboto3 #242Repaired task

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!
Continue on GitHub ↗

04 / LABELS

Labels checked by running the task · needs human review

misspecification
Label 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.