Friday, 13 January 2017

Mypy 0.470 Released

We’ve just uploaded mypy 0.470 to PyPI. This release adds new features, bug fixes and library stub updates. You can install it as follows:

    python3 -m pip install mypy

Note: The package name is now “mypy” (no longer mypy-lang). If you have an older mypy version installed, remove it first, before installing the new package:

    python3 -m pip uninstall mypy-lang

Good news: New Package Name and Version Style

We have finally obtained ownership of the “mypy” package name on PyPI. In order to avoid conflicts with (hypothetical) users of the previous occupant of the “mypy” package name we’re changing the style of version numbers we’re using (at least until 1.0 comes along) — the new version is now 0.470. If you are using requirements.txt files, the proper incantation is now:

    mypy==0.470

The old “mypy-lang” package will no longer be upgraded (the last version there is 0.4.6).

New Import Handling Options

The “silent imports” functionality, useful to avoid noisy errors about missing modules when annotating a large codebase, has been refactored and improved. There are now two separate flags (see the online docs for the full scoop):

  • --follow-imports=arg takes an argument which must be one of the following:
    • normal — the default behavior
    • silent — tries to find, parse and check imported modules (same as normal) but suppresses all errors for those modules that were not given on the command line
    • skip — roughly equivalent to the old --silent-imports flag
    • error — roughly equivalent to the old --almost-silent flag
  • --ignore-missing-imports suppresses error messages about imports that cannot be resolved at all. This was previously implied by --silent-imports unless --almost-silent was given.

Fast Parser Supported on Windows

The --fast-parser option now works also on Windows. It’s faster than the default parser and supports more Python syntax, including new syntax introduced in Python 3.6. The required package typed_ast is now installed by default as a mypy dependency (see below for more). We are planning to deprecate the current default parser in a future mypy release. (Also, the mypy project now runs tests for Windows on Appveyor.)

Improved Type Inference for lambda Expressions

A lambda expression without type context is now inferred as a Callable returning whatever type can be inferred for the expression in the body of the lambda. Previously such lambda expressions were given type Any . Note that lambda ...: None is now considered to have type Callable[..., None] which cannot be called to provide a value, only as a procedure call. The arguments are given type Any, so that e.g. the following two are now inferring the same type for a, i.e. Callable[[Any], List[Any]]:

    a = lambda x: [x]

    def a(x) -> List[Any]: return [x]

(Contributed by Elazar Gershuni)

Support for callable()

A condition using e.g. if callable(x) now causes mypy to infer a Callable type for x in the block controlled by the condition, and a non-Callable type in the block controlled by its negation. For example, this now type-checks:

    def maybecall(x: Union[int, Callable[[], int]]) -> int:
        if callable(x):
            return x()
        else:
            return x

(Contributed by Alex Frieder)

New Package Dependencies

Mypy now has automatic dependencies on typing and typed_ast. Previously typed_ast had to be manually installed using pip and typing was bundled with the mypy package.

Note that typed_ast requires Python 3.5+ on Windows. We’re dropping support for running mypy on Windows using Python 3.4 or older. (But checking still supports 2.7 and 3.2+ targets, using the --python-version flag.)

Notable Bugs Fixed

  • Callable type compatibility checking rewritten with several improvements (Naomi Seyfer)
  • Fix Callable arguments in overloaded functions
  • Fix lambda inference with simple Union contexts
  • Fix spurious warnings caused by type redeclarations (Łukasz Langa)
  • Fix handling of empty tuple type aliases
  • Fix crash on retrieving TypeVar from class (Tom Manderson)
  • Ensure required keyword-only arguments are provided (Naomi Seyfer)
  • Consider types like Tuple[t1, t2, ...] more consistently as subtypes of plain tuple (Ivan Levkivskyi)
  • Compare cached options to current per-file options when using --incremental
  • Fix NamedTuple defined in a method

New Experimental Features

There is work-in-progress support for dictionaries with literal string keys (TypedDict). Different keys can have items with different types, and mypy will figure out the right type for each key. For example, it will be possible to give a precise type for this dictionary:

    d = {'path': 'file.txt', 'size': 1254}

TypedDict is still very tentative and there’s no official documentation yet. You need to import TypedDict from mypy_extensions; use pip install -U mypy_extensions to install it. (Contributed by David Foster)

Descriptors are now supported. We're still not quite sure how well they work in practice. (Contributed by Calen Pennington)

Other Changes in This Release

  • Turn --hide-error-context on by default to generate more concise output from mypy. Add --show-error-context to re-enable the old behavior.
  • Arguments starting with __ (two underscores) are now positional-only. (Naomi Seyfer)
  • Add an API for calling mypy directly from another python application. (Jacques de Hooge)
  • Add ignore_errors config option to selectively ignore all non-fatal errors in some files.
  • Add Python 3 cheat sheet. (Ethan Smith)
  • Speed up the mypy test suite. (Łukasz Langa)
  • Miscellaneous other bug fixes.
  • Many updates to the library stubs in typeshed.

Acknowledgements

Thanks to all mypy contributors who contributed to this release:

  • Aleksander Vognild Burkow
  • Alex Frieder
  • Bertrand Bonnefoy-Claudet
  • Calen Pennington
  • Chris Oelmueller
  • David Euresti
  • David Foster
  • Elazar Gershuni
  • Ethan (ethanhs)
  • Ivan Levkivskyi
  • Jacques de Hooge
  • Jakub Stasiak
  • Jelle Zijlstra
  • Josiah Boning
  • Juanvulcano
  • Łukasz Langa
  • Naomi Seyfer
  • Roy Williams
  • Tetsuya Morimoto
  • Tom Manderson
  • TrueBrain

Additional thanks to these contributors to typeshed:

  • Alex Frieder
  • Alex Jurkiewicz
  • Anders Kaseorg
  • Bertrand Bonnefoy-Claudet
  • Cadel Watson
  • Calen Pennington
  • Daisuke Miyakawa
  • Danny Weinberg
  • David Euresti
  • Eric Moyer
  • George King
  • gotyaoi
  • Henri Dwyer
  • Hugo (hugovk)
  • Jason Fried
  • Jelle Zijlstra
  • Jon Dufresne
  • Joseph H Garvin
  • Josiah Boning
  • Kosaka Masayuki
  • lionel-github
  • Luiz Menezesf
  • Łukasz Langa
  • Madeleine Thompson
  • Mateusz Kurek
  • Matthias Kramm
  • Michael Lee
  • Mohab Usama
  • Naomi Seyfer
  • Nicolas Duchastel de Montrouge
  • Onno Kortmann
  • Peter Amstutz
  • Philip House
  • Reverb Chu
  • Richard Eames
  • Roy Williams
  • Ryan C. Thompson
  • rymdhund
  • Simon Ekstrand
  • Thomas Aynaud
  • Thomas Cellerier
  • Tom Manderson
  • TrueBrain
  • Wesley Bowman
  • z33ky

— Jukka (on behalf of the rest of the mypy team: Guido, David and Greg)

10 comments:

  1. شركة مكافحة حشرات بمكة بيت العز

    بيت العزشركة مكافحة حشرات بمكة نقوم بالقضاء على كافة انواع الحشرات بافضل المبيدات الآمنة على الصحة فمؤسسة بيت العز افضل شركة رش مبيدات بمكة

    هل تعانى من وجود الحشرات ؟ هل ياتى عليك فتره وتزداد كميه الحشرات المتواجده فى المكان ؟ فالان مع بيت العز كافضل شركة مكافحه حشرات بمكة انت الان تمتلك اكبر الشركات التى تعمل فى خدمات المكافحه والتخلص من اى نوع من الحشرات نهائيا


    شركة مكافحة النمل الابيض بمكة
    شركة مكافحة العتة بمكة
    شركة مكافحة الفئران بمكة
    شركة مكافحة الصراصير بمكة

    http://beit-alezz.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D9%85%D9%83%D8%A9/

    ReplyDelete
  2. شركة مكافحة حشرات بالطائف سهر العالمية 0556676529

    شركة مكافحة حشرات بالطائف هى من افضل الشركات فى المملكة باكملها والطائف خاصة لانها فى الريادة فى مجال مكافحة الحشرات ولاشك ان وجود الحشرات باى مكان قد يسبب انزعاج وتوتر لانها السبب الرئيسى والاول فى نشرالامراض والاوبئة

    فشركة سهر العالمية متخصصة فى مكافحة الحشرات ورش المبيدات
    مكافحة حشرات بالطائف
    شركة رش مبيدات بالطائف



    http://saharalalameya.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%84%D8%B7%D8%A7%D8%A6%D9%81

    ReplyDelete
  3. شركة مكافحة حشرات بالمدينة المنورة المشرق كلين 0538993522

    مع شركة مكافحة حشرات بالمدينة المنورة
    ستتخلص تماما من الازعاج المستمر الذى تسببه الحشرات والافات بمختلف انواعها حيث تقدم الشركة خدمات مكافحة الحشرات بكفاءة عاليه وبدقة بالغه تقضى عليها تماما دون رجعه وذلك بفضل فريق العمل الذى تعتمد عليه الشركة



    شركة رش مبيدات بالمدينة المنورة
    مكافحة حشرات بالمدينة المنورة
    مكافحة النمل الابيض بالمدينة المنورة
    شركة مكافحة الفئران بالمدينة المنورة
    شركة مكافحة العتة بالمدينة المنورة
    شركة مكافحة البق بالمدينة المنورة
    رش حشرات بالمدينة المنورة
    شركة رش مبيدات بالمدينة المنورة
    رش مبيدات بالمدينة المنورة
    شركة مكافحة النمل الابيض بالمدينة المنورة


    http://mashriq-clean.com/%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%84%D9%85%D8%AF%D9%8A%D9%86%D8%A9-%D8%A7%D9%84%D9%85%D9%86%D9%88%D8%B1%D8%A9/

    ReplyDelete
  4. شركة نقل عفش بالرياض رخيصة الشبلان 055436634


    السادة عملائنا الكرام تقدم لكم شركة نقل اثاث بالرياض رخيصة خدمة نقل الاثاث اذا احببتم ان تقوموا بتغير مكان اقامتكم او تم تغير مكان عملكم الى مكان ما داخل المملكة او خارج المملكة وخاصة الرياض او اردت تغير ديكور منزلك والاثاث فانت اذن تحتاج الى شركة نقل عفش بالرياض
    شركة نقل اثاث بالرياض
    شركة نقل اثاث بالرياض 300 ريال
    شركة نقل اثاث بالرياض عمالة فليبنية
    شركة نقل عفش بالرياض رخيصة
    شركة نقل عفش بالرياض
    شركة نقل عقش بالرياض 300 ريال
    شركة نقل عفش بالرياض عمالة فليبنية
    افضل شركة نقل عفش بالرياض

    http://shiblan-clean.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%86%D9%82%D9%84-%D8%B9%D9%81%D8%B4-%D8%A8%D8%A7%D9%84%D8%B1%D9%8A%D8%A7%D8%B6/

    ReplyDelete
  5. شركة مكافحة حشرات بجدةِ السهم الذهبى 0555618545

    شركة مكافحة حشرات بجدة تساعدك فى القضاء على جميع انواع الحشرات اينما وجدت لانه يمكن باى حال من الاحوال التعايش مع الحشرات فى مكان واحد ابدا
    شركة مكافحة فئران بجدة
    شركة النمل الابيض بجدة
    شركة مكافحة البق بجدة

    http://golden4clean.com/%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D8%AC%D8%AF%D8%A9/

    ReplyDelete
  6. شركة مكافحة حشرات بالطائف بيت العز 0559522795
    شركة مكافحة حشرات بالطائف قادره على القيام باعمال المكافحة والقضاء على اى نوع من الحشرات بالاعتماد على احدث الالات والماكينات التى تقوم بالوصول الى اصعب الاماكن التى من الممكن ان يتواجد بيها الحشرات
    شركة رش مبيدات بالطائف
    شركة مكافحة النمل الابيض بالطائف

    شركة مكافحة الفئران بالطائف
    مكافحة الفئران بالطائف


    http://beit-alezz.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%84%D8%B7%D8%A7%D8%A6%D9%81/

    ReplyDelete
  7. شركة مكافحة حشرات بالطائف الدانة كلين 0508554570 - 0508554217
    مكافحة الحشرات بالطائف تقدمها لكم الدانة كلين فاذا كنت تعانى فى بيتك او منزلك اوفلتنك من الحشرات المزعجة التى تسبب قلق وخوف لرعب ممن يتواجد فى المنزل فاذا كنت تريد التخلص من الحشرات فشركة رش مبيدات بالطائف تقدم لك كل خدمتها برش المبيدات للقضاء نهائيا على الحشرات
    شركات مكافحة الحشرات فى الطائف
    شركة مكافحة الحشرات بالطائف
    مكافحة الحشرات بالطائف
    شركة رش حشرات بالطائف
    شركة رش مبيدات بالطائف
    شركة مكافحة النمل الاسود بالطائف
    شركة مكافحة النمل الابيض بالطائف
    شركة مكافحة الفئران بالطائف
    شركة مكافحة الصراصير بالطائف
    شركة مكافحة البق بالطائف
    شلركة مكافحة بق الفراش بالطائف
    شركة مكافحة العتة بالطائف


    http://aldanaa.com/%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%84%D8%B7%D8%A7%D8%A6%D9%81/

    ReplyDelete

  8. مكافحة حشرات بمكة - عبيرمكة - 0508034442

    مكافحة حشرات بمكة خدمة تقدمها لكم شركة مكافحة حشرات بمكة يبحث كثير من الناس عن طرق مختلفة وكثيرة للتخلص من الحشرات المزعجة والمقززة


    مكافحة حشرات بمكة
    شركة رش حشرات بمكة
    شركة رش مبيدات بمكة
    شركة مكافحة النمل الاسود بمكة
    شركة مكافحة النمل الابيض بمكة
    شركة مكافحة الفئران بمكة
    شركة مكافحة الصراصير بمكة
    شركة مكافحة البق بمكة
    شركة مكافحة العتة بمكة

    شركات مكافحة الحشرات فى مكة


    http://abeermakah.com/%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D9%85%D9%83%D8%A9/

    ReplyDelete
  9. معلم دهانات بالمدينة المنورة - الصيانة السريعة – 0532828008

    معلم دهانات بالمدينة المنورة من امهر الايدى العاملة بهذا المجال اذا كنت ترغب بتجديد دهانات منزلك فلا تحتار اتصل بمعلم دهان بالمدينة المنورة الجميع يعلم ان اعمال النقاشة والدهانات
    دهان فى المدينة المنورة
    معلم دهانات بالمدينة المنورة
    دهان بالمدينة المنورة
    شركة دهانات بالمدينة المنورة
    معلم بوية بالمدينة المنورة
    معلم بوية فى المدينة المنورة
    معلم بوية فى المدينة
    معلم دهان بالمدينة المنورة
    معلم دهان فى المدينة المنورة
    اعمال دهانات بالمدينة المنورة
    تركيب طارد حمام بالمدينة المنورة
    طارد حمام بالمدينة المنورة
    شركة تركيب طارد حمام بالمدينة المنورة
    تنظيف مسابح بالمدينة المنورة
    شركة تنظيف مسابح بالمدينة المنورة
    http://alcyana.com/%D9%85%D8%B9%D9%84%D9%85-%D8%AF%D9%87%D8%A7%D9%86%D8%A7%D8%AA-%D8%A8%D8%A7%D9%84%D9%85%D8%AF%D9%8A%D9%86%D8%A9-%D8%A7%D9%84%D9%85%D9%86%D9%88%D8%B1%D8%A9/






    ReplyDelete