Skip to content

Instantly share code, notes, and snippets.

View rmariano's full-sized avatar
😀
Technically fearless; Exemplary practitioner.

Mariano Anaya rmariano

😀
Technically fearless; Exemplary practitioner.
View GitHub Profile
"""Descriptors & Decorators
Example 2: A decorator that changes the signature of the function.
"""
from functools import wraps
class DomainObject:
"""Dummy object that requires the common parameters for processing"""
def __init__(self, *args):
self.args = args
"""An example of a descriptor with a ``__delete__()`` method.
The code is for illustration purposes only, and it does not correspond to any
actual implementation.
"""
class ProtectedAttribute:
"""A class attribute that can be protected against deletion"""
def __set_name__(self, owner, name):
"""Mutable objects as class attributes."""
import logging
logger = logging.getLogger(__name__)
class Query:
PARAMETERS = {"limit": 100, "offset": 0}
def run_query(self, query, limit=None, offset=None):
"""A small script to find all months that have a Monday 25th for a particular
year.
Input: year in format YYYY
Output: print list of dates that are a Monday 25 in that year
"""
import re
import sys
from typing import Iterator
from datetime import date
@rmariano
rmariano / Local-development-for-Python-gRPC.md
Last active March 24, 2020 08:14
Testing out async grpc

gRPC Python: Instructions for Local Development

Note: The compilation of the C files (make) requires GCC version 7. Maybe LLVM?

  1. Git clone & init the project
git clone ...
git submodule update --init
@rmariano
rmariano / README.md
Last active July 17, 2019 13:03
Proposal for exposing the aiogrpc interface to users

Aio gRPC

A Proposal from the user's perspective

As a user, to use the new implementation of gRCP in the asynchronous version, I will compile by passing a specific flag:

$ python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. proto/echo.proto --aiogrpc

This compiles the stubs, generated with the asynchronous code.

@rmariano
rmariano / discovering_descriptors.py
Last active July 11, 2017 18:14
Discovering Descriptors
"""Code for the talk "Discovering Descriptors"
> PyCon CZ 2017 - 8 to 10 June - Prage, Czech Republic
June 9th, 2017 11:00 CET
> EuroPython 2017 - 9 to 16 July - Rimini, Italy
July 11th, 2017 15:45 CET
https://ep2017.europython.eu/conference/talks/discovering-descriptors
Python 3.6
@rmariano
rmariano / main.go
Created March 22, 2017 08:42 — forked from divan/main.go
Golang database/sql+http example (postgres)
// Run PostgreSQL server:
// docker run -e POSTGRES_PASSWORD="" -p 5432:5432 postgres
// Monitor running processes:
// watch -n 1 'echo "select pid,query_start,state,query from pg_stat_activity;" | psql -h localhost -U postgres
//
// For all handlers, call to db takes 5 seconds,
//
// Three endpoints:
// - "/" - take 5 seconds
// - "/ctx" - take 1 seconds, due to 1 second cancellation policy
@rmariano
rmariano / oofunctional.py
Created January 5, 2017 10:20
Functional programming wrapped in object
"""
Object that allows chaining functional programming operations
over a provided data set.
"""
from operator import add
from functools import partialmethod, reduce
class ChainedFunctional:
@rmariano
rmariano / declarative programming repo problem.cs
Last active December 29, 2016 00:08 — forked from lifebeyondfife/declarative programming repo problem.cs
Declarative Programming Repo Problem. Problem available in C#, JavaScript and Python.
/*
Code below can be run directly into LINQPad - https://www.linqpad.net/
Return the owner and repo name of the most starred project with more than 100 contributors, for each language
The declarative implementation can be solved using the Select, Where, Aggregate and GroupBy LINQ extension methods
*/
void Main()
{
var repos = new List<Repo> {