Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let's release typing 3.6.1 to PyPI #403

Closed
gvanrossum opened this issue Mar 22, 2017 · 10 comments
Closed

Let's release typing 3.6.1 to PyPI #403

gvanrossum opened this issue Mar 22, 2017 · 10 comments
Assignees

Comments

@gvanrossum
Copy link
Member

gvanrossum commented Mar 22, 2017

I don't believe a 3.5.4 release is planned soon. I propose that we release the typing.py that went into 3.6.1 as typing-3.6.1 to PyPI. The 3.5.4 release should have an identical version but from now on the typing version number will start with 3.6. Does this make sense?

It looks like myself, @JukkaL, @ambv and @vlasovskikh have PyPI push permissions. @ambv I feel you have the least rusty PyPI skills (though there is little to it now we have twine).

If we haven't written up the release process in detail somewhere we should -- I hate having to remember this. Maybe a comment in the setup.py would be the right place?

Once this is out (inc. tags) we can merge #397 and python/mypy#3041.

@gvanrossum gvanrossum changed the title Let's releast typing 3.6.1 to PyPI Let's release typing 3.6.1 to PyPI Mar 22, 2017
@ambv ambv self-assigned this Mar 25, 2017
@ambv
Copy link
Contributor

ambv commented Mar 25, 2017

I can do this tomorrow!

@gvanrossum
Copy link
Member Author

Thank you thank you thank you!

@ambv
Copy link
Contributor

ambv commented Mar 26, 2017

This is on Python 3.2.6:

.........................ssss.ss...s.....................s...........s.....................................EE......................ss...s.s....sss.s....s..........................................................
======================================================================
ERROR: test_generic_forward_ref (test_typing.GenericTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ambv/Dropbox/Python/typing/src/test_typing.py", line 892, in test_generic_forward_ref
    {'x': List[List[CC]]}
  File "/Users/ambv/Dropbox/Python/typing/src/typing.py", line 649, in inner
    return cached(*args, **kwds)
  File "/Users/ambv/.venvs/typing32/lib/python3.2/functools.py", line 189, in wrapper
    cache_popitem(0)    # purge least recently used cache entry
  File "/Users/ambv/.venvs/typing32/lib/python3.2/collections.py", line 126, in popitem
    del self.__map[key]
KeyError: (typing.Callable, (_ForwardRef('T'), _ForwardRef('T')))

======================================================================
ERROR: test_generic_hashes (test_typing.GenericTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ambv/Dropbox/Python/typing/src/test_typing.py", line 819, in test_generic_hashes
    self.assertEqual(mod_generics_cache.B.A[B.A[str]],
  File "/Users/ambv/Dropbox/Python/typing/src/typing.py", line 649, in inner
    return cached(*args, **kwds)
  File "/Users/ambv/.venvs/typing32/lib/python3.2/functools.py", line 189, in wrapper
    cache_popitem(0)    # purge least recently used cache entry
  File "/Users/ambv/.venvs/typing32/lib/python3.2/collections.py", line 126, in popitem
    del self.__map[key]
KeyError: (typing.Tuple, (_ForwardRef('T'),))

----------------------------------------------------------------------
Ran 211 tests in 0.101s

FAILED (errors=2, skipped=18)

Should I release with this? I vote "yes" along with officially dropping 3.2 support. It's a pain to set up these days:

  • you need to find a way to install this Python version on latest macOS
  • you need to pin to a version of virtualenv from 2015 and a version of pip from 2015
  • because of the above, you cannot simply use tox (it depends on a single version of virtualenv so you either get 3.2 support or 3.6 support)

BTW, I updated README.rst with some information on how to set up a proper local testing environment for everything.

@ilevkivskyi
Copy link
Member

The error is really strange (something with LRU cache). By the way there is an issue for dropping 3.2 support #374.

Somehow 3.2 is quite different from other Python 3 versions, I remember introducing special code many times to support especially this version, but there are very few special-casing for other versions. I also vote for dropping 3.2 support.

@ambv
Copy link
Contributor

ambv commented Mar 27, 2017

The failures indeed go away if I remove lru_cache usage. But then a different test fails that does expect the cache to be there (doing is comparisons).

Looks like mypy itself does not attempt to run under 3.2.

Alright, so I'm going to make a call here and release without the 3.2 trove classifier, leaving the 3.2 breakage unsolved.

@ambv
Copy link
Contributor

ambv commented Mar 27, 2017

@ambv ambv closed this as completed Mar 27, 2017
@gvanrossum
Copy link
Member Author

gvanrossum commented Mar 27, 2017 via email

@gvanrossum
Copy link
Member Author

gvanrossum commented Mar 27, 2017 via email

@ambv
Copy link
Contributor

ambv commented Mar 27, 2017

Yes, any pip install mypy on Python 3.3 and 3.4 now will trigger downloading typing==3.6.1. I did that on a virtualenv, and ran mypy successfully over a few files.

I'll think about a more standard post-release test procedure.

@ilevkivskyi
Copy link
Member

Thank you Łukasz!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants