22 Commits

Author SHA1 Message Date
fb6a54c6ef Clean up schema and add filedir_versions table 2022-09-22 15:47:49 -04:00
9d48d4d227 Enable contraint parent.filetype='DIR' in filedir 2022-09-22 10:08:30 -04:00
8d6395ecd1 Rename store_file table to filedir 2022-09-22 10:03:44 -04:00
a5cbce3c66 Rename do_record as record in order to facilitate re-use 2022-09-22 09:58:33 -04:00
f55d110e49 Programs are now recorded in the store.
The record() program and cli is not yet working. For that we need a
working `FSDiff` next.  Then we'll finally be ready to start recording
file information.
2022-09-21 21:23:20 -04:00
f18368f1e0 Add Program, Environment, User, Machine, with auto insertion
Also removed freeze and thaw, and converted to record().
2022-09-21 20:51:57 -04:00
d0f113645b Create schema submodule holding versioned schemas
This is meant to hold schemas and migrations. It contains an
`__init__.py` due to a limitation of `importlib.resources` outlined in
detail here: https://github.com/python/importlib_resources/issues/58

Eventually the schema submodule will handle automatic migration of older
databases when importing into new stores.
2022-09-21 13:50:46 -04:00
e75af52765 Create {machine,fs}.py, file scanning, and updated tests
This also fixes the pytest fixture setup (I think).
2022-09-21 13:37:05 -04:00
c30ca6a083 Add more Store functionality 2022-09-20 12:09:09 -04:00
3a99a14a0a Clean up db.py 2022-09-20 12:08:48 -04:00
3ae90db4a8 Add sqlite to flake devshell 2022-09-20 12:07:45 -04:00
311990d5f6 Update schema and add tests which don't rely on python 2022-09-20 12:07:32 -04:00
9e7af6b8a1 Fix up poetry/flake, add stubs for some cli functions 2022-09-19 09:31:41 -04:00
6b28b10094 Update example to reflect name change 2022-09-18 19:44:13 -04:00
9a757da130 Add entry_point, remove setuptools_scm 2022-09-18 19:43:28 -04:00
10f5fac0e7 Add schema_version on python side, with match test 2022-09-18 19:43:05 -04:00
cbb8180ff3 Add cli and version.py 2022-09-18 19:41:48 -04:00
cde9a9056c Add poetry setup 2022-09-18 19:41:08 -04:00
ca2f9ea014 Add flake.nix and flake.lock 2022-09-17 13:23:07 -04:00
68ec5ca286 Add trivial_save.py example 2022-09-17 12:57:44 -04:00
007c22d3e2 Rename to nancy 2022-09-17 12:57:15 -04:00
6858489b0b Add first draft of schema, setuptools, gitignore 2022-09-16 15:04:57 -04:00