René's URL Explorer Experiment


Title: Add support for asynchronously handling requests by ferozco · Pull Request #260 · palantir/python-language-server · GitHub

Open Graph Title: Add support for asynchronously handling requests by ferozco · Pull Request #260 · palantir/python-language-server

X Title: Add support for asynchronously handling requests by ferozco · Pull Request #260 · palantir/python-language-server

Description: An implementation of the Language Server Protocol for Python - Add support for asynchronously handling requests by ferozco · Pull Request #260 · palantir/python-language-server

Open Graph Description: Previously we had a single thread that would handle and subsequently respond to each message in order. This presented performance problems since long running handlers would cause the server to hang...

X Description: Previously we had a single thread that would handle and subsequently respond to each message in order. This presented performance problems since long running handlers would cause the server to hang...

Opengraph URL: https://github.com/palantir/python-language-server/pull/260

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:23117e81-01f4-6152-d6e8-609c485643cf
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8CE4:1B9505:906F9F8:C29C2EC:6A5E604B
html-safe-nonced8d03d5a5a23a12b60be062ea2dd3771887b1a892f33aa274be22cf902e9de1e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4Q0U0OjFCOTUwNTo5MDZGOUY4OkMyOUMyRUM6NkE1RTYwNEIiLCJ2aXNpdG9yX2lkIjoiODY0MzE1NTg5NTc4MTMxODczMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac5454d7d2af3d1ffa2c086fd6e4bd9c0227647f0e388c54cb48645c0e0375e41c
hovercard-subject-tagpull_request:169120325
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/palantir/python-language-server/260/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/4fb5f30d9d973ba3a5352496ece861b6ce342ad18a1e75461ef6706acdf0fdab/palantir/python-language-server/pull/260
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/4fb5f30d9d973ba3a5352496ece861b6ce342ad18a1e75461ef6706acdf0fdab/palantir/python-language-server/pull/260
og:image:altPreviously we had a single thread that would handle and subsequently respond to each message in order. This presented performance problems since long running handlers would cause the server to hang...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameferozco
hostnamegithub.com
expected-hostnamegithub.com
None5684292e6b02f9c72a31f9bc29d1fa47afbeda5424e76fb5f0b7c08766757177
turbo-cache-controlno-cache
go-importgithub.com/palantir/python-language-server git https://github.com/palantir/python-language-server.git
octolytics-dimension-user_id303157
octolytics-dimension-user_loginpalantir
octolytics-dimension-repository_id78797564
octolytics-dimension-repository_nwopalantir/python-language-server
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id78797564
octolytics-dimension-repository_network_root_nwopalantir/python-language-server
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
released151d247da13e8abadf6fd7f5a5f8659dae9a8d0
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/palantir/python-language-server/pull/260#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpalantir%2Fpython-language-server%2Fpull%2F260
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpalantir%2Fpython-language-server%2Fpull%2F260
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=palantir%2Fpython-language-server
Reloadhttps://github.com/palantir/python-language-server/pull/260
Reloadhttps://github.com/palantir/python-language-server/pull/260
Reloadhttps://github.com/palantir/python-language-server/pull/260
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
palantir https://github.com/palantir
python-language-serverhttps://github.com/palantir/python-language-server
Notifications https://github.com/login?return_to=%2Fpalantir%2Fpython-language-server
Fork 290 https://github.com/login?return_to=%2Fpalantir%2Fpython-language-server
Star 2.7k https://github.com/login?return_to=%2Fpalantir%2Fpython-language-server
Code https://github.com/palantir/python-language-server
Issues 160 https://github.com/palantir/python-language-server/issues
Pull requests 27 https://github.com/palantir/python-language-server/pulls
Actions https://github.com/palantir/python-language-server/actions
Security and quality 0 https://github.com/palantir/python-language-server/security
Insights https://github.com/palantir/python-language-server/pulse
Code https://github.com/palantir/python-language-server
Issues https://github.com/palantir/python-language-server/issues
Pull requests https://github.com/palantir/python-language-server/pulls
Actions https://github.com/palantir/python-language-server/actions
Security and quality https://github.com/palantir/python-language-server/security
Insights https://github.com/palantir/python-language-server/pulse
ferozcohttps://github.com/ferozco
palantir:develophttps://github.com/palantir/python-language-server/tree/develop
ferozco:fo/futureshttps://github.com/ferozco/python-language-server/tree/fo/futures
Conversationhttps://github.com/palantir/python-language-server/pull/260
Commits6 (6)https://github.com/palantir/python-language-server/pull/260/commits
Checkshttps://github.com/palantir/python-language-server/pull/260/checks
Files changedhttps://github.com/palantir/python-language-server/pull/260/files
Add support for asynchronously handling requestshttps://github.com/palantir/python-language-server/pull/260#top
ferozcohttps://github.com/ferozco
palantir:develophttps://github.com/palantir/python-language-server/tree/develop
ferozco:fo/futureshttps://github.com/ferozco/python-language-server/tree/fo/futures
https://github.com/ferozco
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#issue-297109764
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
February 13, 2018 15:35https://github.com/palantir/python-language-server/pull/260#commits-pushed-11c11f2
WIPhttps://github.com/palantir/python-language-server/pull/260/commits/11c11f2122f0be3e79c90fce29b81b528e9f104d
11c11f2https://github.com/palantir/python-language-server/pull/260/commits/11c11f2122f0be3e79c90fce29b81b528e9f104d
cleanuphttps://github.com/palantir/python-language-server/pull/260/commits/51b11ab8efd9294a864f8181412880cb5501b566
51b11abhttps://github.com/palantir/python-language-server/pull/260/commits/51b11ab8efd9294a864f8181412880cb5501b566
https://github.com/ferozco
Merge branch 'develop' into fo/futureshttps://github.com/palantir/python-language-server/pull/260/commits/4036b4377d39bd5cb2036111df64cf43ccc53746
4036b43https://github.com/palantir/python-language-server/pull/260/commits/4036b4377d39bd5cb2036111df64cf43ccc53746
more testshttps://github.com/palantir/python-language-server/pull/260/commits/2e746a5997456eb4790e1e969a287eecb4deb567
2e746a5https://github.com/palantir/python-language-server/pull/260/commits/2e746a5997456eb4790e1e969a287eecb4deb567
https://github.com/gatesn
gatesnhttps://github.com/gatesn
Feb 14, 2018 https://github.com/palantir/python-language-server/pull/260#pullrequestreview-96568221
View reviewed changes https://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567
gatesnhttps://github.com/gatesn
https://github.com/palantir/python-language-server/pull/260#pullrequestreview-96568221
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/message_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-9c40611566fd4d918128d72f0ee5018ddd1a7d14d094a15a1ef5ac65648ede77
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168234084
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/message_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-9c40611566fd4d918128d72f0ee5018ddd1a7d14d094a15a1ef5ac65648ede77
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168234276
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/message_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-9c40611566fd4d918128d72f0ee5018ddd1a7d14d094a15a1ef5ac65648ede77
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168234491
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/message_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-9c40611566fd4d918128d72f0ee5018ddd1a7d14d094a15a1ef5ac65648ede77
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168235399
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168309065
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/message_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-9c40611566fd4d918128d72f0ee5018ddd1a7d14d094a15a1ef5ac65648ede77
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168235653
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168309820
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/rpc_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-a7b5835fce51264afbd4dfa91924afbed29aac9e986dc1386c8df18e3a7d7ca7
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168274638
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168320750
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
evandrocoanhttps://github.com/evandrocoan
Feb 16, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168798332
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
http://wiki.c2.com/?PrematureOptimizationhttp://wiki.c2.com/?PrematureOptimization
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
pyls/workspace.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-44176b48d121d1238b97e83c37b4cb29c0c070a2345ca72ab193cc287311546f
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168274811
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168320880
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
test/fixtures.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-287fb0a9b62ce332dd2ad5563805a3c6a4b31ca7ec6dc22a62b2c37a4ee338fa
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168275233
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
test/fixtures.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-287fb0a9b62ce332dd2ad5563805a3c6a4b31ca7ec6dc22a62b2c37a4ee338fa
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168275278
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168320963
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
test/test_rpc_manager.pyhttps://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567#diff-649f9437826de7c6e32594f46e066d13d9905efd5f59092e9b2b5084b15a9cf7
gatesnhttps://github.com/gatesn
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168275353
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
ferozcohttps://github.com/ferozco
Feb 14, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168321260
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
evandrocoanhttps://github.com/evandrocoan
Feb 16, 2018https://github.com/palantir/python-language-server/pull/260#discussion_r168795933
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
February 14, 2018 22:14https://github.com/palantir/python-language-server/pull/260#commits-pushed-b554a86
address commentshttps://github.com/palantir/python-language-server/pull/260/commits/b554a86faeb1c7d914d8790909173766ebaf150c
b554a86https://github.com/palantir/python-language-server/pull/260/commits/b554a86faeb1c7d914d8790909173766ebaf150c
https://github.com/gatesn
Linehttps://github.com/palantir/python-language-server/pull/260/commits/07eca5510241320b190a34409f8d8b5dc0422ad6
07eca55https://github.com/palantir/python-language-server/pull/260/commits/07eca5510241320b190a34409f8d8b5dc0422ad6
https://github.com/ferozco
ferozcohttps://github.com/ferozco
Feb 15, 2018https://github.com/palantir/python-language-server/pull/260#event-1475608182
https://github.com/ferozco
ferozcohttps://github.com/ferozco
Feb 16, 2018https://github.com/palantir/python-language-server/pull/260#issuecomment-366285329
@evandrocoanhttps://github.com/evandrocoan
#261https://github.com/palantir/python-language-server/pull/261
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
https://github.co/hiddenchars
https://github.com/palantir/python-language-server/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpalantir%2Fpython-language-server%2Fpull%2F260
https://github.com/gatesn
gatesn https://github.com/gatesn
https://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567
https://github.com/evandrocoan
evandrocoan https://github.com/evandrocoan
https://github.com/palantir/python-language-server/pull/260/files/2e746a5997456eb4790e1e969a287eecb4deb567
Please reload this pagehttps://github.com/palantir/python-language-server/pull/260
https://github.com/ferozco
https://github.com/gatesn
https://github.com/evandrocoan
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.