[04:08:34] <dtux> the only reason i can see to invoke setup.py directly anymore is `setup.py sdist` and `setup.py check`. the former is mostly addressed here: https://github.com/pypa/pip/issues/1323. anyone know if the latter is possible with pip? `pip check` seems to be different.
[21:17:30] <dtux> is `setup.py check` something specific to setuptools?
[21:30:34] <toad_polo> dtux: It's probably from distutils.
[21:31:17] <dtux> toad_polo: do you know of another way to invoke it? i'm trying to find a way to avoid ever invoking setup.py directly
[21:39:10] <dtux> toad_polo: tox currently runs that check (but by invoking setup.py directly)... if i were to ever swap out build systems, seems silly that i should have to edit tox.ini
[21:39:13] <techalchemy> well, they don't ahve to be compressed i guess
[21:39:26] <techalchemy> dtux: plan on editing your code.
[21:39:36] <techalchemy> nothing you write will remain constant
[21:39:46] <dtux> why should the tests care about the build?
[21:39:53] <toad_polo> dtux: There is not and probably will never be a generic "check" utility.
[21:40:09] <toad_polo> Well, maybe not never, just that it's not on anyone's radar.
[21:40:11] <techalchemy> pep517 literally just got rolled out within the last few weeks and it broke the build process of literally like 30% of packaging in python, maybe more
[21:40:18] <toad_polo> Seems easy to build, though.
[21:40:34] <techalchemy> 'seems easy' to implement the generic build process too
[22:20:33] <techalchemy> dstufft: so you like it? you hit a constraint i guess running it in python? what was the issue?
[22:21:43] <dstufft> eh, old linehaul was running under PyPy, adding the new stats sent more traffic than a single pypy daemon could handle and we didn't have great ways to scale a TCP (vs http) server out to multiple machines in the pypy infra
[22:22:03] <dstufft> so I was moving to having fastly write logs to s3, and then s3 event -> lambda to have linehaul run as a lambda
[22:22:36] <dstufft> problem was, lambda means pypy didn't make sense, becuase jit warmup and we wer eusing pypy cuz parsing all the log lines were STUPID slow on cpython
[22:23:12] <dstufft> also deploying python to lambda is kinda annoying, but rust is dead simple
[22:27:19] <techalchemy> dstufft: had you considered any of the alternative options / have any experience with things like airflow for this kind of stuff? maybe overkill for just log transfers
[22:29:12] <dstufft> never eally bothered, linehaul itself is rpetty simple
[22:29:53] <techalchemy> i'm asking with my work ETL pipeline in mind
[22:30:54] <techalchemy> which we've rewritten about 10 times in the last 2 years, most recently from celery (incomprehensible) -> dramatiq (undebuggable with bizarre memory leaks) -> trio (didn't finish that yet) -> very simple implementation on top of airflow
[22:31:14] <techalchemy> which takes forever to spin up worker tasks but at least it actually runs
[22:31:38] <dstufft> for pip 6+ bigquery is basically just "load this bit from json, stick it in a struct, serialize back to json and write it out to bigquery"
[22:32:09] <techalchemy> do you have a sense of how much faster the serialization is?
[22:33:05] <techalchemy> that was a big bottleneck for us when we were looking at web frameworks, we ditched python entirely as a result