Commit Graph

5 Commits

Author SHA1 Message Date
Abhinav Singh c07436c084
Bump workflows to use Ubuntu 24.04 (#1478)
* Bump workflows to use Ubuntu 24.04

* Continue using 20.04 for python 3.6

* Continue using 20.04 for python 3.6 and 3.7

* Indentation fix
2024-09-21 12:11:24 +05:30
Abhinav Singh 74c42f6e57
`setup.cfg/extras_require` configuration (#1452)
* Remove usage of requirements file in favor of `setup.cfg/extras_require` configuration

* Fallback to setuptools-scm>=6 because >=7.0.5 dont support python 3.6, see https://github.com/abhinavsingh/proxy.py/pull/1345/files

* Remove unicode symbols from setup.cfg which causes parsing issues on python3.6, ref https://github.com/abhinavsingh/proxy.py/actions/runs/10346098737/job/28634186621\?pr\=1452
2024-08-12 11:57:57 +05:30
Abhinav Singh 091ba361ef
Prometheus Metrics (#1447)
* Add metrics server endpoint

* Setup metrics subscriber

* `MetricsSubscriber` as context manager

* Fix lint issues

* `--enable-metrics` flag which setup Metrics subscriber, collector and web endpoint

* Use file storage based mechanism to share internal metrics with prometheus exporter endpoint

* Lint fixes

* Move `_setup_metrics_directory` within subscriber which only run once

* Use global `metrics_lock` via flags

* Remove top-level imports for prometheus_client

* Add `requirements-metrics.txt`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix typo in makefile

* Fix typo

* fix type, lint, flake issues

* Remove event queue prop

* Fix typo

* Give any role to `proxy.http.server.metrics.get_collector`

* rtype

* `emit_request_complete` for web servers

* Fix doc issues

* Refactor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Rename metrics to start with proxypy_work_

* Startup `MetricsEventSubscriber` as part of proxy

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-11 19:30:18 +05:30
Abhinav Singh ddc96d4c09
Update project test dependencies to ensure green workflow (#1371)
* Use www.google.com for http2 tests

* Update README.md

Add missing tutorial's link

(cherry picked from commit e459f932cd)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* System packages for readthedocs

* Pin pyyaml, see https://github.com/yaml/pyyaml/issues/724\#issuecomment-1638587228

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Ignore flake8 S507

* precommit `pyyaml==5.3.1`

* follow https://github.com/yaml/pyyaml/issues/724

* pin to essentials_openapi==0.1.4 for blacksheep

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove blacksheep dep

* remove system_packages

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Check if tox upgrade helps with `ERROR: FAIL could not package project ` tox related issues

* Fix links

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Use `importlib.metadata` instead of `pkg_resources`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Just remove link from plugin docstring for now

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* pin `sphinxcontrib-applehelp==1.0.2` which is breaking spellcheck

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Pin `sphinxcontrib-*`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* pin `towncrier` too

* add kwargs as a spelling

* `_get_dist` backward compatible with 3.6

* Use `httpbingo.org` instead of `httpbin.org` in tests making network requests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Use `httpbingo` for reverse proxy plugin too which is tested in workflows

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* `importlib-metadata; python_version <= 3.7`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Integration test changes due to usage of httpbingo instead of httpbin

* `importlib-metadata; python_version <= 3.7` moved to build essentials and bypass reverse proxy integration test result verification for now

* Filter and ignore `DeprecationWarning` to make it work on 3.7

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* with deprecation ignore we dont need `importlib-metadata`

---------

Co-authored-by: Wermeille Bastien <bastien.wermeille@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-11 13:04:10 +05:30
Sviatoslav Sydorenko fa89944891
Add initial Sphinx docs 2021-11-18 01:36:13 +01:00