Search code examples
atom-editorgithub-api

Atom Package Manager (apm): Creating new version failed: GitHub API returned error: TooManyRequests


Whenever I try to publish a new version for my package, I get a TooManyRequests error:

foo$ apm publish -t v0.3.0
Publishing [email protected] ✗
Creating new version failed: [object Object]

foo$ apm publish -t v0.3.0
Publishing [email protected] ✗
Creating new version failed: GitHub API returned error: TooManyRequests

I am logged in to apm and given it permissions and I have more than enough requests available:

$  curl -I https://api.github.com/users/myusername
HTTP/2 200 
server: GitHub.com
date: Thu, 22 Sep 2022 11:30:43 GMT
content-type: application/json; charset=utf-8
cache-control: public, max-age=60, s-maxage=60
vary: Accept, Accept-Encoding, Accept, X-Requested-With
etag: W/"7a839c48304b16904df922608ba9dd52dec979f055370bfad9859741eb387d51"
last-modified: Wed, 21 Sep 2022 14:46:58 GMT
x-github-media-type: github.v3; format=json
access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
access-control-allow-origin: *
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin
content-security-policy: default-src 'none'
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
x-ratelimit-reset: 1663846664
x-ratelimit-resource: core
x-ratelimit-used: 6

How can it be rate limited when I still have 54 of 60 available?

Versions

$ apm --version
apm  2.6.5
npm  6.14.9
node 16.16.0 x64
atom unknown
python 3.10.7
git 2.37.3

Solution

  • Ever since GitHub has announced it is sunsetting Atom, publishing new or updated packages has rarely been working. Several issues document this unfortunate behavior, though status code 500 appears to be the predominant reason.

    With two community-driven forks in the making, Pulsar Editor and Atom Community, there is some hope that you can continue to publish your packages in the future.