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

Global Commands

Standart 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

The file Module

  • file.help: Shows you the commands of the file module
  • file.set <path_to_csv>: Tells Catalog which CSV file you want to work with
  • file.sep <separator>: Sets the CSV separator. Because not everyone uses commas
  • file.headers <header1> <header2> ...: Lets you set custom headers for your data
  • file.preview <optional: lines count>: To make sure everything looks right
  • file.run: Extracts your data and saves it to a table

The storage Module

  • storage.help: Shows you the commands of the storage module
  • storage.db <path_to_db>: Switches to a different database file
  • storage.reload: Reloads the database connection
  • storage.tables: Lists all the tables in your database
  • storage.del.table <table_name>: Deletes a table
  • storage.purge: Wipes the entire database clean
  • storage.sql <stmt>: Executes a pure SQL statement on the database
  • storage.export <table_name>: Exports a table to a CSV file

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.2.tar.gz (10.7 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.2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: csvcatalog-1.2.tar.gz
  • Upload date:
  • Size: 10.7 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.2.tar.gz
Algorithm Hash digest
SHA256 4c6ab607ccb60cd26b2d8b08e4e6a2961b381014c5ac5fc5f0f2787c818f64e2
MD5 c8fb89ea191abd73d2b4e9ac5174fd5a
BLAKE2b-256 fc720e0245c92d64455404c4d9e60d68abf3c190ef8514de433ba9555caece30

See more details on using hashes here.

File details

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

File metadata

  • Download URL: csvcatalog-1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c51d74cf777fc4a53c7d574fe1616210ff3ce5b52d2d48988097985a5995e5c1
MD5 4da10444dc65cf9ddf3c3e6fb74926ec
BLAKE2b-256 61c476263b2c94ec02fc853a6985ee00ea87c0ec21cc40f68c9a53c91fc46d9f

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