GitHub / johnthagen issue stats
Total issues: 674
Total pull requests: 905
Merged pull request: 822
Average time to close issues: 5 months
Average time to close pull requests: 10 days
Average comments per issue: 3.43
Average comments per pull request: 0.96
Issues created
- johnthagen/python-blueprint: 56
- johnthagen/rust-belt: 45
- intellij-rust/intellij-rust: 43
- python-poetry/poetry: 15
- astral-sh/uv: 14
- tfranzel/drf-spectacular: 13
- johnthagen/clion-cppcheck: 12
- JoelLefkowitz/drf-yasg: 12
- squidfunk/mkdocs-material: 12
- manuzhang/mkdocs-htmlproofer-plugin: 11
- dantebben/nox-uv: 11
- mozman/ezdxf: 10
- PistonDevelopers/music: 10
- johnthagen/min-sized-rust: 7
- django-guardian/django-guardian: 7
- enpaul/tox-poetry-installer: 7
- hzdg/django-enumfields: 6
- jazzband/django-downloadview: 6
- typeddjango/django-stubs: 6
- lazybird/django-solo: 6
- openapi-generators/openapi-python-client: 6
- turettn/fastapi_offline: 6
- isl-org/Open3D: 5
- bashtage/sphinx-material: 5
- astral-sh/ruff: 5
- raimon49/pip-licenses: 5
- Hipo/drf-extra-fields: 5
- johnthagen/sealed-typing-pep: 5
- YegorDB/django-channels-auth-token-middlewares: 5
- OpenAPITools/openapi-generator: 5
- rpkilby/django-rest-framework-guardian: 5
- wntrblm/nox: 4
- kenkundert/quantiphy: 4
- python/mypy: 4
- psf/black: 4
- NilCoalescing/djangochannelsrestframework: 4
- cjolowicz/nox-poetry: 4
- MousaZeidBaker/poetryup: 3
- chtd/psycopg2cffi: 3
- jazzband/django-dbbackup: 3
- allisson/django-rest-framework-rapidjson: 3
- aochagavia/rocket: 3
- opencv/opencv: 3
- rust-lang/style-team: 3
- pydantic/ai-chat-ui: 3
- sillsdev/react-localize-crowdin: 3
- csachs/pyproject-flake8: 3
- drmikehenry/svnwrap: 3
- initios/flake8-junit-report: 3
- tumb1er/coverage2clover: 3
- dmontagu/fastapi-utils: 3
- un1t/django-cleanup: 3
- tensorflow/tensorflow: 3
- johnthagen/exitstatus: 3
- curtacircuitos/pcb-tools: 3
- johnthagen/cppcheck-junit: 3
- teddziuba/django-sslserver: 3
- dbkaplan/dry-rest-permissions: 3
- beda-software/drf-writable-nested: 3
- dry-python/returns: 3
- dfurtado/dataclass-csv: 3
- django/channels: 2
- docker/compose: 2
- oxan/djangorestframework-dataclasses: 2
- chrieke/mkdocs-exclude-search: 2
- devbisme/skidl: 2
- drhagen/parsita: 2
- dvc94ch/pykicad: 2
- material-table-core/website: 2
- pyca/cryptography: 2
- github/codeql-action: 2
- mkdocstrings/python: 2
- opencv/opencv-python: 2
- django-auth-ldap/django-auth-ldap: 2
- TimChild/mkdocs-llms-source: 2
- microsoft/Simplify-Docx: 2
- docker/docs: 2
- andelf/rust-sdl2_mixer: 2
- python-jsonschema/jsonschema: 2
- RSeidelsohn/license-checker-rseidelsohn: 2
- naufraghi/tinyaes-py: 2
- rust-lang/rust: 2
- sillsdev/TheCombine: 2
- pex-tool/pex: 2
- pyinstaller/pyinstaller: 2
- xolox/python-coloredlogs: 2
- henryroe/pwrusb: 2
- GeeWee/django-auto-prefetching: 2
- ollix/cclint: 2
- bruce-szalwinski/mkdocs-typer: 2
- pypa/pip: 2
- cyclosproject/ng-swagger-gen: 2
- Archmonger/django-dbbackup: 2
- rust-lang/rustup: 2
- wilhelmer/mkdocs-unused-files: 2
- catchorg/Catch2: 2
- mapiv/pypcd4: 2
- soulless-viewer/mkdocs-video: 2
- pallets/flask: 2
- tiangolo/typer: 2
- sehmaschine/django-grappelli: 2
- sinoroc/tox-poetry-dev-dependencies: 2
- pallets/click: 1
- horejsek/python-fastjsonschema: 1
- liftoff/pyminifier: 1
- dflook/python-minifier: 1
- fralau/mkdocs_macros_plugin: 1
- jmaupetit/md2pdf: 1
- pistondevelopers/blog.piston.rs: 1
- rustwasm/team: 1
- brianjbuck/drf_orjson_renderer: 1
- python-rapidjson/python-rapidjson: 1
- AmirulAndalib/developer-roadmap: 1
- mkdocstrings/mkdocstrings: 1
- zopefoundation/zope.event: 1
- akx/django-enumfields2: 1
- matplotlib/matplotlib: 1
- andrew-d/python-multipart: 1
- PistonDevelopers/piston: 1
- docker-library/pypy: 1
- plotly/dash: 1
- georgebv/drf-pydantic: 1
- astral-sh/ty: 1
- sybrenstuvel/python-rsa: 1
- trolldbois/python-clang: 1
- davglass/license-checker: 1
- wemake-services/eradicate: 1
- stefan6419846/pip-licenses-cli: 1
- ArcaneNibble/stm32-unified-crate: 1
- djsutho/django-debug-toolbar-request-history: 1
- mkdocs/mkdocs: 1
- tesseract-ocr/tesseract: 1
- certifi/python-certifi: 1
- pistondevelopers/piston-examples: 1
- ferndot/django-channels-handlers: 1
- python/typing: 1
- pointhi/kicad-python: 1
- google/flatbuffers: 1
- psf/requests: 1
- pistondevelopers/docs: 1
- Hnfull/Intensio-Obfuscator: 1
- hackndev/zinc: 1
- sensslen/nuget-license: 1
- johnthagen/django-rest-framework-guardian2: 1
- ymyzk/tox-gh-actions: 1
- pyinstaller/pyinstaller-hooks-contrib: 1
- Qiskit/rustworkx: 1
- pytorch/executorch: 1
- fmtlib/fmt.dev: 1
- Grokzen/pykwalify: 1
- operasoftware/uwsgi-pypy-python3: 1
- oprypin/mkdocs-gen-files: 1
- mosquito/caio: 1
- ThomasGerstenberg/pycparser-fake-libc: 1
- aiortc/aioquic: 1
- gnuradio/pybombs: 1
- numpy/numpy: 1
- PistonDevelopers/gfx_graphics: 1
- gizmag/drf-ujson-renderer: 1
- vintasoftware/drf-rw-serializers: 1
- cjolowicz/poetry-up: 1
- platformdirs/platformdirs: 1
- browserify/crypto-browserify: 1
- hishnash/channelsmultiplexer: 1
- frederikp/python-poetry-alpine: 1
- moby/moby: 1
- manatlan/vbuild: 1
- paramiko/paramiko: 1
- sybrenjansen/mpire: 1
- python-poetry/website: 1
- squeaky-pl/portable-pypy: 1
- pistondevelopers/hematite.piston.rs: 1
- alexeyraspopov/dataclass: 1
- pytest-dev/pytest-rerunfailures: 1
- eerimoq/argparse_addons: 1
- PistonDevelopers/piston_window: 1
- daisylb/setup-nox: 1
- python-distro/distro: 1
- codypiersall/pynng: 1
- aturon/aturon.github.io: 1
- FledgeXu/python-neo-lzf: 1
- unrust/unrust: 1
- johnthagen/clang-blueprint: 1
- python-websockets/websockets: 1
- google-ai-edge/litert: 1
- contre/Windows-API-Code-Pack-1.1: 1
- txomon/flake8-quotes: 1
- jruere/multiprocessing-logging: 1
- tkukushkin/tox-poetry: 1
- rust-lang/arewewebyet: 1
- mosquito/aiofile: 1
- p4lang/ptf: 1
- tox-dev/pipdeptree: 1
- python-restx/flask-restx: 1
- fastapi/typer: 1
- postmanlabs/httpbin: 1
- embeddedenterprises/ng6-golden-layout: 1
- tartley/colorama: 1
- ppannuto/python-saleae: 1
- kxxoling/PTable: 1
- rust-embedded/wg: 1
- kpcyrd/mini-docker-rust: 1
- Jakski/sphinxcontrib-autoyaml: 1
- phaethon/kamene: 1
- PyCQA/flake8-bugbear: 1
- shapely/shapely: 1
- kitspace/kicad_footprints: 1
- rspeer/ordered-set: 1
- MagicStack/contextvars: 1
- tobgu/pyrsistent: 1
- rustls/rustls: 1
- Yelp/swagger_spec_validator: 1
- sfackler/rust-openssl: 1
- sphinx-doc/sphinx: 1
- pydantic/pydantic-core: 1
- guedou/cargo-strip: 1
- zensical/zensical: 1
- ambitioneng/django-pglock: 1
- pydantic/pydantic-ai: 1
- giampaolo/psutil: 1
- tensorflow/tensorboard: 1
- typeddjango/awesome-python-typing: 1
- cobusc/django-protected-media: 1
- matplotlib/cycler: 1
- indygreg/PyOxidizer: 1
- jazzband/prettytable: 1
- PyCQA/pep8-naming: 1
- lepture/python-livereload: 1
- koxudaxi/ruff-pycharm-plugin: 1
- alanjds/drf-nested-routers: 1
- issus/altium-library: 1
- roman-right/beanie: 1
Pull requests created
- johnthagen/python-blueprint: 211
- dantebben/nox-uv: 41
- johnthagen/rust-belt: 39
- aochagavia/rocket: 33
- PistonDevelopers/music: 32
- johnthagen/min-sized-rust: 30
- lazybird/django-solo: 25
- johnthagen/django-rest-framework-guardian2: 21
- johnthagen/exitstatus: 20
- JoelLefkowitz/drf-yasg: 19
- manuzhang/mkdocs-htmlproofer-plugin: 18
- NilCoalescing/djangochannelsrestframework: 15
- jazzband/django-downloadview: 15
- django-guardian/django-guardian: 14
- drmikehenry/svnwrap: 13
- drhagen/parsita: 12
- django/channels: 11
- johnthagen/cppcheck-junit: 11
- mozman/ezdxf: 10
- astral-sh/uv: 10
- jazzband/django-dbbackup: 10
- Hipo/drf-extra-fields: 10
- johnthagen/pytap2: 9
- hzdg/django-enumfields: 9
- johnthagen/doxygen-junit: 8
- tfranzel/drf-spectacular: 8
- python-poetry/poetry: 8
- wntrblm/nox: 8
- andelf/rust-sdl2_mixer: 7
- johnthagen/clion-cppcheck: 6
- pypa/pip: 6
- beda-software/drf-writable-nested: 6
- un1t/django-cleanup: 6
- openapi-generators/openapi-python-client: 6
- turettn/fastapi_offline: 6
- Archmonger/django-dbbackup: 6
- squidfunk/mkdocs-material: 5
- rpkilby/django-rest-framework-guardian: 5
- teddziuba/django-sslserver: 5
- devbisme/skidl: 5
- sillsdev/react-localize-crowdin: 4
- stefan6419846/pip-licenses-cli: 4
- allisson/django-rest-framework-rapidjson: 4
- typeddjango/awesome-python-typing: 3
- phaethon/kamene: 3
- python-poetry/poetry-plugin-export: 3
- horejsek/python-fastjsonschema: 3
- intellij-rust/intellij-rust: 3
- aiortc/aioquic: 3
- johnthagen/cpplint-junit: 3
- kisom/pypcapfile: 3
- akx/django-enumfields2: 3
- django-pymemcache/django-pymemcache: 3
- MousaZeidBaker/poetryup: 3
- joanbono/awesome-kicad: 2
- hishnash/channelsmultiplexer: 2
- xolox/python-coloredlogs: 2
- devbisme/kicad-3rd-party-tools: 2
- mcdenhoed/redo: 2
- johnthagen/clang-blueprint: 2
- google/flatbuffers: 2
- GeeWee/django-auto-prefetching: 2
- dry-python/returns: 2
- Qiskit/rustworkx: 2
- Amertz08/drf_ujson2: 2
- python/mypy: 2
- python-jsonschema/jsonschema: 2
- python-attrs/attrs: 2
- fastapi/fastapi: 2
- pyinstaller/pyinstaller-hooks-contrib: 2
- pyinstaller/pyinstaller: 2
- bashtage/sphinx-material: 2
- networkx/networkx: 2
- csachs/pyproject-flake8: 2
- cjolowicz/nox-poetry: 2
- psf/black: 2
- djsutho/django-debug-toolbar-request-history: 2
- dvc94ch/pykicad: 2
- matplotlib/cycler: 2
- squeaky-pl/portable-pypy: 2
- jaraco/zipp: 2
- tumb1er/coverage2clover: 2
- isl-org/Open3D: 2
- nat-n/poethepoet: 2
- devbisme/KiPart: 2
- zheller/flake8-quotes: 1
- cannatag/ldap3: 1
- cdelker/schemdraw: 1
- danmar/cppcheck-htdocs: 1
- davglass/license-checker: 1
- devbisme/kinparse: 1
- dflook/python-minifier: 1
- dfurtado/dataclass-csv: 1
- dgasmith/opt_einsum: 1
- django-auth-ldap/django-auth-ldap: 1
- django/channels_redis: 1
- docker/compose: 1
- em1208/adrf: 1
- ericvsmith/dataclasses: 1
- fastapi/typer: 1
- flying-sheep/awesome-python-packaging: 1
- hackndev/zinc: 1
- henryroe/pwrusb: 1
- Hnfull/Intensio-Obfuscator: 1
- hyeon0902/-2-Spring-Project: 1
- jazzband/django-constance: 1
- jazzband/djangorestframework-simplejwt: 1
- johnthagen/sealed-typing-pep: 1
- jruere/multiprocessing-logging: 1
- kitspace/kicad_footprints: 1
- kpcyrd/mini-docker-rust: 1
- madmaze/pytesseract: 1
- meshy/pythonwheels: 1
- microsoft/Simplify-Docx: 1
- mkdocs/mkdocs: 1
- nucleic/kiwi: 1
- oprypin/mkdocs-gen-files: 1
- p4lang/ptf: 1
- pex-tool/pex: 1
- pistondevelopers/pistondevelopers.github.io: 1
- psf/requests: 1
- pydantic/ai-chat-ui: 1
- pypa/pipx: 1
- python-poetry/cleo: 1
- python-poetry/poetry-plugin-bundle: 1
- raimon49/pip-licenses: 1
- RicoSuter/NSwag: 1
- roman-right/beanie: 1
- ronaldoussoren/macholib: 1
- rust-lang/edition-guide: 1
- rust-lang/rust-guidelines: 1
- rust-lang/style-team: 1
- rustls/rustls: 1
- saghul/pycares: 1
- sehmaschine/django-grappelli: 1
- sillsdev/icu-dotnet: 1
- sinoroc/tox-poetry-dev-dependencies: 1
- Sowbaranika1111/Projects: 1
- storborg/python-packaging: 1
- tensorly/tensorly: 1
- tfranzel/drf-spectacular-sidecar: 1
- timvink/mkdocs-print-site-plugin: 1
- urllib3/urllib3: 1
- ymyzk/tox-gh-actions: 1
Maintainer
- johnthagen/python-blueprint: 267
- johnthagen/rust-belt: 84
- dantebben/nox-uv: 51
- johnthagen/min-sized-rust: 37
- lazybird/django-solo: 31
- johnthagen/exitstatus: 23
- johnthagen/django-rest-framework-guardian2: 22
- johnthagen/clion-cppcheck: 18
- johnthagen/cppcheck-junit: 14
- johnthagen/pytap2: 9
- johnthagen/doxygen-junit: 8
- Archmonger/django-dbbackup: 8
- sillsdev/react-localize-crowdin: 7
- johnthagen/sealed-typing-pep: 6
- openapi-generators/openapi-python-client: 6
Active Maintainer
Issue Author Associations
- Contributor (320, 47.48%)
- None (192, 28.49%)
- Owner (133, 19.73%)
- Collaborator (29, 4.30%)
Pull Request Author Associations
- Contributor (419, 46.30%)
- Owner (361, 39.89%)
- Collaborator (80, 8.84%)
- None (45, 4.97%)
Top Issue Labels
- enhancement (88)
- bug (46)
- help wanted (20)
- upstream (19)
- refactoring (15)
- documentation (13)
- discussion (10)
- dependencies (10)
- question (10)
- kind/bug (10)
- good first issue (8)
- up for grab (8)
- status/triage (6)
- CI (6)
- docs (5)
Top Pull Request Labels
- enhancement (168)
- dependencies (70)
- bug (25)
- documentation (21)
- refactor (14)
- upstream (6)
- auto-locked (5)
- C: vcs (5)
- skip news (5)
- doc (4)
- area/docs (3)
- impact/docs (3)
- maintenance (2)
- 🐞bug (2)
- internal (2)