Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor cli #32

Merged
merged 45 commits into from
May 7, 2024
Merged
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
087dea3
add click arguments and options to main function
kdp-cloud Mar 29, 2024
ca0c459
Generate settings file on install
kdp-cloud Mar 29, 2024
161017f
Move external references logic to separate file
kdp-cloud Mar 29, 2024
193e506
change entry point to `cli`
kdp-cloud Mar 29, 2024
8fd8525
Don't overwrite config file by default when reinstalling
kdp-cloud Mar 29, 2024
0c536e3
Add logging
kdp-cloud Mar 29, 2024
9464bc2
Add constraints on the size of the files and the number of older log …
kdp-cloud Mar 29, 2024
5513c67
Add logging documentation
kdp-cloud Mar 29, 2024
4d9cfd5
Add ISA JSON models for validation
kdp-cloud Mar 29, 2024
b4b4b53
Add validator for assay comments
kdp-cloud Mar 31, 2024
e7b8570
Exclude all `__init__.py` files from coverage
kdp-cloud Mar 31, 2024
9e2a90b
Add log files
kdp-cloud Mar 31, 2024
6002c8c
Make model validation more strict
kdp-cloud Apr 15, 2024
8f5a752
Remove unused variables
kdp-cloud Apr 15, 2024
92fd587
linting
kdp-cloud Apr 15, 2024
908bb4e
Use pydantic classes instead of dictionaries
kdp-cloud Apr 15, 2024
9eb0604
Migrate from `@validator` to `@field_validator`
kdp-cloud Apr 15, 2024
35de605
Move TargetRepository and TARGET_REPO_KEY to shared file
kdp-cloud Apr 15, 2024
a55b4bf
Add EVA to TargetRepository
kdp-cloud Apr 15, 2024
e49a453
Remove empty unused validation.py
kdp-cloud Apr 15, 2024
f37bacf
update target repo validator
kdp-cloud Apr 16, 2024
96826b9
add validator tests
kdp-cloud Apr 16, 2024
6120d68
linting
kdp-cloud Apr 16, 2024
01f4e1a
Modify function to write different levels
kdp-cloud Apr 16, 2024
839f71b
Fix import statements
kdp-cloud Apr 16, 2024
1c44629
Add context to CLI
kdp-cloud Apr 16, 2024
81f04fe
Add URLs to the config file
kdp-cloud Apr 16, 2024
906568c
Change settings dir dependend of environmental variable.
kdp-cloud Apr 19, 2024
e851e4d
Print to std err when error is logged
kdp-cloud Apr 19, 2024
51f176e
Add health check command
kdp-cloud Apr 19, 2024
44e7ad9
Add IsaJson wrapper around Investigation
kdp-cloud Apr 19, 2024
e474ea1
Formatting
kdp-cloud Apr 19, 2024
4c85ac1
Invalid material type according to the specs:
kdp-cloud Apr 19, 2024
359c502
Formatting
kdp-cloud Apr 19, 2024
cc88350
move model to mars_lib
kdp-cloud Apr 19, 2024
e97220a
Add validation command to CLI
kdp-cloud Apr 19, 2024
48cd972
Remove phone nr validator
kdp-cloud Apr 19, 2024
52445f0
Fix for ARC
kdp-cloud Apr 19, 2024
e57ce82
Add option for ISA JSON's when investigation is root
kdp-cloud Apr 22, 2024
eb5fb0b
Update tests
kdp-cloud Apr 22, 2024
d2238c0
Update README
kdp-cloud Apr 22, 2024
b987593
Fix failing tests
kdp-cloud Apr 22, 2024
cd6a77e
Add pydantic to requirements
kdp-cloud Apr 22, 2024
919fc1d
Fix typo
kdp-cloud Apr 24, 2024
f2861a8
add l click
bedroesb May 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add logging documentation
kdp-cloud committed Apr 15, 2024

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
commit 5513c67a6793e7dc879487deccdc978255a7e57f
39 changes: 39 additions & 0 deletions mars-cli/README.md
Original file line number Diff line number Diff line change
@@ -13,6 +13,45 @@ If you want to install the optional testing dependencies as well, useful when co
pip install .[test]
```

If you want to overwrite the `settings.ini` file when reinstalling, you need to set the environmental variable `OVERWRITE_SETTINGS` to `True`:

```sh
OVERWRITE_SETTINGS=True pip install .[test]
```

Once installed, the CLI application will be available from the terminal.

# Configuration

Installing this application will also generate a `settings.ini` file in `$HOME/.mars/`.

```
[logging]
log_level = ERROR
log_file = /my/logging/directory/.mars/app.log
log_max_size = 1024
log_max_files = 5
```

## Logging

The MARS-CLI will automatically log events to a `.log` file.

__log_level__: The verbosity of logging can be set to three different levels
- CRITICAL: Only critical messages will be logged. __Not recommended!__
- ERROR: Errors and critical messages will be logged.
- WARNING: Warnings, errors and critical messages will be logged.
- INFO: All events are logged.
- DEBUG: For debugging purpose only. __Not recommended as it might log more sensitive information!__
The default setting is ERROR. So only errors are logged!

__log_file__: The path to the log file. By default this will be in `$HOME/.mars/app.log`.

__log_max_size__: The maximum size in kB for the log file. By default the maximum size is set to 1024 kB or 1 MB.

__log_max_files__: The maximum number of old log files to keep. By default, this is set to 5


# Extending BioSamples' records
The Python script ``biosamples-externalReferences.py`` defines a class BiosamplesRecord for managing biosample records. This class is designed to interact with the BioSamples database, allowing operations like fetching, updating, and extending biosample records.
The script takes in a dictionary of BioSamples' accessions and their associated external references, and expands the former with the latter.