This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Currently this is a concept as the plan for aiohttp's http2 support | |
| # is still under some debate: | |
| # Author: Vizonex | |
| # Filename (If added): "aiohttp/http2_writer.py" | |
| """Http related parsers and protocol.""" | |
| import asyncio | |
| import sys | |
| from typing import ( # noqa |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Currently this is a concept as the plan for aiohttp's http2 support | |
| # is still under some debate: | |
| # Author: Vizonex | |
| # Filename (If added): "aiohttp/http2_parser.py" | |
| from contextlib import suppress | |
| from enum import IntEnum | |
| from typing import ( | |
| Any, | |
| ClassVar, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "api.h" | |
| #include <stdio.h> | |
| // Don't want to override llhttp's work now do we? | |
| #define H2_CALLBACK_MAYBE(PARSER, NAME) \ | |
| do { \ | |
| const llh2_settings_t *settings; \ | |
| settings = (const llh2_settings_t *)(PARSER)->settings; \ | |
| if (settings == NULL || settings->NAME == NULL) \ | |
| { \ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* This was a backup plan I had in mind if cimporting propcache from cython gets rejected | |
| My main reason behind trying to force it in CPython or Cython is actually to come up with a new library | |
| that deprecates property types (including cached properties) without needing to write | |
| @deprecated(reason="blah blah blah") | |
| @property | |
| It is easier said as | |
| @deprecated_property(reason="blah blah blah") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* This CPython Writer is a mirror of the aiohttp & Yarl source code for implementing | |
| a fast and easy to use writer that could be implemented & Used in Cython and | |
| CPython projects. This was an idea for the transition of the current _http_writer | |
| cython module in aiohttp on over to C When or if we decide to go down that route with | |
| header serlization with Http/1.1 , | |
| This also has new tools that could be used for http/2 Frame writing | |
| so this library also implements tools that the struct module would use but for writing | |
| in special bytes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """A Small and compact scheduler built off asyncio and reedited around python-std sched""" | |
| from __future__ import annotations | |
| import asyncio | |
| import heapq | |
| import inspect | |
| import types | |
| from itertools import count | |
| from typing import ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """A Small and compact scheduler built off anyio and reedited around python-std shed""" | |
| from __future__ import annotations | |
| import inspect | |
| import sys | |
| from collections import deque | |
| from datetime import datetime, timedelta | |
| from itertools import count | |
| from typing import ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Small mini fixer for pre-commit yaml to play nicely with windows since windows has it's own quirks unlike linux. | |
| # This repairs and fixes the probelm. | |
| import sys | |
| import pathlib | |
| if __name__ == "__main__": | |
| if ("--help" in sys.argv) or ("-h" in sys.argv): | |
| print(" fix_yaml.py <FILE>\n") | |
| print(" FILE A yaml file that needs fixing") | |
| print(" --help, -h Prints help and exits") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """A External Module for the deprecation of subclassing a class | |
| this will be a seperate library soon if demand is seen for it.""" | |
| import functools | |
| import warnings | |
| from collections.abc import Sequence | |
| from types import MethodType | |
| from typing import TypeVar | |
| # Modeled after deprecated-params but for the deprecation of subclassing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # here's how we could use our custom module we made to eliminate some slowness with other things. | |
| # example show is aiohttp/_http_writer.pyx with a few upgrades but also our own module being injected on in. | |
| from cpython.bytes cimport PyBytes_FromStringAndSize | |
| from cpython.exc cimport PyErr_NoMemory, PyErr_SetString, PyErr_SetObject | |
| from cpython.mem cimport PyMem_Free, PyMem_Malloc, PyMem_Realloc | |
| from cpython.object cimport PyObject_Str | |
| from libc.stdint cimport uint8_t, uint64_t | |
| from libc.string cimport memcpy |