-
-
Notifications
You must be signed in to change notification settings - Fork 133
Description
- cattrs version: 1.6.0
- Python version: 3.8.2
- Operating System: OS X Big Sur (11.3.1)
Description
I've noticed that cattrs 1.6.0 seems to not show appropriate metadata for me. Projects I work on generally have attrs set at 19.3.0 for compatibility with a specific Airflow set up we have, and I've noticed if the version of cattrs isn't fixed version 1.6.0 will be downloaded because its metadata doesn't list a required versions of attrs. That seems like a problem since cattrs 1.6.0 will not initialize if attrs 19.3.0 is present on a system.
What I Did
To test, I set up a virtual environment on Python 3.8.2 running the following items.
Pip Freeze Output
appdirs==1.4.4
CacheControl==0.12.6
cachy==0.3.0
certifi==2020.12.5
chardet==4.0.0
cleo==0.8.1
clikit==0.6.2
crashtest==0.3.1
distlib==0.3.1
filelock==3.0.12
html5lib==1.1
idna==2.10
keyring==21.8.0
lockfile==0.12.2
msgpack==1.0.2
packaging==20.9
pastel==0.2.1
pexpect==4.8.0
pipenv==2020.11.15
pkginfo==1.7.0
poetry==1.1.6
poetry-core==1.0.3
ptyprocess==0.7.0
pylev==1.3.0
pyparsing==2.4.7
requests==2.25.1
requests-toolbelt==0.9.1
shellingham==1.4.0
six==1.16.0
tomlkit==0.7.0
urllib3==1.26.4
virtualenv==20.4.6
virtualenv-clone==0.5.4
webencodings==0.5.1
I then tried to run this deliberately simplified pyproject.toml file.
Pyproject.toml File
[tool.poetry]
name = "REDACTED"
version = "0.1.0"
description = ""
authors = ["REDACTED"]
[tool.poetry.dependencies]
attrs = "19.3.0"
cattrs = "*"
python = "~3.8"
[build-system]
requires = ["poetry_core>=1.0.0"]
I then get an installation with attrs=19.3.0 and cattrs=1.6.0, which immediate fails if I try "import cattr."
The following Pipfile runs into an identical issue.
Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
attrs = "==19.3.0"
cattrs = "*"
Piplock Output
{
"_meta": {
"hash": {
"sha256": "e91b9b1c282ec1db451907fe91d93cadc7f02abfb97b07a9313c84a77aee955e"
},
"pipfile-spec": 6,
"requires": {},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"attrs": {
"hashes": [
"sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c",
"sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"
],
"index": "pypi",
"version": "==19.3.0"
},
"cattrs": {
"hashes": [
"sha256:3e2cd5dc8a1006d5da53ddcbf4f0b1dd3a21e294323b257678d0a96721f8253a",
"sha256:c8de53900e3acad94ca83750eb12bb38aa85ce9114be47177c943e2f0eca63b0"
],
"index": "pypi",
"version": "==1.6.0"
}
},
"develop": {}
}
Sorry if I included too much detail -- just worried I was doing something wrong on my end.