csvscout
Fast CSV profiling for Python, written in Rust.
Why I'm building this
The purpose of this project is to learn programming with Rust. I come from a Data Science background using SQL and Python for most projects. Working through this build will improve my overall programming skills and improve my ability to solve complex problems. As a data analyst who has worked on countless ETL pipeline builds, I wanted to create a library that would be (somewhat) useful for the work analysts and engineers do.
What it does (so far)
import csvscout
csvscout.count_rows("data.csv") # -> 1000000
Progress
- Milestone 0: project setup,
count_rows - Milestone 1:
column_names - Milestone 2:
null_counts - Milestone 3: type inference
- Milestone 4: full
profile()with a Python class - Milestone 5: speed (release the GIL, parallel files)
- Milestone 6: distinct counts (HyperLogLog)
- Milestone 7: publish to PyPI
See ROADMAP.md for details.
Building locally
python -m venv .venv && .venv\Scripts\activate
pip install maturin pytest
maturin develop
pytest
Benchmarks
Metadata
Release files for csvscout 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| csvscout-0.0.1.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| csvscout-0.0.1-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
Total release size: 134.9 kB
Release files / csvscout-0.0.1.tar.gz
| Download URL | csvscout-0.0.1.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
79c6aa7d66a4345c5058122ae40c081b1a88e7fa667232d0b1c925950a5d4fe2
|
|
BLAKE2b-256 checksum How to use checksums |
2a7789b0e800baa5e78df36201cf064e8fcb126332f35aaddf4dbe6ed8ccb28a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / csvscout-0.0.1-cp39-abi3-win_amd64.whl
| Download URL | csvscout-0.0.1-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 123.8 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
43538927e84495e88f4ccbb1ea03a8ae419b7fe06b707953e11da9b9291913ee
|
|
BLAKE2b-256 checksum How to use checksums |
e3e9b2d19fa4cfba7da8d90fc9e897fdfe844cc0b72cea5597240d2a1e1ce5c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|