From 297be44abd176d77aaa5d03a73d2b4d82a6e0abb Mon Sep 17 00:00:00 2001 From: Phillip Cloud <417981+cpcloud@users.noreply.github.com> Date: Sat, 16 Dec 2023 05:04:32 -0500 Subject: [PATCH] docs(perf): use an unordered list instead of an ordered one --- .../index/execute-results/html.json | 9 ++++++--- docs/posts/pydata-performance/index.qmd | 14 +++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/_freeze/posts/pydata-performance/index/execute-results/html.json b/docs/_freeze/posts/pydata-performance/index/execute-results/html.json index c52e29e8647f..15583ddffe70 100644 --- a/docs/_freeze/posts/pydata-performance/index/execute-results/html.json +++ b/docs/_freeze/posts/pydata-performance/index/execute-results/html.json @@ -1,14 +1,17 @@ { - "hash": "1802ba32fcaa631f14871584c07b482c", + "hash": "4587be9fc1ccd88f6227b0e8543b651a", "result": { - "markdown": "---\ntitle: \"Ibis versus X: Performance across the ecosystem part 1\"\nauthor: \"Phillip Cloud\"\ndate: 2023-12-06\ncategories:\n - blog\n - case study\n - ecosystem\n - performance\n---\n\n**TL; DR**: Ibis has a lot of great backends. They're all\ngood at different things. For working with local data, it's hard to beat DuckDB\non feature set and performance.\n\nBuckle up, it's going to be a long one.\n\n## Motivation\n\nIbis maintainer [Gil Forsyth](https://github.com/gforsyth) recently wrote\na [post on our\nblog](https://ibis-project.org/posts/querying-pypi-metadata-compiled-languages/)\nreplicating [**another** blog\npost](https://sethmlarson.dev/security-developer-in-residence-weekly-report-18)\nbut using Ibis instead of raw SQL.\n\nI thought it would be interesting to see how other tools compare to this setup,\nso I decided I'd try to do the same workflow on the same machine using\na few tools from across the ecosystem.\n\nI chose two incumbents--[pandas](https://pandas.pydata.org/) and\n[dask](https://www.dask.org/)--to see how they compare to Ibis + DuckDB on this\nworkload. In part 2 of this series I will compare two newer engines--Polars and\nDataFusion--to Ibis + DuckDB.\n\nI've worked on both pandas and Dask in the past but it's been such a long time\nsince I've used these tools for data analysis that I consider myself rather\nnaive about how to best use them today.\n\nInitially I was interested in API comparisons since usability is really where\nIbis shines, but as I started to explore things, I was unable to complete my\nanalysis in some cases due to running out of memory.\n\n::: {.callout-note}\n# This is not a forum to trash the work of others.\n\nI'm not interested in tearing down other tools.\n\nIbis has backends for each of these tools and it's in everyone's best interest\nthat all of the tools discussed here work to their full potential.\n:::\n\nI show each tool using its native API, in an attempt to compare ease-of-use\nout of the box and maximize each library's ability to complete the workload.\n\nLet's dig in.\n\n\n\n## Setup\n\nI ran all of the code in this blog post on a machine with these specs.\n\nAll OS caches were cleared before running this document with\n\n```bash\n$ sudo sysctl -w vm.drop_caches=3\n```\n\n::: {.callout-warning}\n# Clearing operating system caches **does not represent a realistic usage scenario**\n\nIt is a method for putting the tools here on more equal footing. When you're in\nthe thick of an analysis you're not going to artificially limit any OS\noptimizations.\n:::\n\n| Component | Specification |\n| --------- | ------------- |\n| CPU | AMD EPYC 7B12 (64 threads) |\n| RAM | 94 GiB |\n| Disk | 1.5 TiB SSD |\n| OS | NixOS (Linux 6.1.64) |\n\n\n### Soft constraints\n\nI'll introduce some soft UX constraints on the problem, that I think help\nconvey the perspective of someone who wants to get started quickly with\na data set:\n\n1. **I don't want to get another computer** to run this workload.\n2. **I want to use the data as is**, that is, without altering the files\n I already have.\n3. **I'd like to run this computation with the default configuration**.\n Ideally configuration isn't required to complete this workload out of the\n box.\n\n### Library versions\n\nHere are the versions I used to run this experiment at the time of writing.\n\n| Dependency | Version |\n|:-------------|:-------------------------------------------------------------------|\n| Python | 3.10.13 (main, Aug 24 2023, 12:59:26) [GCC 12.3.0] |\n| dask | 2023.12.0 |\n| distributed | 2023.12.0 |\n| duckdb | 0.9.2 |\n| ibis | [`ed47c7404`](https://github.com/ibis-project/ibis/tree/ed47c7404) |\n| pandas | 2.1.3 |\n| pyarrow | 14.0.1 |\n\n\n### Data\n\nI used the files [here](https://raw.githubusercontent.com/pypi-data/data/20135ed214be9d6bb9c316121e5ccdaf29c6b9b1/links/dataset.txt) in this link to run my experiment.\n\nHere's a summary of the data set's file sizes:\n\n```bash\n$ du -h /data/pypi-parquet/*.parquet\n```\n```\n1.8G\t/data/pypi-parquet/index-12.parquet\n1.7G\t/data/pypi-parquet/index-10.parquet\n1.9G\t/data/pypi-parquet/index-2.parquet\n1.9G\t/data/pypi-parquet/index-0.parquet\n1.8G\t/data/pypi-parquet/index-5.parquet\n1.7G\t/data/pypi-parquet/index-13.parquet\n1.7G\t/data/pypi-parquet/index-9.parquet\n1.8G\t/data/pypi-parquet/index-6.parquet\n1.7G\t/data/pypi-parquet/index-7.parquet\n1.7G\t/data/pypi-parquet/index-8.parquet\n800M\t/data/pypi-parquet/index-14.parquet\n1.8G\t/data/pypi-parquet/index-4.parquet\n1.8G\t/data/pypi-parquet/index-11.parquet\n1.9G\t/data/pypi-parquet/index-3.parquet\n1.9G\t/data/pypi-parquet/index-1.parquet\n\n```\n\n\n## Recapping the original Ibis post\n\nCheck out [the original blog\npost](https://ibis-project.org/posts/querying-pypi-metadata-compiled-languages/)\nif you haven't already!\n\nHere's the Ibis + DuckDB code, along with a timed execution of the query:\n\n```python\nfrom __future__ import annotations\n\nimport ibis\nfrom ibis import _, udf\n\n\n@udf.scalar.builtin\ndef flatten(x: list[list[str]]) -> list[str]: # <1>\n ...\n\n\nexpr = (\n ibis.read_parquet(\"/data/pypi-parquet/*.parquet\")\n .filter(\n [\n _.path.re_search(\n r\"\\.(asm|c|cc|cpp|cxx|h|hpp|rs|[Ff][0-9]{0,2}(?:or)?|go)$\"\n ),\n ~_.path.re_search(r\"(^|/)test(|s|ing)\"),\n ~_.path.contains(\"/site-packages/\"),\n ]\n )\n .group_by(\n month=_.uploaded_on.truncate(\"M\"),\n ext=_.path.re_extract(r\"\\.([a-z0-9]+)$\", 1),\n )\n .aggregate(projects=_.project_name.collect().unique())\n .order_by(_.month.desc())\n .mutate(\n ext=_.ext.re_replace(r\"cxx|cpp|cc|c|hpp|h\", \"C/C++\")\n .re_replace(\"^f.*$\", \"Fortran\")\n .replace(\"rs\", \"Rust\")\n .replace(\"go\", \"Go\")\n .replace(\"asm\", \"Assembly\")\n .nullif(\"\"),\n )\n .group_by([\"month\", \"ext\"])\n .aggregate(project_count=flatten(_.projects.collect()).unique().length())\n .dropna(\"ext\")\n .order_by([_.month.desc(), _.project_count.desc()]) # <2>\n)\n\n```\n\n\n1. We've since implemented [a `flatten` method](../../reference/expression-collections.qmd#ibis.expr.types.arrays.ArrayValue.flatten)\n on array expressions so it's no longer necessary to define a UDF here. I'll\n leave this code unchanged for this post. **This has no effect on the\n performance of the query**. In both cases the generated code contains\n a DuckDB-native call to [its `flatten`\n function](https://duckdb.org/docs/sql/functions/nested.html).\n2. This is a small change from the original query that adds a final sort key to\n make the results deterministic.\n\n::: {#0b9d0f6e .cell execution_count=6}\n``` {.python .cell-code}\n%time df = expr.to_pandas()\ndf\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nCPU times: user 26min 24s, sys: 1min 6s, total: 27min 30s\nWall time: 33.5 s\n```\n:::\n\n::: {.cell-output .cell-output-display execution_count=6}\n```{=html}\n
\n | month | \next | \nproject_count | \n
---|---|---|---|
0 | \n2023-11-01 | \nC/C++ | \n836 | \n
1 | \n2023-11-01 | \nRust | \n190 | \n
2 | \n2023-11-01 | \nFortran | \n48 | \n
3 | \n2023-11-01 | \nGo | \n33 | \n
4 | \n2023-11-01 | \nAssembly | \n10 | \n
... | \n... | \n... | \n... | \n
794 | \n2005-08-01 | \nC/C++ | \n7 | \n
795 | \n2005-07-01 | \nC/C++ | \n4 | \n
796 | \n2005-05-01 | \nC/C++ | \n1 | \n
797 | \n2005-04-01 | \nC/C++ | \n1 | \n
798 | \n2005-03-01 | \nC/C++ | \n1 | \n
799 rows × 3 columns
\n\n | project_name | \nproject_version | \nproject_release | \nuploaded_on | \npath | \narchive_path | \nsize | \nhash | \nskip_reason | \nlines | \nrepository | \n
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/spiders/ecommerce.py | \n5748 | \nb'\\xe0\\xa6\\x9bd\\xc0+\\xe0\\xf8$J2\\xb3\\xf8\\x8c\\x9... | \n\n | 160 | \n237 | \n
1 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/spiders/base.py | \n4160 | \nb'\\x1ck\\xd46={\\x7f`\\xbe\\xfaIg*&\\x977T\\xdb\\x8fJ' | \n\n | 122 | \n237 | \n
2 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/spiders/__init__.py | \n0 | \nb'\\xe6\\x9d\\xe2\\x9b\\xb2\\xd1\\xd6CK\\x8b)\\xaewZ\\xd... | \nempty | \n0 | \n237 | \n
3 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/page_objects/product_nav... | \n3528 | \nb'\\xcd\\xc9\\xfc[\\xda\\xcf!\\x94\\x1b\\x92\\xffbJC\\xf... | \n\n | 106 | \n237 | \n
4 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/page_objects/__init__.py | \n75 | \nb'r\\xb9\\xc1\\xcf2\\xa7\\xdc?\\xd1\\xa8\\xfcc+`\\xf3\\x... | \n\n | 1 | \n237 | \n
... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n
35468828 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/top_lev... | \n1 | \nb\"\\x8b\\x13x\\x91y\\x1f\\xe9i'\\xadx\\xe6K\\n\\xad{\\xd... | \n\n | 1 | \n242 | \n
35468829 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/require... | \n16 | \nb\"qG\\xad\\xc3:.'q\\xde\\xaa\\xac\\x91\\x89\\xf7S\\xcb\\... | \n\n | 2 | \n242 | \n
35468830 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/depende... | \n1 | \nb\"\\x8b\\x13x\\x91y\\x1f\\xe9i'\\xadx\\xe6K\\n\\xad{\\xd... | \n\n | 1 | \n242 | \n
35468831 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/SOURCES... | \n187 | \nb'\\xa2O$4|X\\x15,\\xb0\\x9a\\x07\\xe6\\x81[\\x15\\x1f|... | \n\n | 7 | \n242 | \n
35468832 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/PKG-INFO | \n509 | \nb'\\xee\\xbe\\xbaoh*\\xacA\\xb0\\x8a}\\xb5\\x00\\xcbpz\\... | \n\n | 16 | \n242 | \n
35468833 rows × 11 columns
\n\n | path | \nuploaded_on | \nproject_name | \n
---|---|---|---|
0 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
1 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
2 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
3 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
4 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
... | \n... | \n... | \n... | \n
35468828 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468829 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468830 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468831 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468832 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468833 rows × 3 columns
\n\n | path | \nuploaded_on | \nproject_name | \n
---|---|---|---|
1462 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1470 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1477 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1481 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1485 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
... | \n... | \n... | \n... | \n
35460320 | \npackages/atomicshop/atomicshop-2.5.12-py3-none... | \n2023-11-19 14:29:22.109 | \natomicshop | \n
35460515 | \npackages/atomicshop/atomicshop-2.5.11-py3-none... | \n2023-11-19 11:58:09.589 | \natomicshop | \n
35460710 | \npackages/atomicshop/atomicshop-2.5.10-py3-none... | \n2023-11-19 11:48:16.980 | \natomicshop | \n
35463761 | \npackages/ai-flow-nightly/ai_flow_nightly-2023.... | \n2023-11-19 16:06:36.819 | \nai-flow-nightly | \n
35464036 | \npackages/ai-flow-nightly/ai_flow_nightly-2023.... | \n2023-11-19 16:06:33.327 | \nai-flow-nightly | \n
7166291 rows × 3 columns
\n\n | \n | projects | \n
---|---|---|
month | \next | \n\n |
2023-11-01 | \nrs | \n[polars-u64-idx, py-rattler, maturin, kognic-i... | \n
hpp | \n[ddtrace, mqt.ddsim, zmesh, pyntcore, apache-t... | \n|
h | \n[tinygwas, unidist, solarwinds-apm, PyICU, ima... | \n|
go | \n[pygobuildinfo, apache-tvm, protobom-py, marie... | \n|
for | \n[iricore] | \n|
f95 | \n[scikit-digital-health, PyGeopack, easychem, d... | \n|
f90 | \n[dropkick, pixell, mkl-include, mlatom, flexfl... | \n|
f03 | \n[mkl-include] | \n|
f | \n[PyAstronomy, gnssrefl, mqt.ddsim, adani, mkl-... | \n|
cxx | \n[mqt.ddsim, slipcover, solarwinds-apm, pygamer... | \n|
cpp | \n[tinygwas, unidist, sagemath-tdlib, solarwinds... | \n|
cc | \n[mqt.ddsim, kognic-io, qwen-cpp, adani, apache... | \n|
c | \n[kognic-io, igem, imagequant, sagemath-objects... | \n|
asm | \n[awscrt, mqt.ddsim, grpcio, cmeel-assimp, couc... | \n|
2023-10-01 | \nrs | \n[polars-u64-idx, maturin, omikuji, kognic-io, ... | \n
hpp | \n[ddtrace, geodesk, apache-tvm, pyntcore, sagem... | \n|
h | \n[solarwinds-apm, marie-ai, fdtdz, sagemath-obj... | \n|
go | \n[algobattle-base, jsonatago, python-rtmidi, py... | \n|
f90 | \n[c4p, pypestutils, petsc, badlands, molalignli... | \n|
f | \n[gnssrefl, simsopt, c4p, mazalib, avni, odoo13... | \n|
cxx | \n[simsopt, mazalib, slipcover, petsc, solarwind... | \n|
cpp | \n[qlat-cps, ddtrace, cloudi, algobattle-base, p... | \n|
cc | \n[correctionlib, libregf-python, kognic-io, pyt... | \n|
c | \n[algobattle-base, ddtrace, speculos, kognic-io... | \n|
asm | \n[maud-metabolic-models, awscrt, fibers-ddtest,... | \n
\n | \n | projects | \n
---|---|---|
month | \next | \n\n |
2023-10-01 | \nAssembly | \n14 | \n
C/C++ | \n484 | \n|
Fortran | \n23 | \n|
Go | \n25 | \n|
Rust | \n99 | \n|
2023-11-01 | \nAssembly | \n10 | \n
C/C++ | \n836 | \n|
Fortran | \n48 | \n|
Go | \n33 | \n|
Rust | \n190 | \n
\n | month | \next | \nproject_count | \n
---|---|---|---|
0 | \n2023-11-01 | \nC/C++ | \n836 | \n
1 | \n2023-11-01 | \nRust | \n190 | \n
2 | \n2023-11-01 | \nFortran | \n48 | \n
3 | \n2023-11-01 | \nGo | \n33 | \n
4 | \n2023-11-01 | \nAssembly | \n10 | \n
... | \n... | \n... | \n... | \n
794 | \n2005-08-01 | \nC/C++ | \n7 | \n
795 | \n2005-07-01 | \nC/C++ | \n4 | \n
796 | \n2005-05-01 | \nC/C++ | \n1 | \n
797 | \n2005-04-01 | \nC/C++ | \n1 | \n
798 | \n2005-03-01 | \nC/C++ | \n1 | \n
799 rows × 3 columns
\n\n | project_name | \nproject_version | \nproject_release | \nuploaded_on | \npath | \narchive_path | \nsize | \nhash | \nskip_reason | \nlines | \nrepository | \n
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/spiders/ecommerce.py | \n5748 | \nb'\\xe0\\xa6\\x9bd\\xc0+\\xe0\\xf8$J2\\xb3\\xf8\\x8c\\x9... | \n\n | 160 | \n237 | \n
1 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/spiders/base.py | \n4160 | \nb'\\x1ck\\xd46={\\x7f`\\xbe\\xfaIg*&\\x977T\\xdb\\x8fJ' | \n\n | 122 | \n237 | \n
2 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/spiders/__init__.py | \n0 | \nb'\\xe6\\x9d\\xe2\\x9b\\xb2\\xd1\\xd6CK\\x8b)\\xaewZ\\xd... | \nempty | \n0 | \n237 | \n
3 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/page_objects/product_nav... | \n3528 | \nb'\\xcd\\xc9\\xfc[\\xda\\xcf!\\x94\\x1b\\x92\\xffbJC\\xf... | \n\n | 106 | \n237 | \n
4 | \nzyte-spider-templates | \n0.1.0 | \nzyte_spider_templates-0.1.0-py3-none-any.whl | \n2023-10-26 07:29:49.894 | \npackages/zyte-spider-templates/zyte_spider_tem... | \nzyte_spider_templates/page_objects/__init__.py | \n75 | \nb'r\\xb9\\xc1\\xcf2\\xa7\\xdc?\\xd1\\xa8\\xfcc+`\\xf3\\x... | \n\n | 1 | \n237 | \n
... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n
35468828 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/top_lev... | \n1 | \nb\"\\x8b\\x13x\\x91y\\x1f\\xe9i'\\xadx\\xe6K\\n\\xad{\\xd... | \n\n | 1 | \n242 | \n
35468829 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/require... | \n16 | \nb\"qG\\xad\\xc3:.'q\\xde\\xaa\\xac\\x91\\x89\\xf7S\\xcb\\... | \n\n | 2 | \n242 | \n
35468830 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/depende... | \n1 | \nb\"\\x8b\\x13x\\x91y\\x1f\\xe9i'\\xadx\\xe6K\\n\\xad{\\xd... | \n\n | 1 | \n242 | \n
35468831 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/SOURCES... | \n187 | \nb'\\xa2O$4|X\\x15,\\xb0\\x9a\\x07\\xe6\\x81[\\x15\\x1f|... | \n\n | 7 | \n242 | \n
35468832 | \n1AH22CS174 | \n1.81.11 | \n1AH22CS174-1.81.11.tar.gz | \n2023-11-19 13:30:00.113 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n1AH22CS174-1.81.11/1AH22CS174.egg-info/PKG-INFO | \n509 | \nb'\\xee\\xbe\\xbaoh*\\xacA\\xb0\\x8a}\\xb5\\x00\\xcbpz\\... | \n\n | 16 | \n242 | \n
35468833 rows × 11 columns
\n\n | path | \nuploaded_on | \nproject_name | \n
---|---|---|---|
0 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
1 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
2 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
3 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
4 | \npackages/zyte-spider-templates/zyte_spider_tem... | \n2023-10-26 07:29:49.894 | \nzyte-spider-templates | \n
... | \n... | \n... | \n... | \n
35468828 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468829 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468830 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468831 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468832 | \npackages/1AH22CS174/1AH22CS174-1.81.11.tar.gz/... | \n2023-11-19 13:30:00.113 | \n1AH22CS174 | \n
35468833 rows × 3 columns
\n\n | path | \nuploaded_on | \nproject_name | \n
---|---|---|---|
1462 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1470 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1477 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1481 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
1485 | \npackages/zipline-tej/zipline_tej-0.0.50-cp38-c... | \n2023-10-27 02:23:07.153 | \nzipline-tej | \n
... | \n... | \n... | \n... | \n
35460320 | \npackages/atomicshop/atomicshop-2.5.12-py3-none... | \n2023-11-19 14:29:22.109 | \natomicshop | \n
35460515 | \npackages/atomicshop/atomicshop-2.5.11-py3-none... | \n2023-11-19 11:58:09.589 | \natomicshop | \n
35460710 | \npackages/atomicshop/atomicshop-2.5.10-py3-none... | \n2023-11-19 11:48:16.980 | \natomicshop | \n
35463761 | \npackages/ai-flow-nightly/ai_flow_nightly-2023.... | \n2023-11-19 16:06:36.819 | \nai-flow-nightly | \n
35464036 | \npackages/ai-flow-nightly/ai_flow_nightly-2023.... | \n2023-11-19 16:06:33.327 | \nai-flow-nightly | \n
7166291 rows × 3 columns
\n\n | \n | projects | \n
---|---|---|
month | \next | \n\n |
2023-11-01 | \nrs | \n[qoqo-for-braket-devices, rouge-rs, h3ronpy, g... | \n
hpp | \n[isotree, boutpp-nightly, fdasrsf, PlotPy, mod... | \n|
h | \n[numina, pyppmd, pantab, liftover, jupyter-cpp... | \n|
go | \n[cppyy-cling, ascend-deployer, c2cciutils, aws... | \n|
for | \n[iricore] | \n|
f95 | \n[PyGeopack, easychem, dioptas, scikit-digital-... | \n|
f90 | \n[iricore, pdfo, cosmosis, mkl-include, c4p, ml... | \n|
f03 | \n[mkl-include] | \n|
f | \n[fastjet, pdfo, pyspharm-syl, PyAstronomy, PyG... | \n|
cxx | \n[cppyy-cling, teca, boutpp-nightly, aplr, CPyC... | \n|
cpp | \n[numina, liftover, jupyter-cpp-kernel, cuda-qu... | \n|
cc | \n[numina, boutpp-nightly, tiledb, pyxai, arcae,... | \n|
c | \n[cytimes, assemblyline, pyppmd, pantab, liftov... | \n|
asm | \n[couchbase, hrm-interpreter, cmeel-assimp, aws... | \n|
2023-10-01 | \nrs | \n[ruff, xvc, qarray-rust-core, del-msh, uniffi-... | \n
hpp | \n[pycaracal, pylibrb, cripser, icupy, cylp, mai... | \n|
h | \n[pycaracal, icupy, memprocfs, mindspore-dev, w... | \n|
go | \n[cryptography, c2cciutils, awscrt, odoo14-addo... | \n|
f90 | \n[pypestutils, petitRADTRANS, alpaqa, molalignl... | \n|
f | \n[alpaqa, pestifer, gnssrefl, LightSim2Grid, od... | \n|
cxx | \n[cars, wxPython-zombie, AnalysisG, petsc, fift... | \n|
cpp | \n[pycaracal, roboflex.util.png, reynir, ParmEd,... | \n|
cc | \n[tf-nightly-cpu-aws, cornflakes, trajgenpy, tf... | \n|
c | \n[pycaracal, cytimes, fibers-ddtest, assemblyli... | \n|
asm | \n[fibers-ddtest, maud-metabolic-models, chipsec... | \n
\n | \n | projects | \n
---|---|---|
month | \next | \n\n |
2023-10-01 | \nAssembly | \n14 | \n
C/C++ | \n484 | \n|
Fortran | \n23 | \n|
Go | \n25 | \n|
Rust | \n99 | \n|
2023-11-01 | \nAssembly | \n10 | \n
C/C++ | \n836 | \n|
Fortran | \n48 | \n|
Go | \n33 | \n|
Rust | \n190 | \n