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 Public

    FastAPI pagination 📖

    Python 1.3k 145

  2. fastapi-filters Public

    FastAPI filters🍸

    Python 70 3

  3. pycharm-evaluate-async-code Public

    Finally, you can use await in evaluate expression 💪

    Kotlin 45 2

  4. instapi Public

    Python Instagram API 📷

    Python 32 5

546 contributions in the last year

Contribution Graph
Day of Week March April May June July August September October November December January February
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Less
No contributions.
Low contributions.
Medium-low contributions.
Medium-high contributions.
High contributions.
More

Activity overview

Loading A graph representing uriyyo's contributions from March 03, 2024 to March 04, 2025. The contributions are 70% commits, 22% pull requests, 6% code review, 2% issues. 6% Code review 2% Issues 22% Pull requests 70% Commits

Contribution activity

March 2025

10 contributions in private repositories Mar 2 – Mar 3
Loading

Seeing something unexpected? Take a look at the GitHub profile guide.