Re: [Python-Dev] The next major Python version will be Python 8

2016-03-31 Thread Brian Cain
I bought it.  I will confess to being your first victim.  :)

On Thu, Mar 31, 2016 at 4:40 PM, Victor Stinner 
wrote:

> Hi,
>
> Python 3 becomes more and more popular and is close to a dangerous point
> where it can become popular that Python 2. The PSF decided that it's
> time to elaborate a new secret plan to ensure that Python users suffer
> again with a new major release breaking all their legacy code.
>
> The PSF is happy to announce that the new Python release will be
> Python 8!
>
> Why the version 8? It's just to be greater than Perl 6 and PHP 7, but
> it's also a mnemonic for PEP 8. By the way, each minor release will now
> multiply the version by 2. With Python 8 released in 2016 and one
> release every two years, we will beat Firefox 44 in 2022 (Python 64) and
> Windows 2003 in 2032 (Python 2048).
>
> A major release requires a major change to justify a version bump: the
> new killer feature is that it's no longer possible to import a module
> which does not respect the PEP 8. It ensures that all your code is pure.
> Example:
>
> $ python8 -c 'import keyword'
> Lib/keyword.py:16:1: E122 continuation line missing indentation or
> outdented
> Lib/keyword.py:16:1: E265 block comment should start with '# '
> Lib/keyword.py:50:1: E122 continuation line missing indentation or
> outdented
> (...)
> ImportError: no pep8, no glory
>
> Good news: since *no* module of the current standard library of Python 3
> respect the PEP 8, the standard library will be simplified to one
> unique module, which is new in Python 8: pep8. The standard library will
> move to the Python Cheeseshop (PyPI), to reply to an old and popular
> request.
>
>
> DON'T PANIC! You are still able to import your legacy code into
> Python 8, you just have to rename all your modules to add a "_noqa" suffix
> to the filename. For example, rename utils.py to utils_noqa.py. A side
> effect is that you have to update all imports. For example, replace
> "import django" with "import django_noqa". After a study of the PSF,
> it's a best option to split again the Python community and make sure
> that all users are angry.
>
>
> The plan is that in 10 years, at least 50% of the 77,000 packages on the
> Python cheeseshop will be updated to get the "_noqa" tag. After 2020,
> the PSF will start to sponsor trolls to harass users of the legacy
> Python 3 to force them to migrate to Python 8.
>
>
> Python 8 is a work-in-progress (it's still an alpha version), the
> standard library was not removed yet. Hopefully, trying to import any
> module of the standard library fails.
>
> Don't hesitate to propose more ideas to make Python 8 more incompatible
> with Python 3!
>
> Note: The change is already effective in the default branch of Python:
> https://hg.python.org/cpython/rev/9aedec2dbc01
>
> Have fun,
> Victor
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/brian.cain%40gmail.com
>



-- 
-Brian
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] [ANNOUNCE] fuzzpy

2016-02-28 Thread Brian Cain
##

*---*
*fuzzpy: CPython fuzz tester is now available   *
*   *
*   Version 0.8 *
*https://bitbucket.org/ebadf/fuzzpy/*
*---*

I am pleased to announce the creation of a coverage-guided fuzz tester for
CPython.  It's a pretty small wrapper around LLVM's libFuzzer that enables
some powerful testing logic.  AFL (American Fuzzy Lop) is another popular
fuzzer lately -- libFuzzer is very similar in concept to AFL.  From what
I've read on list archives, Victor Stinner had previously done some good
fuzz testing on CPython using fusil.  This project should expand on that
concept.

I'd love to get feedback, suggestions, patches and anything else the list
can offer.


Q: What is fuzzpy for?
A: It's primarily for testing CPython itself, but could also be used for
individual python projects too.  Pure-python projects will be the simplest
to integrate at this point.  Also, interesting test cases output by fuzzpy
may end up being useful in testing others such as pypy, pyston, etc.

Q: What is a fuzz tester?
A: It modifies inputs to a test case in order to find unique/rare failures.

Q: What does "coverage-guided" mean?
A: It means that libFuzzer is able to witness the specific code executed as
a result of a given test case.  It feeds this information back into an
engine to modify the test cases to optimize for coverage.

Q: How can I help?
A1: donate cycles: build the project and crank away on one of the existing
tests.  Relative to other common fuzzing, it's awfully slow, so consider
throwing as many cycles as you can afford to.
A2: contribute tests: write a ~10-line python script that exercises a
feature that you think could benefit from fuzz testing.
A3: if there's interest, I can accept cryptocoin donations to purchase
cycles on a cloud server.


##


-- 
-Brian
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com