Skip to content

Instantly share code, notes, and snippets.

Avatar

Karthikeyan Singaravelan tirkarthi

View GitHub Profile
@tirkarthi
tirkarthi / log.txt
Created Aug 19, 2020
_fields code search in python files
View log.txt
$ rg -t py ' _fields =' # command
pytablewriter/pytablewriter/_typing.py
1602: _fields = kwargs
flake8-rst-docstrings/flake8_rst_docstrings.py
345: _fields = (
394: _fields = (
507: _fields = "name arguments".split()
588: _fields = "kind value start end source".split()
View best-practices.md
marp
true

Python best practices

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


View dash-cytoscape-example.py
# 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
tirkarthi / visa-meetup.md
Last active Feb 2, 2020
Slide for visa meetup
View visa-meetup.md
marp
true

CPython development

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


@tirkarthi
tirkarthi / py3_issues.md
Last active Feb 18, 2020
Python 3.8 and 3.9 issues
View py3_issues.md

Do take one issue per person to help others :) Also checkout Fedora tracker for more easy issues : https://bugzilla.redhat.com/show_bug.cgi?id=1785415 . 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
tirkarthi / emails_per_hour.py
Created Nov 10, 2019
A script to generate a plot of emails sent by me by hour for CPython to python-bugs mailing list
View emails_per_hour.py
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
tirkarthi / ast_compare.py
Last active Aug 31, 2019
ast.dump implementation using list of generated strings
View ast_compare.py
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
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 ()
(interactive)
(let ((commit-message (magit-rev-format "%B"
(magit-rev-parse
(magit-branch-or-commit-at-point))))
(bugs-base-url "https://bugs.python.org/issue")
(pr-base-url "https://github.com/python/cpython/pull/")
(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)))
View CVE_2019_9516.pl
# Empty headers in HTTP/2 streams can cause DoS. A test based on http://hg.nginx.org/nginx-tests .
# Takes around 8 seconds without the patch at https://github.com/nginx/nginx/commit/6dfbc8b1c2116f362bb871efebbf9df576738e89
# Start 2019-08-14 1565776248
# End 2019-08-14 1565776256
# https://www.nginx.com/blog/nginx-updates-mitigate-august-2019-http-2-vulnerabilities/
use POSIX qw/strftime/;
print "Start ", strftime('%Y-%m-%d %s',localtime), " \n";
$s = Test::Nginx::HTTP2->new();
@tirkarthi
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