Skip to content
View uriyyo's full-sized avatar
๐Ÿ”Š
I'll be in the back room, tell me when it's over
๐Ÿ”Š
I'll be in the back room, tell me when it's over

Organizations

@python @ukrainian-github

Block or report uriyyo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
uriyyo/README.md

Hi there ๐Ÿ‘‹

Can you help me learn Haskell?

My OOP mind struggles every time I attempt to learn it ๐Ÿ˜ข

fibs = 0 : 1 : zipWith (+) fibs (tail fibs)

About me

I am a Software Engineer who mostly works with Python but used to work with C/C++ and Java a long time ago. Hope one day I will be able to understand Haskell (I have a dream to learn functional programming).

PEP 505 None-aware operators is a feature that I miss the most in Python.

I?.really?.want?.this?.feature ?? "Or not?"

Things done by me

FastAPI related

If you are using FastAPI and use function return type annotation as response_model you should know - I am the one who implemented it ๐Ÿ˜„ (FastAPI #1436).

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI(title="Bio")


class Bio(BaseModel):
    name: str
    education: str
    languages: set[str]


@app.get("/me")
async def get_bio() -> Bio:
    return Bio(
        name="Yurii",
        education="Master's degree in Computer Engineering",
        languages={"Ukrainian", "English", "Polish", "German (a bit)"},
    )

Also, I have created fastapi-pagination package that helps you to paginate things (obviously) using FastAPI ๐Ÿ“–. Another thing that I currently work on is fastapi-filters package. Hope one day it will be useful for someone as fastapi-pagination is ๐Ÿธ.

Python related

I have several contributions to Python itself (commits). The most interesting one is (#23316 Store func annotations as a tuple). This optimization reduces memory footprint and improves performance of loading modules having many func annotations.

>>> sys.getsizeof({"a":"int","b":"int","return":"int"})
232
>>> sys.getsizeof(("a","int","b","int","return","int"))
88

The tuple is converted into dict on the fly when func.__annotations__ is accessed first.

PyCharm related

I have created a plugin (pycharm-evaluate-async-code) for PyCharm that helps you evaluate async code the using Evaluate Expression window. This is really useful when you are debugging your code and want to check some async stuff. I guess it's my favorite project that I have ever done (because I used it every day and it really saved me a lot of time).

evaluate_expression

Pinned Loading

  1. fastapi-pagination fastapi-pagination Public

    FastAPI pagination ๐Ÿ“–

    Python 1.2k 140

  2. fastapi-filters fastapi-filters Public

    FastAPI filters๐Ÿธ

    Python 68 3

  3. pycharm-evaluate-async-code pycharm-evaluate-async-code Public

    Finally, you can use await in evaluate expression ๐Ÿ’ช

    Kotlin 44 2

  4. instapi instapi Public

    Python Instagram API ๐Ÿ“ท

    Python 33 5