profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/stevearc/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Steven Arcangeli stevearc Currently untethered

stevearc/pypicloud 424

S3-backed pypi server implementation

stevearc/aerial.nvim 156

Neovim plugin for a code outline window

stevearc/dql 147

A SQL-ish language for DynamoDB

stevearc/flywheel 126

Object mapper for Amazon's DynamoDB

stevearc/pypicloud-docker 72

Docker image for pypicloud

stevearc/gkeep.nvim 34

Google Keep integration for Neovim

stevearc/godot_parser 20

Python library for parsing Godot scene files

stevearc/dynamo3 12

Python 3 compatible library for DynamoDB

stevearc/pyramid_webpack 10

Pyramid extension for managing assets with Webpack

stevearc/pyramid_duh 6

Utilities that you'll want for nearly every pyramid app

push eventstevearc/gkeep.nvim

Steven Arcangeli

commit sha 333e788651adcaff331ca1fdca7d966f0ac87bbb

Remove unused import

view details

push time in 4 days

issue commentstevearc/gkeep.nvim

Can't use neovim after I deleted plugin's directory

The error you're seeing is a side effect of how the remote plugin architecture works. After cleaning up and uninstalling the plugin, you'll need to run :UpdateRemotePlugins to remove the generated commands and autocmds.

As for the login issue, I believe I have a change that should fix the issue, or potentially display a better error message if it doesn't. Can you give it a try?

tsivinsky

comment created time in 4 days

push eventstevearc/gkeep.nvim

Steven Arcangeli

commit sha de5495a933fa0a64005c1e0c8f01f758d4036310

Address #1: Open auth url in browser when required Sometimes the Google auth requires a browser login flow. We should now handle that case better by automatically opening the url in the browser, or printing an error message with some details if that is not possible.

view details

push time in 4 days

push eventstevearc/pypicloud

Steven Arcangeli

commit sha 0e82ce9178ea8cd58a9d803b571638ae2bf6a59b

Rework requirements files

view details

Steven Arcangeli

commit sha 79732abad3d4dd30f7da184735caad0247ef8134

Update pylint version

view details

push time in 6 days

created tagstevearc/pypicloud

tag1.3.2

S3-backed pypi server implementation

created time in 6 days

push eventstevearc/pypicloud

Steven Arcangeli

commit sha 246d19175af5aca1f4070c8791ff416f1f6eef22

Updating changelog

view details

Steven Arcangeli

commit sha b564680d532e40c1922a19fc881a406ffe92091b

Bump version: 1.3.1 → 1.3.2

view details

push time in 6 days

issue commentstevearc/pypicloud

Cannot parse package file 'tqdm-4.4.0.win32.msi' with latest pypicloud

Should be fixed now. Thanks for the report!

autumnjolitz

comment created time in 6 days

push eventstevearc/pypicloud

Steven Arcangeli

commit sha 50a7a4b042e0a39f7744e65bbf25ad0e205134d1

Fix #290: Exception in JSON endpoint on unrecognized package filetypes

view details

push time in 6 days

issue closedstevearc/pypicloud

Cannot parse package file 'tqdm-4.4.0.win32.msi' with latest pypicloud

Unclear on WTF to do as examining the code that calls the https://github.com/stevearc/pypicloud/blob/6b0d46a38aa6e8074d7cdc5ad693055afa48d1e2/pypicloud/util.py#L29 function does not yield any obvious reasons as to why.

Fetching JSON information from http://$endpoint/pypi/tqdm/json fails with:

500 Internal Server Error

Cannot parse package file 'tqdm-4.4.0.win32.msi'

App config:

[app:main]
pyramid.reload_templates = False
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en

pypi.fallback = cache
pypi.always_show_upstream = true
pypi.default_read =
    everyone
pypi.default_write =
    authenticated
pypi.cache_update =
    everyone
pypi.package_max_age = 604800
pypi.storage = s3
storage.bucket = suppressed
storage.prefix = suppressed
storage.region-name = us-east-2
storage.signature_version = s3v4

Contents of S3 path:

subtree/tqdm/tqdm-4.54.1-py2.py3-none-any.whl
subtree/tqdm/tqdm-4.55.1-py2.py3-none-any.whl
subtree/tqdm/tqdm-4.56.0-py2.py3-none-any.whl
subtree/tqdm/tqdm-4.56.1-py2.py3-none-any.whl
subtree/tqdm/tqdm-4.56.2-py2.py3-none-any.whl
subtree/tqdm/tqdm-4.62.3-py2.py3-none-any.whl

Contents of http://endpoint/pypi/tqdm/

tqdm-1.0.tar.gz
tqdm-2.0.0-py2.py3-none-any.whl
tqdm-2.0.0.tar.gz
tqdm-2.0.0.win32.exe
tqdm-2.0.0.zip
tqdm-2.2.3-py2.py3-none-any.whl
tqdm-2.2.3.tar.gz
tqdm-2.2.3.win32.exe
tqdm-2.2.3.zip
tqdm-2.2.4-py2.py3-none-any.whl
tqdm-2.2.4.tar.gz
tqdm-2.2.4.win32.exe
tqdm-2.2.4.zip
tqdm-3.1.3-py2.py3-none-any.whl
tqdm-3.1.3.tar.gz
tqdm-3.1.3.win32.exe
tqdm-3.1.3.zip
tqdm-3.1.4-py2.py3-none-any.whl
tqdm-3.1.4.tar.gz
tqdm-3.1.4.win32.exe
tqdm-3.1.4.zip
tqdm-3.4.0-py2.py3-none-any.whl
tqdm-3.4.0.tar.gz
tqdm-3.4.0.win32.exe
tqdm-3.4.0.zip
tqdm-3.7.0-py2.py3-none-any.whl
tqdm-3.7.0.tar.gz
tqdm-3.7.0.win32.exe
tqdm-3.7.0.zip
tqdm-3.7.1-py2.py3-none-any.whl
tqdm-3.7.1.tar.gz
tqdm-3.7.1.win32.exe
tqdm-3.7.1.zip
tqdm-3.8.0-py2.py3-none-any.whl
tqdm-3.8.0.tar.gz
tqdm-3.8.0.win32.exe
tqdm-3.8.0.zip
tqdm-4.1.0-py2.py3-none-any.whl
tqdm-4.1.0.tar.gz
tqdm-4.1.0.zip
tqdm-4.10.0-py2.py3-none-any.whl
tqdm-4.10.0.tar.gz
tqdm-4.10.0.zip
tqdm-4.11.0-py2.py3-none-any.whl
tqdm-4.11.0.tar.gz
tqdm-4.11.1-py2.py3-none-any.whl
tqdm-4.11.1.tar.gz
tqdm-4.11.1.win-amd64.exe
tqdm-4.11.2-py2.py3-none-any.whl
tqdm-4.11.2.tar.gz
tqdm-4.12.0-py2.py3-none-any.whl
tqdm-4.12.0.tar.gz
tqdm-4.13.0-py2.py3-none-any.whl
tqdm-4.13.0.tar.gz
tqdm-4.14.0-py2.py3-none-any.whl
tqdm-4.14.0.tar.gz
tqdm-4.15.0-py2.py3-none-any.whl
tqdm-4.15.0.tar.gz
tqdm-4.16.0-py2.py3-none-any.whl
tqdm-4.16.0.tar.gz
tqdm-4.17.0-py2.py3-none-any.whl
tqdm-4.17.0.tar.gz
tqdm-4.17.1-py2.py3-none-any.whl
tqdm-4.17.1.tar.gz
tqdm-4.18.0-py2.py3-none-any.whl
tqdm-4.18.0.tar.gz
tqdm-4.19.1-py2.py3-none-any.whl
tqdm-4.19.1.post1-py2.py3-none-any.whl
tqdm-4.19.1.post1.tar.gz
tqdm-4.19.1.tar.gz
tqdm-4.19.2-py2.py3-none-any.whl
tqdm-4.19.2.tar.gz
tqdm-4.19.4-py2.py3-none-any.whl
tqdm-4.19.4.tar.gz
tqdm-4.19.5-py2.py3-none-any.whl
tqdm-4.19.5.tar.gz
tqdm-4.19.6-py2.py3-none-any.whl
tqdm-4.19.6.tar.gz
tqdm-4.19.7-py2.py3-none-any.whl
tqdm-4.19.7.tar.gz
tqdm-4.19.8-py2.py3-none-any.whl
tqdm-4.19.8.tar.gz
tqdm-4.19.9-py2.py3-none-any.whl
tqdm-4.19.9.tar.gz
tqdm-4.20.0-py2.py3-none-any.whl
tqdm-4.20.0.tar.gz
tqdm-4.21.0-py2.py3-none-any.whl
tqdm-4.21.0.tar.gz
tqdm-4.22.0-py2.py3-none-any.whl
tqdm-4.22.0.tar.gz
tqdm-4.23.0-py2.py3-none-any.whl
tqdm-4.23.0.tar.gz
tqdm-4.23.1-py2.py3-none-any.whl
tqdm-4.23.1.tar.gz
tqdm-4.23.2-py2.py3-none-any.whl
tqdm-4.23.2.tar.gz
tqdm-4.23.3-py2.py3-none-any.whl
tqdm-4.23.3.tar.gz
tqdm-4.23.4-py2.py3-none-any.whl
tqdm-4.23.4.tar.gz
tqdm-4.24.0-py2.py3-none-any.whl
tqdm-4.24.0.tar.gz
tqdm-4.25.0-py2.py3-none-any.whl
tqdm-4.25.0.tar.gz
tqdm-4.26.0-py2.py3-none-any.whl
tqdm-4.26.0.tar.gz
tqdm-4.27.0-py2.py3-none-any.whl
tqdm-4.27.0.tar.gz
tqdm-4.28.0-py2.py3-none-any.whl
tqdm-4.28.0.tar.gz
tqdm-4.28.1-py2.py3-none-any.whl
tqdm-4.28.1.tar.gz
tqdm-4.29.0-py2.py3-none-any.whl
tqdm-4.29.0.tar.gz
tqdm-4.29.1-py2.py3-none-any.whl
tqdm-4.29.1.tar.gz
tqdm-4.30.0-py2.py3-none-any.whl
tqdm-4.30.0.tar.gz
tqdm-4.31.0-py2.py3-none-any.whl
tqdm-4.31.0.tar.gz
tqdm-4.31.1-py2.py3-none-any.whl
tqdm-4.31.1.tar.gz
tqdm-4.32.0-py2.py3-none-any.whl
tqdm-4.32.0.tar.gz
tqdm-4.32.1-py2.py3-none-any.whl
tqdm-4.32.1.tar.gz
tqdm-4.32.2-py2.py3-none-any.whl
tqdm-4.32.2.tar.gz
tqdm-4.33.0-py2.py3-none-any.whl
tqdm-4.33.0.tar.gz
tqdm-4.34.0-py2.py3-none-any.whl
tqdm-4.34.0.tar.gz
tqdm-4.35.0-py2.py3-none-any.whl
tqdm-4.35.0.tar.gz
tqdm-4.36.0-py2.py3-none-any.whl
tqdm-4.36.0.tar.gz
tqdm-4.36.1-py2.py3-none-any.whl
tqdm-4.36.1.tar.gz
tqdm-4.37.0-py2.py3-none-any.whl
tqdm-4.37.0.tar.gz
tqdm-4.38.0-py2.py3-none-any.whl
tqdm-4.38.0.tar.gz
tqdm-4.39.0-py2.py3-none-any.whl
tqdm-4.39.0.tar.gz
tqdm-4.4.0-py2.py3-none-any.whl
tqdm-4.4.0.tar.gz
tqdm-4.4.0.win-amd64.exe
tqdm-4.4.0.win-amd64.msi
tqdm-4.4.0.win32.exe
tqdm-4.4.0.win32.msi
tqdm-4.4.0.zip
tqdm-4.4.1-py2.py3-none-any.whl
tqdm-4.4.1.tar.gz
tqdm-4.4.1.zip
tqdm-4.4.3-py2.py3-none-any.whl
tqdm-4.4.3.tar.gz
tqdm-4.4.3.zip
tqdm-4.40.0-py2.py3-none-any.whl
tqdm-4.40.0.tar.gz
tqdm-4.40.1-py2.py3-none-any.whl
tqdm-4.40.1.tar.gz
tqdm-4.40.2-py2.py3-none-any.whl
tqdm-4.40.2.tar.gz
tqdm-4.41.0-py2.py3-none-any.whl
tqdm-4.41.0.tar.gz
tqdm-4.41.1-py2.py3-none-any.whl
tqdm-4.41.1.tar.gz
tqdm-4.42.0-py2.py3-none-any.whl
tqdm-4.42.0.tar.gz
tqdm-4.42.1-py2.py3-none-any.whl
tqdm-4.42.1.tar.gz
tqdm-4.43.0-py2.py3-none-any.whl
tqdm-4.43.0.tar.gz
tqdm-4.44.0-py2.py3-none-any.whl
tqdm-4.44.0.tar.gz
tqdm-4.44.1-py2.py3-none-any.whl
tqdm-4.44.1.tar.gz
tqdm-4.45.0-py2.py3-none-any.whl
tqdm-4.45.0.tar.gz
tqdm-4.46.0-py2.py3-none-any.whl
tqdm-4.46.0.tar.gz
tqdm-4.46.1-py2.py3-none-any.whl
tqdm-4.46.1.tar.gz
tqdm-4.47.0-py2.py3-none-any.whl
tqdm-4.47.0.tar.gz
tqdm-4.48.0-py2.py3-none-any.whl
tqdm-4.48.0.tar.gz
tqdm-4.48.1-py2.py3-none-any.whl
tqdm-4.48.1.tar.gz
tqdm-4.48.2-py2.py3-none-any.whl
tqdm-4.48.2.tar.gz
tqdm-4.49.0-py2.py3-none-any.whl
tqdm-4.49.0.tar.gz
tqdm-4.5.0-py2.py3-none-any.whl
tqdm-4.5.0.tar.gz
tqdm-4.5.0.zip
tqdm-4.5.2-py2.py3-none-any.whl
tqdm-4.5.2.tar.gz
tqdm-4.5.2.zip
tqdm-4.50.0-py2.py3-none-any.whl
tqdm-4.50.0.tar.gz
tqdm-4.50.1-py2.py3-none-any.whl
tqdm-4.50.1.tar.gz
tqdm-4.50.2-py2.py3-none-any.whl
tqdm-4.50.2.tar.gz
tqdm-4.51.0-py2.py3-none-any.whl
tqdm-4.51.0.tar.gz
tqdm-4.52.0-py2.py3-none-any.whl
tqdm-4.52.0.tar.gz
tqdm-4.53.0-py2.py3-none-any.whl
tqdm-4.53.0.tar.gz
tqdm-4.54.0-py2.py3-none-any.whl
tqdm-4.54.0.tar.gz
tqdm-4.54.1-py2.py3-none-any.whl
tqdm-4.54.1.tar.gz
tqdm-4.55.0-py2.py3-none-any.whl
tqdm-4.55.0.tar.gz
tqdm-4.55.1-py2.py3-none-any.whl
tqdm-4.55.1.tar.gz
tqdm-4.55.2-py2.py3-none-any.whl
tqdm-4.55.2.tar.gz
tqdm-4.56.0-py2.py3-none-any.whl
tqdm-4.56.0.tar.gz
tqdm-4.56.1-py2.py3-none-any.whl
tqdm-4.56.1.tar.gz
tqdm-4.56.2-py2.py3-none-any.whl
tqdm-4.56.2.tar.gz
tqdm-4.57.0-py2.py3-none-any.whl
tqdm-4.57.0.tar.gz
tqdm-4.58.0-py2.py3-none-any.whl
tqdm-4.58.0.tar.gz
tqdm-4.59.0-py2.py3-none-any.whl
tqdm-4.59.0.tar.gz
tqdm-4.6.1-py2.py3-none-any.whl
tqdm-4.6.1.tar.gz
tqdm-4.6.1.win32.exe
tqdm-4.6.1.zip
tqdm-4.6.2-py2.py3-none-any.whl
tqdm-4.6.2.tar.gz
tqdm-4.6.2.win32.exe
tqdm-4.6.2.zip
tqdm-4.60.0-py2.py3-none-any.whl
tqdm-4.60.0.tar.gz
tqdm-4.61.0-py2.py3-none-any.whl
tqdm-4.61.0.tar.gz
tqdm-4.61.1-py2.py3-none-any.whl
tqdm-4.61.1.tar.gz
tqdm-4.61.2-py2.py3-none-any.whl
tqdm-4.61.2.tar.gz
tqdm-4.62.0-py2.py3-none-any.whl
tqdm-4.62.0.tar.gz
tqdm-4.62.1-py2.py3-none-any.whl
tqdm-4.62.1.tar.gz
tqdm-4.62.2-py2.py3-none-any.whl
tqdm-4.62.2.tar.gz
tqdm-4.62.3-py2.py3-none-any.whl
tqdm-4.62.3.tar.gz
tqdm-4.7.0-py2.py3-none-any.whl
tqdm-4.7.0.tar.gz
tqdm-4.7.0.zip
tqdm-4.7.1-py2.py3-none-any.whl
tqdm-4.7.1.tar.gz
tqdm-4.7.1.zip
tqdm-4.7.2-py2.py3-none-any.whl
tqdm-4.7.2.tar.gz
tqdm-4.7.2.zip
tqdm-4.7.4-py2.py3-none-any.whl
tqdm-4.7.4.tar.gz
tqdm-4.7.4.zip
tqdm-4.7.6-py2.py3-none-any.whl
tqdm-4.7.6.tar.gz
tqdm-4.7.6.zip
tqdm-4.8.1-py2.py3-none-any.whl
tqdm-4.8.1.tar.gz
tqdm-4.8.1.zip
tqdm-4.8.2-py2.py3-none-any.whl
tqdm-4.8.2.tar.gz
tqdm-4.8.2.zip
tqdm-4.8.3-py2.py3-none-any.whl
tqdm-4.8.3.tar.gz
tqdm-4.8.3.zip
tqdm-4.8.4-py2.py3-none-any.whl
tqdm-4.8.4.tar.gz
tqdm-4.8.4.zip
tqdm-4.9.0-py2.py3-none-any.whl
tqdm-4.9.0.tar.gz
tqdm-4.9.0.zip

closed time in 6 days

autumnjolitz

issue commentstevearc/pypicloud-docker

Compose `sh: 1: /wait-for: not found`

Unfortunately I have no idea why this would be failing. I just tried it again and those exact commands work fine on my machine (Ubuntu 20.04, Docker version 20.10.9, docker-compose version 1.29.2). I would recommend trying to get a minimal repro, perhaps with a base ubuntu image or without using docker-compose at all. Then you can report the issue to docker or docker-compose, depending on where the problem seems to originate.

KerberosMorphy

comment created time in 9 days

issue commentstevearc/pypicloud

Same package uploaded in private/public, which is chosen?

There are two configuration options that are designed to help with this: pypi.always_show_upstream and pypi.disallow_fallback.

The default behavior for always_show_upstream (false) is if pypicloud has any packages with a specific name, it will not show upstream versions of that package. This means that by default if you are using pypicloud you should not be vulnerable to this type of attack. Of course, if you're passing an additional index into your pip install command that opens it up again, but that has nothing to do with pypicloud.

If you must set pypi.always_show_upstream = true, the second option of pypi.disallow_fallback allows you to manually specify a list of package names that should never be fetched from upstream. As long as you specify your internal packages there, you should be good.

agates4

comment created time in 9 days

created tagstevearc/pypicloud-docker

tag1.3.1

Docker image for pypicloud

created time in 10 days

push eventstevearc/pypicloud-docker

Steven Arcangeli

commit sha eed2c11d8dc984e39775dd6a877b9230b5234fbb

Bump version: 1.3.0 → 1.3.1

view details

push time in 10 days

created tagstevearc/pypicloud

tag1.3.1

S3-backed pypi server implementation

created time in 10 days

push eventstevearc/pypicloud

Steven Arcangeli

commit sha bd46c5393736a6440146eab4a946bdd175c510fc

Update changelog

view details

Steven Arcangeli

commit sha 0b135af0cabe187b537c47508d6611bebb11cc78

Bump version: 1.3.0 → 1.3.1

view details

push time in 10 days

issue commentstevearc/pypicloud

use_json_scraper configuration doesn't work for most of fallback repo

Thanks for the report! It looks like pypi.org was doing a redirect so the trailing slash was still working. Was there another situation where the trailing slash was causing it to break?

superma58

comment created time in 10 days

push eventstevearc/pypicloud

Steven Arcangeli

commit sha 645e65a2d6557f3fedb130e28e01f036ec15b858

Fix #287: Remove trailing slash from fallback json url

view details

push time in 10 days

issue closedstevearc/pypicloud

use_json_scraper configuration doesn't work for most of fallback repo

The configuration pypi.use_json_scraper says it requires the fallback repo has /json endpoints. But the code write: url = "%s/pypi/%s/json/" % (self.base_index, project_name) at locator.py. I think it should remove the last slash.

closed time in 10 days

superma58

created tagstevearc/pypicloud-docker

tag1.3.0

Docker image for pypicloud

created time in 12 days

push eventstevearc/pypicloud-docker

Steven Arcangeli

commit sha c6e35b53a96fc1f3692c2b6b781b0b0bf0ed4ee7

Rework build script to support publishing too

view details

Steven Arcangeli

commit sha 8191cc702b8cd18234fbde5f9d2aa29cef8c95b7

Make pip happy

view details

Steven Arcangeli

commit sha 470ad54f9209eb48be792e0201e69489a458cf07

Fix some installation issues

view details

Steven Arcangeli

commit sha 9abd31d81f41164daa296c4504777d536e3e50b6

Bump version: 1.2.4 → 1.3.0

view details

push time in 12 days

created tagstevearc/godot_parser

tag0.1.5

Python library for parsing Godot scene files

created time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha ea0822d1a0c16c9258f8aed638849961689f74ff

Bump version: 0.1.4 → 0.1.5

view details

push time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha 95933dce98ded4bef446dae97228c2bb65e2c160

Fix coverage command

view details

push time in 12 days

delete branch stevearc/godot_parser

delete branch : github

delete time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha a2e7cff76bb424e4667faedc4426a9cd4996a575

coverage change

view details

push time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha f22a4f2ec300a9cb54d5fd33acc70706c619f173

tweaks

view details

push time in 12 days

create barnchstevearc/godot_parser

branch : github

created branch time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha 7b8f9979034895a2d2aee845693c003118f2b9fc

Try to get coveralls working with github actions

view details

push time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha 4df79871ae818cdd70b7491ebdd62c63076b75b0

Switch over to github workflows

view details

push time in 12 days

push eventstevearc/godot_parser

Steven Arcangeli

commit sha a22b590cd6cec1e34166d54d07f48dcab6e7ccdb

Update changelog

view details

push time in 12 days