René's URL Explorer Experiment


Title: py.typed and type comments by Avasam · Pull Request #251 · python-xlib/python-xlib · GitHub

Open Graph Title: py.typed and type comments by Avasam · Pull Request #251 · python-xlib/python-xlib

X Title: py.typed and type comments by Avasam · Pull Request #251 · python-xlib/python-xlib

Description: Added type comments as per PEP 561 to type all public API while staying Python 2 compatible. (type definitions only need to be compatible with non EOL python versions. Using type comments instead of inline-types allows the code to still run on Python 2) Added a py.typed marker to let type checkers know that this package provides its own types. And to not look for external type-stubs. Some dynamic types (like Struct, Request, Event, ...) are naturally incomplete, but this was more than enough for my needs. And would add a lot of complexity to support. For this to be as accurate as possible, the following should also be looked at: #222 / #242 #244 #247 #248 #249 #250

Open Graph Description: Added type comments as per PEP 561 to type all public API while staying Python 2 compatible. (type definitions only need to be compatible with non EOL python versions. Using type comments instead o...

X Description: Added type comments as per PEP 561 to type all public API while staying Python 2 compatible. (type definitions only need to be compatible with non EOL python versions. Using type comments instead o...

Opengraph URL: https://github.com/python-xlib/python-xlib/pull/251

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:16ed53ff-3d8b-6c94-7383-e8ac8ea700a6
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE534:385F9F:8AF37C:C0A2FD:696A81EA
html-safe-nonce39923bd0819845c5f97d9a01a032368fae172546c9c0e8366b467b4d4c17c00d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNTM0OjM4NUY5Rjo4QUYzN0M6QzBBMkZEOjY5NkE4MUVBIiwidmlzaXRvcl9pZCI6IjE1ODQwNzk1MDM1NTU3MjM3NTQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac4b2f0d3e5847742b7d049856687fe884c1a209681c62796183f5d4cac06417f9
hovercard-subject-tagpull_request:1125293455
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///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python-xlib/python-xlib/pull/251/files
twitter:imagehttps://avatars.githubusercontent.com/u/1350584?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1350584?s=400&v=4
og:image:altAdded type comments as per PEP 561 to type all public API while staying Python 2 compatible. (type definitions only need to be compatible with non EOL python versions. Using type comments instead o...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None913560fa317c3c5a71e34f9b19253c9f09d02b4b958a86c2a56f4c8541116377
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python-xlib/python-xlib git https://github.com/python-xlib/python-xlib.git
octolytics-dimension-user_id16151530
octolytics-dimension-user_loginpython-xlib
octolytics-dimension-repository_id47391866
octolytics-dimension-repository_nwopython-xlib/python-xlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id47391866
octolytics-dimension-repository_network_root_nwopython-xlib/python-xlib
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release5998c30593994bf2589055aef7b22d368a499367
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python-xlib/python-xlib/pull/251/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-xlib%2Fpython-xlib%2Fpull%2F251%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
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
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
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
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/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%2Fpython-xlib%2Fpython-xlib%2Fpull%2F251%2Ffiles
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%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python-xlib%2Fpython-xlib
Reloadhttps://github.com/python-xlib/python-xlib/pull/251/files
Reloadhttps://github.com/python-xlib/python-xlib/pull/251/files
Reloadhttps://github.com/python-xlib/python-xlib/pull/251/files
python-xlib https://github.com/python-xlib
python-xlibhttps://github.com/python-xlib/python-xlib
Notifications https://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib
Fork 112 https://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib
Star 455 https://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib
Code https://github.com/python-xlib/python-xlib
Issues 65 https://github.com/python-xlib/python-xlib/issues
Pull requests 16 https://github.com/python-xlib/python-xlib/pulls
Discussions https://github.com/python-xlib/python-xlib/discussions
Actions https://github.com/python-xlib/python-xlib/actions
Projects 0 https://github.com/python-xlib/python-xlib/projects
Wiki https://github.com/python-xlib/python-xlib/wiki
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python-xlib/python-xlib/security
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/251/files
Insights https://github.com/python-xlib/python-xlib/pulse
Code https://github.com/python-xlib/python-xlib
Issues https://github.com/python-xlib/python-xlib/issues
Pull requests https://github.com/python-xlib/python-xlib/pulls
Discussions https://github.com/python-xlib/python-xlib/discussions
Actions https://github.com/python-xlib/python-xlib/actions
Projects https://github.com/python-xlib/python-xlib/projects
Wiki https://github.com/python-xlib/python-xlib/wiki
Security https://github.com/python-xlib/python-xlib/security
Insights https://github.com/python-xlib/python-xlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython-xlib%2Fpython-xlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib%2Fissues%2Fnew%2Fchoose
Avasamhttps://github.com/Avasam
python-xlib:masterhttps://github.com/python-xlib/python-xlib/tree/master
Avasam:type-commentshttps://github.com/Avasam/python-xlib/tree/type-comments
Conversation 2 https://github.com/python-xlib/python-xlib/pull/251
Commits 19 https://github.com/python-xlib/python-xlib/pull/251/commits
Checks 0 https://github.com/python-xlib/python-xlib/pull/251/checks
Files changed https://github.com/python-xlib/python-xlib/pull/251/files
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/251/files
py.typed and type comments https://github.com/python-xlib/python-xlib/pull/251/files#top
Show all changes 19 commits https://github.com/python-xlib/python-xlib/pull/251/files
4f5362e py.typed and type comments Avasam Nov 16, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/4f5362e4c91f3b77e51e2e9e324433da35af41e9
834881f Update rq.py Avasam Nov 16, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/834881fc418ca0ff5239c90571b41f42845148f0
4d05260 Update display.py Avasam Nov 16, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/4d052606a5fc8a0caf272f995c852741c289c973
f53aa8e Update types Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/f53aa8ecefa231ac37c2905d190a82041589f4d3
eba9e6f Fix syntax error Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/eba9e6fa4f0c83d77a1afe699cca65ed31aae465
3154d16 Merge branch 'type-comments' of https://github.com/Avasam/python-xlib… Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/3154d160ff1674e8a18b4eb1fd09ff01bb3ce6dc
c7a798a No TypeAlias explicit typing Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/c7a798aa32f8266562647cbbe94b12a6ed9174bf
53bd753 XK Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/53bd753b8e84cfa90967bc5efb76fe0ff6438e26
7697da9 Fix overload and TYPE_CHECKING type comments Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/7697da91fd4276b3969820e10cdfe7e9598935b3
ddb1e77 Remove from __future__ Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/ddb1e77eb4376c24f4f0a75d8c625ce258bf4973
ad71f6c Update commetns and spacing Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/ad71f6c1b1af47df167ad5c713fa82ed5ca779ab
830f0c5 __getattr__ change Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/830f0c5f2806607c6120333a6b767fc48b7014ec
035edd4 syntax error Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/035edd43107892851219567b25beefb24c7cfb4d
909a748 test with comments? Avasam Nov 18, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/909a748de53f16411b1686913f681ecf57032d19
f46b72c probably fixed Avasam Nov 19, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/f46b72c1ea353e03f5c0d829c5559bb693cd0a11
dfdf8c1 Nonable length Avasam Nov 19, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/dfdf8c1eda5397f35f02813d23b294a549fb6e21
14e620d Update some buffer types Avasam Nov 27, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/14e620dda872a43d65439824c97b9e2693191570
d1797a3 Type comments update Avasam Nov 30, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/d1797a31c868a3d53d8e86d1cfde8cff4a282d02
1c163a2 Merge branch 'master' of https://github.com/python-xlib/python-xlib i… Avasam Dec 27, 2022 https://github.com/python-xlib/python-xlib/pull/251/commits/1c163a27a7967d72485e58590b47d543fdb7435a
Clear filters https://github.com/python-xlib/python-xlib/pull/251/files
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/251/files
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/251/files
.gitignore https://github.com/python-xlib/python-xlib/pull/251/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
XK.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
display.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-a8aaac5278642adadd21b60911302ce980676b0889f023b9629b18e0d513db74
error.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-b8db06cdf2179c5091cc1f4906c3e10c385272368c545b09d7f0d77f0bb0b582
composite.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-bacd7cc270ce6c3e5334356e030f3cd48c16196731fc05ec2bb56b14daaebec7
damage.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-6e05897e4de243a62ae04c040b3347266068ef7fc7685066957ae77e134a7a97
dpms.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-59dd2a336f0f27bd9b9b409775f93f64dac1d3696ca9e1615de087e1151643e0
ge.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-1834fa0b4fdd538f5e5296010b1eda1b4e106bb143a00ed6565a7f2fc8e4f7c5
nvcontrol.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-9e594af5d3c3279bee6eea7786b43c32d58b348ef5e9fabeb8e223802facacd6
randr.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-b1c4e04019b613f3348387e74bf674f653af20e8584b16a921a82c87399e00c8
record.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-6439f1e67b28e5783617411a8ed0d296e585e17788a6c16ca989d8faaf235f19
res.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-54e976e5df82f00739e825aa9f0c68c98a680bcb48549a5b41b7f8080273b70b
screensaver.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-065c552308ee62e61ebc3cf628906ca4e712ad292b2d7d562d8eaf20fb755fd9
security.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-aed0e8630dc2836a64d3823d8a6a6806c090f2e14c1e705c924def0e740dc894
shape.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-29640e1e9f2d77234844c2a0b596935bfc64663a783b5a20ff7734bfee34bb04
xfixes.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-7fd483f218060439aee5ae23f779945185798eb28fd7af847990a5929c499bc6
xinerama.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-9deea1e6395d0811981a96f98b1167b32053d5e0cda534fd52270290a1f53fa9
xinput.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-01a89540f69e14400b3fb3c9d0558938b68564d2d9f5980f192996c7633d0997
xtest.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-e02a848adc9dde82385ae646f8f6b8356d214c15fe45429830766c6c3fb4ebbc
display.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
request.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-c6593eb9b3ad5026aefba8287d5484bc2c35fe005b2663f338add6c368561005
rq.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-a4fa10c85dd2f612a62eb1b7f539126381a8ee2b7c57bf2439c6d3faa373670c
structs.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-c0729e78615fdaf506fc91aca0d0dd09d2f03baac621f44e6581e730e529e502
py.typed https://github.com/python-xlib/python-xlib/pull/251/files#diff-3bd71cb0b146ec9769aac7966e8045eb1a1110e0f8eb3775ffdfbfc043620439
rdb.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-99259516fa18c130c34a8f866984628a8b48f167f4d791619c7945fe21351c78
connect.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-75a62f4b0479ad59f6854e546ed49837ae8e223e0dc973c4b239e882894dfb09
lock.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-3ba52fbfb5d11d0bff4b3417a86f8f997ca5576ec2c61c6462e36b7287c5f75e
unix_connect.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-6f483376ef3c11dd26bfc20a95bfd8d3bed7fabe929d4015f3023efb2e3da73d
vms_connect.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-b6997c4acfec17a06208ff5a2a555027fcd2aaea2017b2c5537c3e7ad60a5d98
xauth.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-63a3433114ff3f4d857e6f1706e64b060720a3693df43a3bb56ddf5e36d38c8c
colormap.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-4c2adc7b9da05e9fe991a777b830e05673a18f307302cdece866d1ce05855ba8
cursor.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-d5d28b81a39309078d8f7d0ee88d6e1f0395509cd3d53bd58683e9266b1db95d
drawable.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-6323008425dd2803fa037eb709df590899a85a55edfcdd01421ecd23b93d982c
fontable.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-cdad005356daae4f195111b21b01c30ccf0017522a16cfde81a55ef27010c4a5
resource.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-7d017dfdf01699b4bca3817ae38ab47afca2956433f3a843ce59cc9c3cdbd378
setup.py https://github.com/python-xlib/python-xlib/pull/251/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7
.gitignorehttps://github.com/python-xlib/python-xlib/pull/251/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://github.com/python-xlib/python-xlib/blob/1c163a27a7967d72485e58590b47d543fdb7435a/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/251/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/251/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
https://github.com/python-xlib/python-xlib/pull/251/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
Xlib/XK.pyhttps://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
View file https://github.com/python-xlib/python-xlib/blob/1c163a27a7967d72485e58590b47d543fdb7435a/Xlib/XK.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/251/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
https://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
https://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
https://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
https://github.com/python-xlib/python-xlib/pull/251/files#diff-f8a6f3f3c1c193154af5dd31d4366827e8a77d120c1bad220c78d85a80c32ba8
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/251/files
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.