anthropics / hypercorn
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 43 files with 4,287 lines of code.
    • 0 very long files (0 lines of code)
    • 0 long files (0 lines of code)
    • 5 medium size files (1,500 lines of code)
    • 12 small files (1,737 lines of code)
    • 26 very small files (1,050 lines of code)
0% | 0% | 34% | 40% | 24%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
py0% | 0% | 35% | 40% | 24%
yaml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src0% | 0% | 35% | 41% | 23%
compliance0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 43)
File# lines# units
h2.py
in src/hypercorn/protocol
341 5
ws_stream.py
in src/hypercorn/protocol
335 9
config.py
in src/hypercorn
303 22
h11.py
in src/hypercorn/protocol
275 8
typing.py
in src/hypercorn
246 8
run.py
in src/hypercorn/asyncio
190 6
http_stream.py
in src/hypercorn/protocol
186 2
utils.py
in src/hypercorn
173 15
logging.py
in src/hypercorn
172 6
app_wrappers.py
in src/hypercorn
142 4
__main__.py
in src/hypercorn
137 2
h3.py
in src/hypercorn/protocol
136 1
tcp_server.py
in src/hypercorn/asyncio
135 2
tcp_server.py
in src/hypercorn/trio
130 2
quic.py
in src/hypercorn/protocol
118 2
run.py
in src/hypercorn
111 3
run.py
in src/hypercorn/trio
107 1
dispatcher.py
in src/hypercorn/middleware
88 1
lifespan.py
in src/hypercorn/asyncio
86 2
__init__.py
in src/hypercorn/protocol
84 1
lifespan.py
in src/hypercorn/trio
83 1
statsd.py
in src/hypercorn
74 1
task_group.py
in src/hypercorn/trio
66 2
proxy_fix.py
in src/hypercorn/middleware
62 2
task_group.py
in src/hypercorn/asyncio
61 3
http_to_https.py
in src/hypercorn/middleware
52 2
udp_server.py
in src/hypercorn/asyncio
47 3
events.py
in src/hypercorn/protocol
38 1
udp_server.py
in src/hypercorn/trio
37 1
worker_context.py
in src/hypercorn/trio
34 4
worker_context.py
in src/hypercorn/asyncio
34 4
wsgi.py
in src/hypercorn/middleware
33 2
__init__.py
in src/hypercorn/trio
26 -
server.py
in compliance/h2spec
24 -
__init__.py
in src/hypercorn/asyncio
21 -
server.py
in compliance/autobahn
18 -
statsd.py
in src/hypercorn/asyncio
18 1
events.py
in src/hypercorn
16 -
13 -
__init__.py
in src/hypercorn/middleware
12 -
statsd.py
in src/hypercorn/trio
11 1
summarise.py
in compliance/autobahn
9 -
__init__.py
in src/hypercorn
3 -
Files With Most Units (Top 34)
File# lines# units
config.py
in src/hypercorn
303 22
utils.py
in src/hypercorn
173 15
ws_stream.py
in src/hypercorn/protocol
335 9
typing.py
in src/hypercorn
246 8
h11.py
in src/hypercorn/protocol
275 8
logging.py
in src/hypercorn
172 6
run.py
in src/hypercorn/asyncio
190 6
h2.py
in src/hypercorn/protocol
341 5
worker_context.py
in src/hypercorn/trio
34 4
worker_context.py
in src/hypercorn/asyncio
34 4
app_wrappers.py
in src/hypercorn
142 4
udp_server.py
in src/hypercorn/asyncio
47 3
task_group.py
in src/hypercorn/asyncio
61 3
run.py
in src/hypercorn
111 3
tcp_server.py
in src/hypercorn/trio
130 2
task_group.py
in src/hypercorn/trio
66 2
quic.py
in src/hypercorn/protocol
118 2
http_stream.py
in src/hypercorn/protocol
186 2
__main__.py
in src/hypercorn
137 2
lifespan.py
in src/hypercorn/asyncio
86 2
tcp_server.py
in src/hypercorn/asyncio
135 2
proxy_fix.py
in src/hypercorn/middleware
62 2
wsgi.py
in src/hypercorn/middleware
33 2
http_to_https.py
in src/hypercorn/middleware
52 2
lifespan.py
in src/hypercorn/trio
83 1
udp_server.py
in src/hypercorn/trio
37 1
run.py
in src/hypercorn/trio
107 1
statsd.py
in src/hypercorn/trio
11 1
__init__.py
in src/hypercorn/protocol
84 1
events.py
in src/hypercorn/protocol
38 1
h3.py
in src/hypercorn/protocol
136 1
statsd.py
in src/hypercorn/asyncio
18 1
statsd.py
in src/hypercorn
74 1
dispatcher.py
in src/hypercorn/middleware
88 1
Files With Long Lines (Top 1)

There is only one file with lines longer than 120 characters. In total, there is only one long line.

File# lines# units# long lines
__main__.py
in src/hypercorn
137 2 1
Correlations

File Size vs. Commits (all time): 42 points

src/hypercorn/middleware/proxy_fix.py x: 2 commits (all time) y: 62 lines of code src/hypercorn/protocol/ws_stream.py x: 24 commits (all time) y: 335 lines of code src/hypercorn/__main__.py x: 16 commits (all time) y: 137 lines of code src/hypercorn/asyncio/run.py x: 27 commits (all time) y: 190 lines of code src/hypercorn/asyncio/worker_context.py x: 3 commits (all time) y: 34 lines of code src/hypercorn/config.py x: 32 commits (all time) y: 303 lines of code src/hypercorn/protocol/h11.py x: 27 commits (all time) y: 275 lines of code src/hypercorn/protocol/h2.py x: 19 commits (all time) y: 341 lines of code src/hypercorn/protocol/h3.py x: 10 commits (all time) y: 136 lines of code src/hypercorn/run.py x: 16 commits (all time) y: 111 lines of code src/hypercorn/trio/run.py x: 15 commits (all time) y: 107 lines of code src/hypercorn/typing.py x: 17 commits (all time) y: 246 lines of code src/hypercorn/utils.py x: 26 commits (all time) y: 173 lines of code src/hypercorn/app_wrappers.py x: 6 commits (all time) y: 142 lines of code src/hypercorn/middleware/__init__.py x: 4 commits (all time) y: 12 lines of code src/hypercorn/asyncio/tcp_server.py x: 32 commits (all time) y: 135 lines of code src/hypercorn/asyncio/__init__.py x: 8 commits (all time) y: 21 lines of code src/hypercorn/asyncio/task_group.py x: 9 commits (all time) y: 61 lines of code src/hypercorn/trio/__init__.py x: 8 commits (all time) y: 26 lines of code src/hypercorn/logging.py x: 28 commits (all time) y: 172 lines of code src/hypercorn/protocol/http_stream.py x: 18 commits (all time) y: 186 lines of code src/hypercorn/trio/tcp_server.py x: 18 commits (all time) y: 130 lines of code src/hypercorn/trio/task_group.py x: 4 commits (all time) y: 66 lines of code .readthedocs.yaml x: 2 commits (all time) y: 13 lines of code src/hypercorn/asyncio/lifespan.py x: 12 commits (all time) y: 86 lines of code src/hypercorn/trio/lifespan.py x: 13 commits (all time) y: 83 lines of code src/hypercorn/middleware/wsgi.py x: 12 commits (all time) y: 33 lines of code compliance/autobahn/server.py x: 11 commits (all time) y: 18 lines of code compliance/h2spec/server.py x: 9 commits (all time) y: 24 lines of code src/hypercorn/asyncio/udp_server.py x: 11 commits (all time) y: 47 lines of code src/hypercorn/middleware/dispatcher.py x: 10 commits (all time) y: 88 lines of code src/hypercorn/middleware/http_to_https.py x: 6 commits (all time) y: 52 lines of code src/hypercorn/protocol/__init__.py x: 10 commits (all time) y: 84 lines of code src/hypercorn/protocol/quic.py x: 10 commits (all time) y: 118 lines of code src/hypercorn/trio/udp_server.py x: 10 commits (all time) y: 37 lines of code src/hypercorn/protocol/events.py x: 4 commits (all time) y: 38 lines of code src/hypercorn/statsd.py x: 6 commits (all time) y: 74 lines of code src/hypercorn/events.py x: 4 commits (all time) y: 16 lines of code src/hypercorn/__init__.py x: 4 commits (all time) y: 3 lines of code src/hypercorn/asyncio/statsd.py x: 3 commits (all time) y: 18 lines of code
341.0
lines of code
  min: 3.0
  average: 101.86
  25th percentile: 31.25
  median: 78.5
  75th percentile: 138.25
  max: 341.0
0 32.0
commits (all time)
min: 2.0 | average: 12.21 | 25th percentile: 4.0 | median: 10.0 | 75th percentile: 17.25 | max: 32.0

File Size vs. Contributors (all time): 42 points

src/hypercorn/middleware/proxy_fix.py x: 2 contributors (all time) y: 62 lines of code src/hypercorn/protocol/ws_stream.py x: 4 contributors (all time) y: 335 lines of code src/hypercorn/__main__.py x: 5 contributors (all time) y: 137 lines of code src/hypercorn/asyncio/run.py x: 3 contributors (all time) y: 190 lines of code src/hypercorn/asyncio/worker_context.py x: 2 contributors (all time) y: 34 lines of code src/hypercorn/config.py x: 6 contributors (all time) y: 303 lines of code src/hypercorn/protocol/h11.py x: 6 contributors (all time) y: 275 lines of code src/hypercorn/protocol/h2.py x: 2 contributors (all time) y: 341 lines of code src/hypercorn/protocol/h3.py x: 2 contributors (all time) y: 136 lines of code src/hypercorn/run.py x: 5 contributors (all time) y: 111 lines of code src/hypercorn/trio/run.py x: 3 contributors (all time) y: 107 lines of code src/hypercorn/typing.py x: 3 contributors (all time) y: 246 lines of code src/hypercorn/utils.py x: 5 contributors (all time) y: 173 lines of code src/hypercorn/app_wrappers.py x: 1 contributors (all time) y: 142 lines of code src/hypercorn/middleware/__init__.py x: 1 contributors (all time) y: 12 lines of code src/hypercorn/asyncio/tcp_server.py x: 5 contributors (all time) y: 135 lines of code src/hypercorn/asyncio/__init__.py x: 2 contributors (all time) y: 21 lines of code src/hypercorn/asyncio/task_group.py x: 1 contributors (all time) y: 61 lines of code src/hypercorn/trio/__init__.py x: 2 contributors (all time) y: 26 lines of code src/hypercorn/logging.py x: 4 contributors (all time) y: 172 lines of code src/hypercorn/protocol/http_stream.py x: 1 contributors (all time) y: 186 lines of code src/hypercorn/trio/tcp_server.py x: 3 contributors (all time) y: 130 lines of code src/hypercorn/trio/task_group.py x: 1 contributors (all time) y: 66 lines of code .readthedocs.yaml x: 1 contributors (all time) y: 13 lines of code src/hypercorn/asyncio/lifespan.py x: 2 contributors (all time) y: 86 lines of code src/hypercorn/trio/lifespan.py x: 2 contributors (all time) y: 83 lines of code src/hypercorn/middleware/wsgi.py x: 1 contributors (all time) y: 33 lines of code compliance/autobahn/server.py x: 1 contributors (all time) y: 18 lines of code compliance/h2spec/server.py x: 1 contributors (all time) y: 24 lines of code src/hypercorn/asyncio/udp_server.py x: 3 contributors (all time) y: 47 lines of code src/hypercorn/middleware/dispatcher.py x: 1 contributors (all time) y: 88 lines of code src/hypercorn/middleware/http_to_https.py x: 1 contributors (all time) y: 52 lines of code src/hypercorn/protocol/__init__.py x: 1 contributors (all time) y: 84 lines of code src/hypercorn/protocol/quic.py x: 3 contributors (all time) y: 118 lines of code src/hypercorn/trio/udp_server.py x: 3 contributors (all time) y: 37 lines of code src/hypercorn/protocol/events.py x: 1 contributors (all time) y: 38 lines of code src/hypercorn/statsd.py x: 1 contributors (all time) y: 74 lines of code src/hypercorn/events.py x: 1 contributors (all time) y: 16 lines of code src/hypercorn/__init__.py x: 1 contributors (all time) y: 3 lines of code src/hypercorn/trio/statsd.py x: 2 contributors (all time) y: 11 lines of code
341.0
lines of code
  min: 3.0
  average: 101.86
  25th percentile: 31.25
  median: 78.5
  75th percentile: 138.25
  max: 341.0
0 6.0
contributors (all time)
min: 1.0 | average: 2.33 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 6.0

File Size vs. Commits (30 days): 0 points

No data for "commits (30d)" vs. "lines of code".

File Size vs. Contributors (30 days): 0 points

No data for "contributors (30d)" vs. "lines of code".


File Size vs. Commits (90 days): 0 points

No data for "commits (90d)" vs. "lines of code".

File Size vs. Contributors (90 days): 0 points

No data for "contributors (90d)" vs. "lines of code".