Skip to main content

tool for creating catalog from .csv tables in duckdb/sqlite storage

Project description

Catalog

Catalog made for wrangling CSV files and shoving them into a database. Makes the tedious task of managing CSV data a breeze. No more manual scripts, no more headaches

What's this? 🤔

Tired of messing around with CSVs and databases separately? Me too. That's why I built Catalog. It's a simple, no-nonsense tool that lets you:

  • Import CSV files into a single SQLite database
  • Manage your data with a set of easy-to-use commands
  • Export your data back to CSV whenever you need it

Features 🔥

  • Interactive CLI: A user-friendly interface that feels like you're chatting with a buddy
  • CSV Parsing: Automatically handles CSV files, with options to customize the separator and headers
  • Database Storage: Uses SQLite to store your data, so it's all in one place
  • Data Management: A rich set of commands to manage your tables
  • Data Export: Easily export your tables back to CSV files, with the ability to select specific columns and a limited number of rows

Getting Started 🚀

  1. Install
pip install csvcatalog
  1. Run the cli
csvcatalog

2.1 You can also specify a custom database file if you want:

csvcatalog --db /path/to/your/database.db

Commands 🕹️

Here's a quick rundown of the commands you'll be using

Commands

List of commands

  • help: Shows you all the available commands
  • clear: Clears the screen
  • exit: Quits the application
  • system <command>: Lets you run any shell command without leaving the CLI
  • extract <file.csv>: Setup and process extraction data from csv table to database

Actions with database

  • db <path_to_db>: Switches to a different database file
  • tables: Lists all the tables in your database
  • del <table_name>: Deletes a table
  • purge: Wipes the entire database clean
  • sql <stmt>: Executes a pure SQL statement on the database
  • export <table_name>: Exports a table to a CSV file
  • search <value> <opt: table_name.<opt: column>,<...>>: Search a value in table(s)
  • search <value> *.<opt: column>,<...>: Search a value in all tables with n column (2nd example)

Redirect stdout (save command output to file):

You can redirect any stdout to specific file using default > symbol

search Germany geoip > florida_ips.txt

Contributing are welcome 🤝

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csvcatalog-1.5.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csvcatalog-1.5-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file csvcatalog-1.5.tar.gz.

File metadata

  • Download URL: csvcatalog-1.5.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for csvcatalog-1.5.tar.gz
Algorithm Hash digest
SHA256 e3e39d3ce3cfb92a63e4b92c3f86e2dc4ae2161f090fd6d089bae9942a93cf12
MD5 35d43c4389161b5c0ca51407103e79db
BLAKE2b-256 5b6c4f8f23dd3766d579f9b7662d5a48ce9f9badd3c3d4f71a6fb417cd46c373

See more details on using hashes here.

File details

Details for the file csvcatalog-1.5-py3-none-any.whl.

File metadata

  • Download URL: csvcatalog-1.5-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for csvcatalog-1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 12467f3d4d2c3a7c2259808398b663d901cb71ff7c5de665af0cfd8c82a87e40
MD5 bdbecad66bc5f7d6f038de2184d0290c
BLAKE2b-256 4b8767cddbc749a53513c4da85fbd5ffe76e5fe088c3ca384246a534dd8129b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page