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.1.tar.gz (10.6 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.1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: csvcatalog-1.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","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.1.tar.gz
Algorithm Hash digest
SHA256 1cc13b59c0bf4f8559ded43c3bb01eb55bb71214eb4d01bf3db084151ae42eed
MD5 4f3ca7436b43f2e3fa9be885d3bb6d70
BLAKE2b-256 dfe4867f93f4c3bda2ee4611959dffffce6ea8fc97ff0732fb9942544ff1752f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: csvcatalog-1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8aea3b65ee6955b9317f412ac6d7ad81d246e693e17efefe2eb074491530a50
MD5 8b08ee5451bb2bcc6e4542c4145a5752
BLAKE2b-256 2a63c3f3a6206e3024413415855a06325071b158b4c24791006671add2b17030

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