Skip to main content

A cli tool to load and manage tables from fits files into a sql database

Project description

fits2db


fits2db: A cli tool to ingest fits files into an sql db

Testing CI - Test codecov linting: pylint
Package PyPI Latest Release PyPI Downloads
Docs CI - DOCS Find Here

This is a cli tool to extract table data from a fits file and write it down in a database.

Supported databases

Database Supported
MySql & MariaDB YES
DuckDB In progress
Postgres under validation

Installation

For installation up to version 0.0.3 can be installed with pip

pip install fits2db

For newer verions use the git repository

pip install git+https://github.com/pmodwrc/fits2db.git@main

check if you got the right version with

fits2db --version

To init a config file run

fits2db init

In the config.yml file you now can change the variables needed.

Fill in the database credentials:

database:
  type: mysql
  host: localhost
  user: user
  password: password
  db_name: test_db
  port: 3306

and add some paths for your fits files

fits_files:
  paths:
    - path/to_your_file/2021-07-07_L1a.fits
    - path_to_your_folder

# Delete rows from above listed files from tables which are not listed below
delete_rows_from_missing_tables: True

tables:
    - name: HOUSEKEEPING
      date_column: timestamp # This column will be interpreted as a datetime variable
    - name: OTHER_TABLE # If no table name given it will use the orignal name

Build your database from config file

fits2db build <path_to_config_yaml>

This will create the following tables:

Table Description
FITS2DB_META Contain meta information about loaded files
FITS2DB_TABLE_META Contains info about all loaded tables from the files
HOUSEKEEPING Contains the data of your fits files tables HOUSEKEEPING merged
HOUSEKEEPING_META Contains the Column information from the fits files
OTHER_TABLE Contains the data of your fits files tables HOUSEKEEPING merged
OTHER_TABLE_META Contains the Column information from the fits files

To add new Files to a existing database use

fits2db update <path_to_config_yaml>

Files which are not yet in the database are added. Already exisitng files are only updated, if their last change time is newer than the already existing one. To force the update of already uploaded files use

fits2db update <path_to_config_yaml> -f

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

fits2db-0.1.0.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

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

fits2db-0.1.0-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file fits2db-0.1.0.tar.gz.

File metadata

  • Download URL: fits2db-0.1.0.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for fits2db-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be4bb926cc55591a1be2702fe3f1cb462350a45472759a2205f42144db6ed765
MD5 cc2967f6063e2db94be20b5a88b45111
BLAKE2b-256 bd6f03b1b79314eb5076a029739e1d06f95bea89b603ebd676ec5d59d6d3c1cf

See more details on using hashes here.

File details

Details for the file fits2db-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fits2db-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for fits2db-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed6c1fa8b1a04595f74456e8a61592534d1bc4284ff28866d5ab4077a296e205
MD5 1ccb11a1fde6dec8b697580a53e65eed
BLAKE2b-256 c1d4136b39f330c7e8e27df96b45b19ceb2bb064cc3672422a44a5cd40d3145f

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