Skip to content

Instantly share code, notes, and snippets.

Karthikeyan Singaravelan tirkarthi

Block or report user

Report or block tirkarthi

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Python best practices

Karthikeyan Singaravelan /(Software Engineer at Platform Portal | Python core developer)/

# python -m pip install dash-cytoscape==0.0.5
import dash
import dash_cytoscape as cyto
import dash_html_components as html
import dash_core_components as dcc
from pprint import pprint
from dash.dependencies import Input, Output, State
app = dash.Dash(__name__)
tirkarthi /
Last active Feb 2, 2020
Slide for visa meetup

CPython development

Karthikeyan Singaravelan (Senior Software Engineer at Visa | Python core developer)

tirkarthi /
Last active Feb 18, 2020
Python 3.8 and 3.9 issues

Do take one issue per person to help others :) Also checkout Fedora tracker for more easy issues : . I tried to mark the issues complete but it's more maintenance so sorry if the issue is fixed or already has a PR and is not updated here.

tirkarthi /
Created Nov 10, 2019
A script to generate a plot of emails sent by me by hour for CPython to python-bugs mailing list
import calendar
from collections import Counter
import datetime
import gzip
import os
from urllib.request import urlretrieve
from urllib.error import HTTPError
import matplotlib.pylab as plt
tirkarthi /
Last active Aug 31, 2019
ast.dump implementation using list of generated strings
import ast
from _ast import *
def dump(node, annotate_fields=True, include_attributes=False, indent=None):
def _format(node, level=0):
if indent is not None:
level += 1
prefix = '\n' + indent * level
sep = ',\n' + indent * level
tirkarthi / python-bpo-pr-browser.el
Created Aug 19, 2019
Open the bug and PR for commit under cursor in magit mode
View python-bpo-pr-browser.el
(defun python-bugs-url ()
(let ((commit-message (magit-rev-format "%B"
(bugs-base-url "")
(pr-base-url "")
(bugs-pr-regex "bpo-\\([0-9]+\\).*\\(GH-\\|#\\)\\([0-9]+\\)"))
(when (string-match bugs-pr-regex commit-message)
(let ((bug-url (concat bugs-base-url (match-string 1 commit-message)))
# Empty headers in HTTP/2 streams can cause DoS. A test based on .
# Takes around 8 seconds without the patch at
# Start 2019-08-14 1565776248
# End 2019-08-14 1565776256
use POSIX qw/strftime/;
print "Start ", strftime('%Y-%m-%d %s',localtime), " \n";
$s = Test::Nginx::HTTP2->new();
tirkarthi / python3.7.1.txt
Created Oct 20, 2018
A list of all NEWS entries for 3.7.1
View python3.7.1.txt
.. bpo: 34970
.. date: 2018-10-13-11-14-13
.. nonce: SrJTY7
.. release date: 2018-10-20
.. section: Library
Protect tasks weak set manipulation in ``asyncio.all_tasks()``
.. bpo: 17239
.. date: 2018-09-11-18-30-55
.. nonce: kOpwK2
View python-close.txt
* To close
** TODO Fixed with another issue Close it as a superseder to
** TODO generate_tokens is made public Close it as rejected with
** TODO Fixed with another issue Close it as a superseder to
** TODO Patch already applied and hence close this
** TODO Propose closing since improvements were made with making original issue invalid
** TODO Propose closing since 2.7.x is in bug fix mode
** Propose to close
** Propose to close as documentation is correct
You can’t perform that action at this time.