Skip to content

Instantly share code, notes, and snippets.

View gvanrossum's full-sized avatar

Guido van Rossum gvanrossum

View GitHub Profile
@gvanrossum
gvanrossum / output
Last active August 29, 2015 14:10
Transaction example
python3 trans.py
begin
initial_preparations
HO HO HO
main: i = 0
finishing_touches
commit
and a bottle of rum 0
begin
initial_preparations

This was posted as an email to python-dev.

History lesson

Since I signed up for the python-dev mailing list way back in June 2002, there seems to be a cycle where we as a group come to a realization that our current software development process has not kept up with modern practices and could stand for an update. For me this was first shown when we moved from SourceForge to our own infrastructure, then again when we moved from Subversion to Mercurial (I led both of these initiatives, so it's somewhat a tradition/curse I find myself in this position yet again). And so we again find ourselves at the point of realizing that we are not keeping up with current practices and thus need to evaluate how we can improve our situation.

Where we are now

Now it should be realized that we have two sets of users of our development process: contributors and core developers (the latter whom can play both roles). If you take a rough outline of our cu

@gvanrossum
gvanrossum / output.txt
Created May 16, 2017 16:02
Variadic decorator
variadic.py:17: error: Overloaded function signatures 1 and 2 overlap with incompatible return types
variadic.py:17: error: Overloaded function signatures 1 and 3 overlap with incompatible return types
variadic.py:38: error: Revealed type is 'Any'
variadic.py:39: error: Revealed type is 'Any'
diff --git a/mypy/checker.py b/mypy/checker.py
index 7b0180f79..488ae825f 100644
--- a/mypy/checker.py
+++ b/mypy/checker.py
@@ -991,9 +991,11 @@ class TypeChecker(NodeVisitor[None], CheckerPluginInterface):
if is_unsafe_overlapping_signatures(forward_tweaked,
reverse_tweaked):
+ rev_name = reverse_class.name() if reverse_class is not None else None
+ fwd_name = forward_base.type.name() if forward_base and hasattr(forward_base, 'type ') and forward_base.type else None
Hello Dear,
This is Ellen from ***.com
We are pleased to get to know that your articles on your blog are awesome and the writing style is so suitable for introducing our company's products.
And we sincerely invite you to cooperate with us,
*Write an article about our products on your blog about 400-500 words + 2 pictures+ 3 links
*Promote it on your social website.
import sys
import time
sys.setrecursionlimit(1200)
def g1(depth):
if depth > 0:
it = g1(depth-1)
yield next(it)
else:
@gvanrossum
gvanrossum / tzl.py
Last active May 29, 2019 11:00
local timezone class
# A local timezone class that inherits its behavior from the time
# module's knowledge about the local time zone.
# TODO: Use tm_gmtoff and tm_zone if supported? (Probably should be a
# separate class so we can compare them.)
import calendar # TODO: Really shouldn't.
import datetime
import time
import asyncio
END = b'Bye-bye!\n'
@asyncio.coroutine
def echo_client():
reader, writer = yield from asyncio.open_connection('localhost', 8000)
writer.write(b'Hello, world\n')
writer.write(b'What a fine day it is.\n')
writer.write(END)
def f(a):
t = 0
for x in a:
if x > 0:
t = t + x
return t
import dis
dis.dis(f)
def generate(source):
print("# What comes before")
print(f"{source.removesuffix(".py")}.c: $(srcdir)/{source}")
print("\t$(COMMAND)")
def generate_too(source):
print("# What comes before")
print(f"{source.removesuffix("some/bad-\"-stuff%!")}.c: $(srcdir)/{source}")
print("\t$(COMMAND)")