tcgoetz / GarminDB

Download and parse data from Garmin Connect or a Garmin watch, FitBit CSV, and MS Health CSV files into and analyze data in Sqlite serverless databases with Jupyter notebooks.
GNU General Public License v2.0
1.18k stars 142 forks source link

Make a pip installable package and create examples + Documentation? #87

Closed WesleyTheGeolien closed 1 year ago

WesleyTheGeolien commented 3 years ago

Is your feature request related to a problem? Please describe. Hard to reuse parts of the code outside the prewritten scripts

Describe the solution you'd like Create an installable python package to import and analyse the data. I guess this decouples the scripts and the underlying code?

Describe alternatives you've considered Carry on with Scripts

Additional context I'm looking at trying to better understand my sports data using Jupyter notebooks. I have found your database solution ideal for importing and storing the data but I feel there is a steep learning curve. I'd be more than happy to contribute to the project

tcgoetz commented 3 years ago

If you would like to contribute work on "pip installable" packaging I would appreciate and integrate that. I think the Fit library could be its own package and then a package for the whole solution. I'm not sure about breaking out any other parts into their own installables.

So you want to access the data in your DB from Jupyter notebooks? Currently you can use the scripts to keep the DB up-to-date and then use the GarminDB classes to access the DB data from Jupyter. What are you looking for as an alternative?

WesleyTheGeolien commented 3 years ago

Hi @tcgoetz

I'll try and take a look, I'll be able to get something pip installable but not knowing the code well enough yet I'm not sure my separation will be optimal!

Yep that is what I am currently doing. I have a backend Docker container holding the DB (with cron running to auto update) and at the moment just sharing the DB volume with a Notebook Container where I am running SQL commands directly (due to unfamiliarity + install size). If the GarminDB classes is made installable it woudl be simpler to add that the the notebook container.

tcgoetz commented 1 year ago

pip installable package is done