{"id":371536,"url":"https://github.com/python-trio/trio-websocket","last_synced_at":"2026-06-16T03:30:54.284Z","repository":{"id":45079920,"uuid":"146345539","full_name":"python-trio/trio-websocket","owner":"python-trio","description":"WebSocket client and server implementation for Python Trio","archived":false,"fork":false,"pushed_at":"2025-10-21T16:42:38.000Z","size":342,"stargazers_count":81,"open_issues_count":21,"forks_count":33,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-06-09T14:27:26.491Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-trio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"python-trio","open_collective":"python-trio"}},"created_at":"2018-08-27T19:42:15.000Z","updated_at":"2026-06-05T11:51:00.000Z","dependencies_parsed_at":"2023-11-06T20:59:30.959Z","dependency_job_id":null,"html_url":"https://github.com/python-trio/trio-websocket","commit_stats":{"total_commits":219,"total_committers":12,"mean_commits":18.25,"dds":0.5205479452054795,"last_synced_commit":"6a004bbf4749791e89f15f57cb2aced2c442246f"},"previous_names":["python-trio/trio-websocket","hyperiongray/trio-websocket"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/python-trio/trio-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-trio%2Ftrio-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-trio%2Ftrio-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-trio%2Ftrio-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-trio%2Ftrio-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-trio","download_url":"https://codeload.github.com/python-trio/trio-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-trio%2Ftrio-websocket/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34215884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":null,"packages":null,"commits":null,"issues":{"table":{}},"events":null,"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements-dev.in","sha":null,"kind":"manifest","created_at":"2022-09-26T17:31:02.257Z","updated_at":"2022-09-26T17:31:02.257Z","repository_link":"https://github.com/python-trio/trio-websocket/blob/master/requirements-dev.in","dependencies":[{"id":6135927055,"package_name":"attrs","ecosystem":"pypi","requirements":"\u003e=19.2.0","direct":true,"kind":"development","optional":false},{"id":6135927056,"package_name":"coveralls","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927057,"package_name":"pip-tools","ecosystem":"pypi","requirements":"\u003e=5.5.0","direct":true,"kind":"development","optional":false},{"id":6135927058,"package_name":"pylint","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927059,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=4.6","direct":true,"kind":"development","optional":false},{"id":6135927060,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927061,"package_name":"pytest-trio","ecosystem":"pypi","requirements":"\u003e=0.5.0","direct":true,"kind":"development","optional":false},{"id":6135927062,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927063,"package_name":"sphinxcontrib-trio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927064,"package_name":"sphinx_rtd_theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927065,"package_name":"trio","ecosystem":"pypi","requirements":"\u003e=0.14.0","direct":true,"kind":"development","optional":false},{"id":6135927066,"package_name":"trustme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":6135927067,"package_name":"twine","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-dev.txt","sha":null,"kind":"manifest","created_at":"2022-09-26T17:31:02.398Z","updated_at":"2022-09-26T17:31:02.398Z","repository_link":"https://github.com/python-trio/trio-websocket/blob/master/requirements-dev.txt","dependencies":[{"id":6135927082,"package_name":"alabaster","ecosystem":"pypi","requirements":"==0.7.12","direct":true,"kind":"development","optional":false},{"id":6135927083,"package_name":"astroid","ecosystem":"pypi","requirements":"==2.9.3","direct":true,"kind":"development","optional":false},{"id":6135927084,"package_name":"async-generator","ecosystem":"pypi","requirements":"==1.10","direct":true,"kind":"development","optional":false},{"id":6135927085,"package_name":"attrs","ecosystem":"pypi","requirements":"==21.4.0","direct":true,"kind":"development","optional":false},{"id":6135927086,"package_name":"babel","ecosystem":"pypi","requirements":"==2.9.1","direct":true,"kind":"development","optional":false},{"id":6135927087,"package_name":"bleach","ecosystem":"pypi","requirements":"==4.1.0","direct":true,"kind":"development","optional":false},{"id":6135927088,"package_name":"certifi","ecosystem":"pypi","requirements":"==2021.10.8","direct":true,"kind":"development","optional":false},{"id":6135927089,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"development","optional":false},{"id":6135927090,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.0.10","direct":true,"kind":"development","optional":false},{"id":6135927091,"package_name":"click","ecosystem":"pypi","requirements":"==8.0.3","direct":true,"kind":"development","optional":false},{"id":6135927092,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.4","direct":true,"kind":"development","optional":false},{"id":6135927093,"package_name":"contextvars","ecosystem":"pypi","requirements":"==2.4","direct":true,"kind":"development","optional":false},{"id":6135927094,"package_name":"coverage","ecosystem":"pypi","requirements":"==6.2","direct":true,"kind":"development","optional":false},{"id":6135927095,"package_name":"coveralls","ecosystem":"pypi","requirements":"==3.3.1","direct":true,"kind":"development","optional":false},{"id":6135927096,"package_name":"cryptography","ecosystem":"pypi","requirements":"==3.3.2","direct":true,"kind":"development","optional":false},{"id":6135927097,"package_name":"docopt","ecosystem":"pypi","requirements":"==0.6.2","direct":true,"kind":"development","optional":false},{"id":6135927098,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.17.1","direct":true,"kind":"development","optional":false},{"id":6135927099,"package_name":"h11","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"development","optional":false},{"id":6135927100,"package_name":"idna","ecosystem":"pypi","requirements":"==3.3","direct":true,"kind":"development","optional":false},{"id":6135927101,"package_name":"imagesize","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"development","optional":false},{"id":6135927102,"package_name":"immutables","ecosystem":"pypi","requirements":"==0.16","direct":true,"kind":"development","optional":false},{"id":6135927103,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==4.8.3","direct":true,"kind":"development","optional":false},{"id":6135927104,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"development","optional":false},{"id":6135927105,"package_name":"isort","ecosystem":"pypi","requirements":"==5.10.1","direct":true,"kind":"development","optional":false},{"id":6135927106,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"development","optional":false},{"id":6135927107,"package_name":"keyring","ecosystem":"pypi","requirements":"==23.4.1","direct":true,"kind":"development","optional":false},{"id":6135927108,"package_name":"lazy-object-proxy","ecosystem":"pypi","requirements":"==1.7.1","direct":true,"kind":"development","optional":false},{"id":6135927109,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"development","optional":false},{"id":6135927110,"package_name":"mccabe","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"development","optional":false},{"id":6135927111,"package_name":"outcome","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"development","optional":false},{"id":6135927112,"package_name":"packaging","ecosystem":"pypi","requirements":"==21.3","direct":true,"kind":"development","optional":false},{"id":6135927113,"package_name":"pep517","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"development","optional":false},{"id":6135927114,"package_name":"pip-tools","ecosystem":"pypi","requirements":"==6.4.0","direct":true,"kind":"development","optional":false},{"id":6135927115,"package_name":"pkginfo","ecosystem":"pypi","requirements":"==1.8.2","direct":true,"kind":"development","optional":false},{"id":6135927116,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"development","optional":false},{"id":6135927117,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"development","optional":false},{"id":6135927118,"package_name":"py","ecosystem":"pypi","requirements":"==1.11.0","direct":true,"kind":"development","optional":false},{"id":6135927119,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.21","direct":true,"kind":"development","optional":false},{"id":6135927120,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.11.2","direct":true,"kind":"development","optional":false},{"id":6135927121,"package_name":"pylint","ecosystem":"pypi","requirements":"==2.12.2","direct":true,"kind":"development","optional":false},{"id":6135927122,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.6","direct":true,"kind":"development","optional":false},{"id":6135927123,"package_name":"pytest","ecosystem":"pypi","requirements":"==6.2.5","direct":true,"kind":"development","optional":false},{"id":6135927124,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"development","optional":false},{"id":6135927125,"package_name":"pytest-trio","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"development","optional":false},{"id":6135927126,"package_name":"pytz","ecosystem":"pypi","requirements":"==2021.3","direct":true,"kind":"development","optional":false},{"id":6135927127,"package_name":"readme-renderer","ecosystem":"pypi","requirements":"==32.0","direct":true,"kind":"development","optional":false},{"id":6135927128,"package_name":"requests","ecosystem":"pypi","requirements":"==2.27.1","direct":true,"kind":"development","optional":false},{"id":6135927129,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"development","optional":false},{"id":6135927130,"package_name":"rfc3986","ecosystem":"pypi","requirements":"==1.5.0","direct":true,"kind":"development","optional":false},{"id":6135927131,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"development","optional":false},{"id":6135927132,"package_name":"sniffio","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"development","optional":false},{"id":6135927133,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"==2.2.0","direct":true,"kind":"development","optional":false},{"id":6135927134,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"development","optional":false},{"id":6135927135,"package_name":"sphinx","ecosystem":"pypi","requirements":"==4.3.2","direct":true,"kind":"development","optional":false},{"id":6135927136,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"development","optional":false},{"id":6135927137,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"development","optional":false},{"id":6135927138,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"development","optional":false},{"id":6135927139,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":6135927140,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"development","optional":false},{"id":6135927141,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"development","optional":false},{"id":6135927142,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==1.1.5","direct":true,"kind":"development","optional":false},{"id":6135927143,"package_name":"sphinxcontrib-trio","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"development","optional":false},{"id":6135927144,"package_name":"toml","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"development","optional":false},{"id":6135927145,"package_name":"tomli","ecosystem":"pypi","requirements":"==1.2.3","direct":true,"kind":"development","optional":false},{"id":6135927146,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.62.3","direct":true,"kind":"development","optional":false},{"id":6135927147,"package_name":"trio","ecosystem":"pypi","requirements":"==0.19.0","direct":true,"kind":"development","optional":false},{"id":6135927148,"package_name":"trustme","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"development","optional":false},{"id":6135927149,"package_name":"twine","ecosystem":"pypi","requirements":"==3.7.1","direct":true,"kind":"development","optional":false},{"id":6135927150,"package_name":"typed-ast","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"development","optional":false},{"id":6135927151,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.0.1","direct":true,"kind":"development","optional":false},{"id":6135927152,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.8","direct":true,"kind":"development","optional":false},{"id":6135927153,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"development","optional":false},{"id":6135927154,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.37.1","direct":true,"kind":"development","optional":false},{"id":6135927155,"package_name":"wrapt","ecosystem":"pypi","requirements":"==1.13.3","direct":true,"kind":"development","optional":false},{"id":6135927156,"package_name":"wsproto","ecosystem":"pypi","requirements":"==0.15.0","direct":true,"kind":"development","optional":false},{"id":6135927157,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.6.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-26T17:31:02.678Z","updated_at":"2022-09-26T17:31:02.678Z","repository_link":"https://github.com/python-trio/trio-websocket/blob/master/setup.py","dependencies":[{"id":6135927231,"package_name":"async_generator","ecosystem":"pypi","requirements":"\u003e=1.10","direct":true,"kind":"runtime","optional":false},{"id":6135927232,"package_name":"trio","ecosystem":"pypi","requirements":"\u003e=0.11","direct":true,"kind":"runtime","optional":false},{"id":6135927233,"package_name":"wsproto","ecosystem":"pypi","requirements":"\u003e=0.14","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-11-06T20:59:30.829Z","updated_at":"2023-11-06T20:59:30.829Z","repository_link":"https://github.com/python-trio/trio-websocket/blob/master/.github/workflows/ci.yml","dependencies":[{"id":14328089491,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14328089492,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-dev-full.txt","sha":null,"kind":"lockfile","created_at":"2023-11-06T20:59:30.850Z","updated_at":"2023-11-06T20:59:30.850Z","repository_link":"https://github.com/python-trio/trio-websocket/blob/master/requirements-dev-full.txt","dependencies":[{"id":14328089493,"package_name":"alabaster","ecosystem":"pypi","requirements":"==0.7.13","direct":false,"kind":"development","optional":false},{"id":14328089494,"package_name":"astroid","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"development","optional":false},{"id":14328089495,"package_name":"async-generator","ecosystem":"pypi","requirements":"==1.10","direct":false,"kind":"development","optional":false},{"id":14328089496,"package_name":"attrs","ecosystem":"pypi","requirements":"==22.2.0","direct":false,"kind":"development","optional":false},{"id":14328089497,"package_name":"babel","ecosystem":"pypi","requirements":"==2.12.1","direct":false,"kind":"development","optional":false},{"id":14328089498,"package_name":"bleach","ecosystem":"pypi","requirements":"==6.0.0","direct":false,"kind":"development","optional":false},{"id":14328089499,"package_name":"build","ecosystem":"pypi","requirements":"==0.10.0","direct":false,"kind":"development","optional":false},{"id":14328089500,"package_name":"certifi","ecosystem":"pypi","requirements":"==2022.12.7","direct":false,"kind":"development","optional":false},{"id":14328089501,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.1","direct":false,"kind":"development","optional":false},{"id":14328089502,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.1.0","direct":false,"kind":"development","optional":false},{"id":14328089503,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.3","direct":false,"kind":"development","optional":false},{"id":14328089504,"package_name":"coverage","ecosystem":"pypi","requirements":"==7.2.1","direct":false,"kind":"development","optional":false},{"id":14328089505,"package_name":"cryptography","ecosystem":"pypi","requirements":"==39.0.2","direct":false,"kind":"development","optional":false},{"id":14328089506,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.7","direct":false,"kind":"development","optional":false},{"id":14328089507,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.18.1","direct":false,"kind":"development","optional":false},{"id":14328089508,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"==1.1.3","direct":false,"kind":"development","optional":false},{"id":14328089509,"package_name":"h11","ecosystem":"pypi","requirements":"==0.14.0","direct":false,"kind":"development","optional":false},{"id":14328089510,"package_name":"idna","ecosystem":"pypi","requirements":"==3.4","direct":false,"kind":"development","optional":false},{"id":14328089511,"package_name":"imagesize","ecosystem":"pypi","requirements":"==1.4.1","direct":false,"kind":"development","optional":false},{"id":14328089512,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==6.0.0","direct":false,"kind":"development","optional":false},{"id":14328089513,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"==6.1.0","direct":false,"kind":"development","optional":false},{"id":14328089514,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"development","optional":false},{"id":14328089515,"package_name":"isort","ecosystem":"pypi","requirements":"==5.11.5","direct":false,"kind":"development","optional":false},{"id":14328089516,"package_name":"jaraco-classes","ecosystem":"pypi","requirements":"==3.2.3","direct":false,"kind":"development","optional":false},{"id":14328089517,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":false,"kind":"development","optional":false},{"id":14328089518,"package_name":"keyring","ecosystem":"pypi","requirements":"==23.13.1","direct":false,"kind":"development","optional":false},{"id":14328089519,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"==2.2.0","direct":false,"kind":"development","optional":false},{"id":14328089520,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==2.1.2","direct":false,"kind":"development","optional":false},{"id":14328089521,"package_name":"mccabe","ecosystem":"pypi","requirements":"==0.7.0","direct":false,"kind":"development","optional":false},{"id":14328089522,"package_name":"mdurl","ecosystem":"pypi","requirements":"==0.1.2","direct":false,"kind":"development","optional":false},{"id":14328089523,"package_name":"more-itertools","ecosystem":"pypi","requirements":"==9.1.0","direct":false,"kind":"development","optional":false},{"id":14328089524,"package_name":"outcome","ecosystem":"pypi","requirements":"==1.2.0","direct":false,"kind":"development","optional":false},{"id":14328089525,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.0","direct":false,"kind":"development","optional":false},{"id":14328089526,"package_name":"pip-tools","ecosystem":"pypi","requirements":"==6.14.0","direct":false,"kind":"development","optional":false},{"id":14328089527,"package_name":"pkginfo","ecosystem":"pypi","requirements":"==1.9.6","direct":false,"kind":"development","optional":false},{"id":14328089528,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==3.1.1","direct":false,"kind":"development","optional":false},{"id":14328089529,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.0.0","direct":false,"kind":"development","optional":false},{"id":14328089530,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.21","direct":false,"kind":"development","optional":false},{"id":14328089531,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.14.0","direct":false,"kind":"development","optional":false},{"id":14328089532,"package_name":"pylint","ecosystem":"pypi","requirements":"==3.0.0a7","direct":false,"kind":"development","optional":false},{"id":14328089533,"package_name":"pyproject-hooks","ecosystem":"pypi","requirements":"==1.0.0","direct":false,"kind":"development","optional":false},{"id":14328089534,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.4.2","direct":false,"kind":"development","optional":false},{"id":14328089535,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==4.0.0","direct":false,"kind":"development","optional":false},{"id":14328089536,"package_name":"pytest-trio","ecosystem":"pypi","requirements":"==0.8.0","direct":false,"kind":"development","optional":false},{"id":14328089537,"package_name":"pytz","ecosystem":"pypi","requirements":"==2023.3.post1","direct":false,"kind":"development","optional":false},{"id":14328089538,"package_name":"readme-renderer","ecosystem":"pypi","requirements":"==37.3","direct":false,"kind":"development","optional":false},{"id":14328089539,"package_name":"requests","ecosystem":"pypi","requirements":"==2.28.2","direct":false,"kind":"development","optional":false},{"id":14328089540,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"==0.10.1","direct":false,"kind":"development","optional":false},{"id":14328089541,"package_name":"rfc3986","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"development","optional":false},{"id":14328089542,"package_name":"rich","ecosystem":"pypi","requirements":"==13.3.2","direct":false,"kind":"development","optional":false},{"id":14328089543,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"development","optional":false},{"id":14328089544,"package_name":"sniffio","ecosystem":"pypi","requirements":"==1.3.0","direct":false,"kind":"development","optional":false},{"id":14328089545,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"==2.2.0","direct":false,"kind":"development","optional":false},{"id":14328089546,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"==2.4.0","direct":false,"kind":"development","optional":false},{"id":14328089547,"package_name":"sphinx","ecosystem":"pypi","requirements":"==5.3.0","direct":false,"kind":"development","optional":false},{"id":14328089548,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==1.2.0","direct":false,"kind":"development","optional":false},{"id":14328089549,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==1.0.2","direct":false,"kind":"development","optional":false},{"id":14328089550,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==1.0.2","direct":false,"kind":"development","optional":false},{"id":14328089551,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"development","optional":false},{"id":14328089552,"package_name":"sphinxcontrib-jquery","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"development","optional":false},{"id":14328089553,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":false,"kind":"development","optional":false},{"id":14328089554,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==1.0.3","direct":false,"kind":"development","optional":false},{"id":14328089555,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==1.1.5","direct":false,"kind":"development","optional":false},{"id":14328089556,"package_name":"sphinxcontrib-trio","ecosystem":"pypi","requirements":"==1.1.2","direct":false,"kind":"development","optional":false},{"id":14328089557,"package_name":"tomli","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"development","optional":false},{"id":14328089558,"package_name":"tomlkit","ecosystem":"pypi","requirements":"==0.11.6","direct":false,"kind":"development","optional":false},{"id":14328089559,"package_name":"trio","ecosystem":"pypi","requirements":"==0.22.0","direct":false,"kind":"development","optional":false},{"id":14328089560,"package_name":"trustme","ecosystem":"pypi","requirements":"==0.9.0","direct":false,"kind":"development","optional":false},{"id":14328089561,"package_name":"twine","ecosystem":"pypi","requirements":"==4.0.2","direct":false,"kind":"development","optional":false},{"id":14328089562,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.8.0","direct":false,"kind":"development","optional":false},{"id":14328089563,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.15","direct":false,"kind":"development","optional":false},{"id":14328089564,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":false,"kind":"development","optional":false},{"id":14328089565,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.38.4","direct":false,"kind":"development","optional":false},{"id":14328089566,"package_name":"wsproto","ecosystem":"pypi","requirements":"==1.2.0","direct":false,"kind":"development","optional":false},{"id":14328089567,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.15.0","direct":false,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-extras.in","sha":null,"kind":"manifest","created_at":"2023-11-06T20:59:30.928Z","updated_at":"2023-11-06T20:59:30.928Z","repository_link":"https://github.com/python-trio/trio-websocket/blob/master/requirements-extras.in","dependencies":[{"id":14328089568,"package_name":"pylint","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14328089569,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14328089570,"package_name":"sphinxcontrib-trio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14328089571,"package_name":"sphinx_rtd_theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14328089572,"package_name":"twine","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":4.624972813284271,"created_at":"2026-05-04T06:42:40.977Z","updated_at":"2026-06-16T03:30:54.284Z","avatar_url":"https://github.com/python-trio.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/371536","html_url":"https://summary.ecosyste.ms/projects/371536"}